- Linux постраничный вывод консоль
- Как управлять выводом на экран.
- Как перезагрузить или выключить компьютер.
- Управление задачами (процессами).
- Команда kill
- Команды nice и renice
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Работа с текстовыми выводами в Linux
- Команда cat
- Команда cut
- Команда expand
- Команда fmt
- Команда head
- Команда od
- Команда join
- Команда less
- Команда nl
- Команда paste
- Команда pr
- Команда sed
- Команда sort
- Команда split
- Команда tail
- Команда tr
- Команда unexpand
- Команда uniq
- Команда wc
Linux постраничный вывод консоль
    Когда вы регистрируетесь в системе Linux, выполняется проверка имени пользователя и пароля, определяется набор переменных окружения и запускается интерпретатор команд, который чаще называют оболочкой . В большинстве дистрибутивов Linux по умолчанию применяются оболочки sh или bash . Существуют и другие оболочки, однако они менее распространены, но при необходимости можно легко сменить оболочку по умолчанию, или запускать ее из командной строки по мере надобности.
    Команда Linux — это строка символов из имени команды и аргументов, разделенных пробелами. Аргументы предоставляют команде дополнительные параметры, определяющие ее поведение. Например, команда
echo 12345
выведет на экран строку символов 12345, введенных в качестве аргумента команды.
Команды, являющиеся частью оболочки называются встроенными. Естественно, они могут отличаться для различных оболочек. Но есть и команды, не зависящие от используемой оболочки, и представляющие собой отдельные программные модули, стандартные для выбранного вами дистрибутива Linux. В качестве аргументов командам передаются ключи или опции, состоящие из тире и одного или нескольких символов. Пример такой команды:
ls -l
При использовании нескольких ключей, их можно объединить. Ниже приведенные варианты команд идентичны :
ls -l -d
ls -ld
    При работе в командной строке Linux необходимо придерживаться некоторых правил.
    Во-первых, не забывайте, что строчные и заглавные буквы для Linux — это разные символы. В Windows каталог TEMP и каталог Temp — это один и тот же каталог, в Linux — это два разных. Это же касается команд, их ключей, имен пользователей ,паролей и т.п. Консольные команды
ps -a
и
ps -A
выдадут вам разные результаты.
    Во-вторых, практически по всем командам можно получить справку, задав в командной строке ключ —help .
ps —help       выдаст вам справку по команде ps ( работа со списком процессов).
  По многим командам можно получить дополнительную справку при использовании man — встроенной справочной системы.
man ps     — выдаст подробную информацию по команде ps
    В-третьих, результат некоторых команд зависит от ваших прав в системе. Для получения прав root используйте команду su. Эта команда позволяет сменить текущего пользователя. Если пользователь не задан, то подразумевается root.
  Для начинающего линуксоида (и не только начинающего) большим подспорьем может стать и файловый менеджер mc , очень похожий на FAR или Norton Commander. Сейчас он включается практически во все дистрибутивы Linux, хотя по умолчанию не всегда устанавливается. Очень рекомендую установить.
Как управлять выводом на экран.
  Для просмотра текста, ушедшего за пределы видимости экрана используются комбинации клавиш SHIFT и PAGE UP или PAGE DOWN (в зависимости от направления просмотра).
Для приостановки вывода на экран — CTRL-S , отмена приостановки — CTRL-Q
 Для вывода большого объема текста на экран в постраничном режиме используется команда less , в цепочке с основной командой. Объясню на примере. Пусть у нас есть текстовый файл mytxt размером на 10 экранов. Для вывода текста на экран (стандартный вывод) можно воспользоваться командой cat
cat mytxt
После выполнения этой команды вы увидите быстро промелькнувший текст и последний (десятый) экран вывода. Можно, конечно, воспользоваться комбинациями клавиш SHIFT-PAGEDOUN или SHIFT-PAGEUP для просмотра текста, но можно воспользоваться и less .
cat mytxt | less
Символ | означает объединение в цепочку выполнения команды выдачи текста cat и команды управления постраничным выводом less . В результате, после отображения на экране первой страницы текста , вывод будет приостановлен до нажатия
PAGE DOWN или ENTER (построчное перемещение). Для завершения постраничного вывода нажмите клавишу Q .
  В цепочки можно объединять несколько команд. Например, вам понадобилось вывести на экран в постраничном режиме все строки, содержащие слово mail. Для поиска можно воспользоваться командой
grep
Итоговая цепочка из трех команд:
cat mytxt | grep mail | less
  Для большинства дистрибутивов Linux вместо less можно использовать more .
Иногда удобно использовать одновременно несколько терминалов, переключаясь между ними (например смотрите логи в одном окне и правите конфигурационный файл в другом).
Для переключения используется комбинация клавиш CTRL — ALT — F1. F6 (от первого терминала до 6-го). Для переключения в графическую оболочку используется CTRL-ALT-F7 .
Чтобы запустить еще один графический сервер на этом же компьютере, используйте команду startx 1 — :1 . Чтобы перейти во второй графический терминал, нажмите Alt+F8 . , а чтобы вернуться в первый — Alt+F7 . Таким образом можно открывать до 64 графических терминалов. (startx 2 — :2 и т.д).
Для завершения сеанса работы с терминалом используется команда exit .
    Вы можете создать журнал своей консольной сессии, в котором будет отображено все, что вы вводили с клавиатуры, и все, что выдавалось на экран терминала.
Для этого используется команда
Чтобы прекратить запись в журнал введите exit .
Как перезагрузить или выключить компьютер.
  Одно и то же действие в Linux часто можно выполнить несколькими способами. Стандартно для перезагрузки или выключения компьютера используется shutdown . Команда имеет много опций, позволяющих выполнить перезагрузку в определенное время, быструю перезагрузку без проверки файловой системы, имитировать и отменять уже запущенный (ждущий своего времени) процесс перезагрузки.
Полный список опций можно получить по shutdown —help
Для немедленной перезагрузки (restart) команда будет выглядеть так:
shutdown -r now
  Для выключения питания (halt):
shutdown -h now
В большинстве дистрибутивов можно использовать короткие команды:
reboot — перезагрузка
halt — выключение
Можно также воспользоваться изменением уровня запуска системы командой init , позволяющей управлять запуском и завершением процессов в системе с использованием скриптов, хранящихся в /etc/inittab. Уровень 0 — выключение, уровень 6 — перезагрузка. Соответственно
для выключения:
init 0
для перезагрузки:
init 6
Команду init можно использовать для изменения уровней запуска системы.
Уровни:
1 — Однопользовательский режим. Доступ разрешен пользователю root.
2 — Многопользовательский режим без поддержки сетевых функций.
3 — С поддержкой сети.
4 — Зарезервировано.
5 — С использованием графической оболочки.
    Если вам нужно завершить графическую оболочку (например, инсталляция некоторых приложений требует ее закрытия) введите:
    Графическая оболочка закроется и система перейдет на уровень запуска 3. Для возврата на уровень 5 введите:
    Уровень запуска системы по умолчанию определяется значением initdefault из /etc/inittab. Для запуска системы с поддержкой графической оболочки она выглядит так:
id:5:initdefault:
Если 5 заменить на 3, то графическая оболочка при старте системы запускаться не будет. И для любителей опасных экспериментов — не стоит устанавливать уровень запуска 0 и 6 в качестве уровня по умолчанию. Думаю, понятно почему.
Управление задачами (процессами).
    Посмотреть список задач в Linux можно с помощью команды ps. Если ее запустить без всяких параметров, то она выдает список процессов, запущенных в текущем сеансе пользователя. Полный список опций можно получить стандартно — выполнив ps —help
. Примеры использования:
ps -A — выдаст список процессов с идентификаторами ( PID ) и их именами
или:
ps -ax — выдаст тот же список процессов, но с полной строкой запуска
ps -U user
ps T
ps t ttyN
ps -U root | grep ppp — выдать список задач, содержащих «ppp» в имени
    Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top
В верхней части окна выводятся суммарные данные о состоянии системы — текущее время, время с момента загрузки системы, число пользователей в системе, число процессов в разных состояниях, данные об использовании процессора и памяти.
Ниже выводится таблица, характеризующая отдельные процессы. Число строк, отображаемых в этой таблице, определяется размером окна. Содержимое окна обновляется каждые 3 секунды. Нажатие клавиши h выводит справку по командам, которые позволяют изменить формат отображаемых данных и управлять некоторыми параметрами процессов в системе:
    Однако, есть и более полезные команды, которые позволяют управлять процессами в интерактивном режиме:
    Для выхода из top нажмите q
Команда kill
    Эти же действия (принудительное завершение процесса и изменение его приоритета) можно выполнить и без команды top.
    Процессы в Linux имеют возможность обмениваться так называемыми «сигналами» с ядром и другими процессами. При получении сигнала процессом, управление передается подпрограмме его обработки, или ядру, если такой подпрограммы нет. В Linux имеется команда kill, которая позволяет послать заданному процессу любой сигнал. Список сигналов можно получить по команде:
kill -l
В результате выполнения этой команды вы увидите список номеров и названий сигналов. Для того, чтобы послать определенный сигнал выбранному процессу, нужно ввести:
kill номер PID выбранного процесса
Например, нам нужно завершить работу приложения Midnight Commander (mc).
ps -A | grep mc
Пусть PID= 11597.
kill -3 11597
После чего процесс mc обработает сигнал GIGQUIT и нормально завершится. Однако, если mc «завис», то, естественно, завершиться он не сможет, поскольку подпрограмма обработки сигнала SIGQUIT не получит управления. В таких случаях используется сигнал под номером 9 (SIGKILL), обрабатываемый ядром операционной системы, и принудительно завершающий указанный процесс:
kill -9 11597
Если в команде kill номер сигнала не задан, то используется SIGKILL, т.е предыдущую команду можно было ввести как kill PID:
kill 11597
    При завершении процесса завершаются и порожденные им процессы.
    Для завершения процесса по имени используется команда killall:
killall mc — завершить процесс, в имени которого есть «mc»
killall -u user — завершить процессы, порожденные пользователем user
Команды nice и renice
    Для изменения приоритета процессов используются команды nice и renice. При запуске процесса, его приоритет задается значением родительского процесса, например, терминала xterm или командной оболочки shell. Команда nice позволяет запустить процесс с приоритетом, равным сумме родительского (например 8) и числа, задаваемого в качестве опции команды nice:
nice — команда
nice -4 mc — запустит mc с приоритетом = 8+4=12
Команда renice используется для изменения приоритета уже запущенного процесса:
renice -p PID
renice 4 -p 11597 — установить значение приоритета для процесса mc (PID=11597) равным 4.
После выполнения, renice выдаст строку результата:
11597: old priority 12, new priority 4 — старый приоритет 12, новый приоритет 4
Задание нулевого и отрицательного числа приоритета возможно только с правами root.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Работа с текстовыми выводами в Linux
10 минут чтения
Цель стати разобраться с текстовыми потоками. А также рассмотреть фильтрование текстовых выводы логов их редактирование, журналов сообщений и т.д. Проще говоря, рассмотреть фильтрация и корректировка выводимого на экран текста. Текстовый поток так называется, потому что это выводимая информация может быть не просто статичный текстовый файл, а те текстовые файлы, которые постоянно меняются или дополняются в режиме реального времени.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Список стандартных команд, которые понадобятся для достижения цели:
Для начала создадим пару текстовых файлов. Переходим в домашнюю корневую папку пользователя root. Переключение пользователя sudo su , и cd
. В любом текстовом редакторе создаем 2 файла hello1.txt и hello2.txt с содержанием как на скриншотах.
Первый. И второй ниже.
Команда cat
Начнем с команды, с которой уже не однократно встречались, команда cat. Сначала посмотрим справку по данной команде. man cat . Тут мы можем увидеть, что данная команда предназначена для объединения файлов и печати на стандартный вывод информации. Под стандартным выводом подразумевается вывод на консоль информации. Так же можно увидеть, что у данной команды есть ключи.
Самое простое применение данной команды. Вводим cat hello1.txt команда показывает то, что на скриншоте выше.
Проведем маленький эксперимент и выведем сразу информацию из двух созданных файлов.
А в справке было написано, что команда может объединять содержимое файлов. Попробуем:
Мы вывели на стандартный вывод (консоль) содержимое файлов и передали то, что на экране в новый файл hello3.txt. А затем просто вывели на консоль. Результат можно посмотреть на скриншоте ниже.
Если нам файл более не нужен можно воспользоваться командой для удаления файлов
Команда cat более часто используется для объединения файлов, для просмотра содержимого чаще используются другие команды.
Команда cut
Данная команда предназначена для удаления секций из строчек файлов. Если посмотреть на ключи, то мы можем увидеть, что данная команда может удалять по различным признакам. По полям, по символам, по байтам, это интересная команда, которая позволяет нам вырезать части из файлов. Небольшой пример:
Данной командой мы говорим, что при выводе на экран нам необходимо «вырезать» перечисленные символы и вывести оставшееся на экран. Замечу, что команда cut не является текстовым редактором и поэтому фалы не правит! А только правит вывод в консоль. Если посмотреть командой cat hello1.txt файл остался неизменным.
Все команды, про которые речь в статье не редактируют исходные файлы, они только фильтруют или редактируют стандартный вывод информации. Для редактирования файлов используются текстовые редакторы.
Мы посмотрели, как данная команда редактирует вывод, на практике мы можем редактировать колонки, столбцы, вывода в каком-то конкретном логе или таблице. Т.е. мы можем выводить на экран только то, что нам нужно. Например, у нас есть лог события, какого-то, мы можем вывести только дату и события, остальное все лишнее отрезать данной командой в выводе.
Команда expand
Данная команда редко используется. Она необходима для конвертации символов табуляции в пробелы. Пример: expand hello2.txt и все табуляции превратились в пробелы. На практики редко применяемая команда.
Команда fmt
Как написано в мануале это текст форматер. Это серьезная команда, она умеет форматировать вывод текста различными способами.
Теперь посмотрим, как данной командой пользоваться.
Например, написать fmt hello1.txt , как вы видите команда сделала вывод в одну строчку. Следовательно, команда без указания ключа, команда игнорирует все символы переноса каретки.
Т.е. все «enter» и перехода на новую строку он убрал.
Мы можем сказать, чтобы команда отформатировала текст так. чтобы на одной строке не было не более 5 символов, но это без переносов, если первое слово на 20 символов он его не перенесет, а если 2 слова по 2 символа, то оба оставит на этой строке.
Ничего не произошло, а если мы дадим fmt w 10 hello1.txt , то мы видим, что команда осуществила перенос. Таким образом можно просматривать длинные логи в удобном для нас виде, т. к. лог может уходить очень далеко в сторону, а через данную команду мы можем разбить на удобные абзацы для нас.
Команда head
Показывает первую часть файлов. Очень удобная команда, для просмотра того, что было в начале файла. По умолчанию показывает первые 10 строк файла.
Для изменения, количества выводимых строк необходимо использовать ключ n и за ним указать необходимое количество строк.
Команда od
Превращает файлы в другие форматы. Грубо говоря это программа конвертор. Редко используется на практике.
Используя данную команду по умолчанию, мы можем превратить файл в восьмеричный код od hello1.txt . Или с использованием ключа c превратить в формат ASCII, od c hello1.txt . это может понадобится для конвертации файла, например для другой машины со специфичным форматом данных.
Команда join
Данная команда, объединяет строчки файлов по общему полю. Для того, чтобы понять, как работает данная команда необходимо создать 2 текстовых файла touch <1,2>.txt . Создаем сразу 2 файла 1.txt и 2.txt. И с помощью редактора nano редактируем. При применении команды join мы видим произошло объединение по полю нумерации.
Это удобно, например, для слияния файлов, особенно логов, например, два файла логов и вам необходимо их сопоставить по времени.
Команда less
В описании команды говорится, что эта команда противоположна команде more. По сути это команда, которая позволяет читать файл.
Можно посмотреть работу ее на примере. Например, cat /var/log/syslog при запуске этой, команды мы получим очень большой вывод на несколько экранов. Если мы воспользуемся командой less /var/log/syslog , то вывод даст возможность листать постранично, через pgdn. Согласитесь, это намного упрощает чтение и просмотр файла. Бывает такое, что работа идет в консоли, в которой нету прокрутки, через мышку, то в таком случае данная команда становится вообще не заменимой. Если посмотреть описание, данная команда еще умеет делать небольшой поиск по файлу.
Команда nl
Нумерация строк. Простой пример. Берем файл и говорим пронумеровать строки. На картинке наглядно показано, как работает команда.
Команда paste
Команда вставка умеет вставлять построчно вставлять какие-то строки в файлы. Объединяет строки файлов, как написано в мануале.
У нас есть 2 файла 1.txt и 2.txt. Команда join их объединяла по определенному полю. Если мы применим команду paste мы увидим, что команда paste объединила их построчно.
Т.е. это может быть очень удобно. У нас объединились первые строки, вторые строки и т.д. Например, если мы сопоставляем какие-нибудь события или файлы и т.д.
Команда pr
Данная команда конвертирует текстовые файлы для вывода на печать. Очень наглядно можно увидеть, как работает данная команда, если ее применить к большому файлу. Например, pr /var/log/syslog
Как можно убедится, команда разбила вывод на страницы и подготовила данный вывод для печати.
Команда sed
Потоковый редактор для фильтрации и трансформирования текста. Это практически полноценный текстовый редактор, но опять же он не редактирует файлы, а работает с выводом.
Как его использовать, пример следующий заменим в файле 2.txt слово socks на слово people получается примерно так:
Функционал у команды очень большой, вывод можно для себя очень сильно изменить, заменить слова, удалить, отредактировать, отрезать, добавить, все это можно делать с помощью данной команды. При этом содержимое файла не меняется. Меняется только для нас вывод.
Команда sort
Сортирует строки в файлах по какому-то признаку. Поработаем с файлом hello1.txt. Если мы применим команду к данному файлу sort hello1.txt, то мы увидим, что вывод отсортировал строчки по алфавиту. А если применить ключик r, то от сортируется в обратном порядке. Это удобно использовать так же в совокупности с другими командами, отсортировать лишнее.
Команда split
Данная команда бьет файл на куски. Даная команда работает следующим образом. Даная команда разбивает файл на части, но при этом исходный не меняет. Например разобьем по строчкам фал 1.txt. split -l 2 1.txt . Разбивку делаем на 2 строчки. И мы видим, что у нас исходный файл остался неизменным, а появилось еще 2 файла xaa и xab. Они как раз и содержат разбиение.
Данную команду удобно применять к большим файлам и использовать ключик для разбивки по размеру, например, по байтам b и указываем на какие куски разбить в байтах. Пример:
Команда tail
В отличии от команды head, данная команда показывает последнюю часть файла. Например, tail /var/log/syslog нам покажет последнюю часть лога событий.
Добавляем ключ -n и число, мы получим число последних событий, которых мы указали. Очень полезный ключ -f, который говорит показывать добавление в файл на «живую», т.е в реальном времени. Очень удобно для диагностики, события пишутся в лог и сразу выводится на экран. Например, запись лога прокси сервера. Прерывание такого режима ctr+C.
Команда tr
Переводит или удаляет символы. Посмотрим на прямом выводе текста. Введем echo Hello. Далее введем echo Hello | tr -t A-Z a-z и заглавные буквы будут заменены строчными. Echo Hello | tr -t l L и маленькие l будет заменены на L. Echo Hello | tr -d l и буквы l будут удалены.
Мощный трансформатор текста. Работает непосредственно с текстом, ключей у него полно их можно посмотреть в мануале.
Команда unexpand
Работает в противоположную сторону команде expand. Конвертирует пробелы в знаки табуляции.
Обычно работают в паре expand и unexpand, для раздвижения столбцов.
Команда uniq
Даная команда ищет уникальные и дублирующийся линии, т.е. она смотрит что у нас в строчках есть одинакового и разного. Для примера, я в файл 1.txt добавлю повторяющуюся строчку. И сделаю вывод uniq 1.txt команда покажет только уникальные строчки, а затем uniq c 1.txt и команда покажет строчки с числом повторений. Можно сказать, чтобы показала команда только дублирующиеся строчки uniq d 1.txt или неповторяющиеся uniq u 1.txt. Применение заключается в том. что если у нас есть файлы с повторяющееся информацией мы можем таким образом ее фильтровать.
Команда wc
Показывает число строк, байт, слов и т.д. для определенного файла. Например: wc 1.txt показывает 4 строки, 8 слов, 28 символов.
Можно использовать с ключом w покажет количество слов. И т.д., можно получить информацию полностью по папке:
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник