Вывод команды постранично linux

Обновлено: 03.07.2024

    Когда вы регистрируетесь в системе 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 в качестве уровня по умолчанию. Думаю, понятно почему.


Управление задачами (процессами).

    Для получения сведений об использовании ресурсов компьютера можно воспользоваться командой top

Выполнение команды top


Команда kill

    Для завершения процесса по имени используется команда 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.

Утилита more предназначена для постраничного просмотра файлов в терминале Linux. Своим названием она обязана надписи more (в русскоязычном варианте — дальше), появляющейся внизу каждой страницы.

Команда more linux — одна из самых примитивных команд для работы с текстом. Её ближайшая родственница — команда less — обладает куда большим набором опций и дополнительных возможностей. Давайте разберемся с её синтаксисом и примерами использования.

Синтаксис и опции more

В эмуляторе терминала Linux команда записывается так:

$ more опции файл

Список опций команды:

  • -d — вывод информации в конце страницы о клавишах, использующихся для продолжения работы, завершения её или получения инструкций;
  • -l — игнорирование в тексте символа разрыва страницы;
  • -f — подсчёт числа логических строк вместо экранных;
  • -p — очистка экрана терминала для того, чтобы пользователю не пришлось пользоваться прокруткой перед выводом следующей порции текста;
  • -c — устранение потребности в прокрутке (как и -p) — отображение текста, начиная с верха экрана, и стирание при этом предыдущего вывода построчно;
  • -s — замена нескольких пустых строк, расположенных подряд, одной пустой строкой;
  • -u — удаление подчёркивания;
  • -n — отображение n-го количества строк;
  • +n — отображение текста, начиная со строки с номером n;
  • +/строка — поиск в файле указанной строки и начало вывода текста именно с неё;
  • --help — вызов справки;
  • -v (--version) — вывод на экран текущей версии утилиты.

Также у команды more есть собственные горячие клавиши и интерактивные команды:

  • h (?) — помощь (вывод информации только об интерактивных командах);
  • ПРОБЕЛ — отображение следующей порции текста (по умолчанию количество строк зависит от текущего размера окна терминала);
  • z — то же, что и ПРОБЕЛ;
  • ENTER — вывод текста построчно (шаг команды — одна строка);
  • d (^D) — прокрутка текста на количество строк, соответствующее размеру терминала;
  • q (Q) — выход из утилиты;
  • s — переход на одну строку вперёд;
  • f — переход на одну экранную страницу вперёд;
  • b (^B) — переход на одну экранную страницу назад;
  • ' — возвращение к месту начала поиска;
  • = — отображение текущего количества строк;
  • /pattern — поиск с использованием регулярных выражений;
  • n — поиск слов и фраз, соответствующих последнему использованному регулярному выражению;
  • !command (:command) — выполнение команды в субоболочке;
  • v — открытие файла в текстовом редакторе, назначенном по умолчанию, а если таковой не найден, использование консольного текстового редактора для открытия файла;
  • ^L — удаление с экрана всего, кроме содержимого файла;
  • :n — переход к следующему файлу;
  • :p — переход к предыдущему файлу;
  • :f — вывод названия текущего файла и количества строк в нём;
  • . - повторное выполнение предыдущей команды.

Примеры использования more

Для того, чтобы просмотреть текст из файла, применяется команда:


Также в команде можно перечислить несколько имён файлов одно за другим, разделяя их пробелом. Содержимое этих файлов будет выведено в том же порядке. Пример:

more abc1.txt dfg2.txt


Если файл находится не в текущей директории, нужно указывать его полный адрес.

more +8 -5 example-file-for-more-command.txt

По умолчанию команда more Linux считает строкой именно экранную строку — количество символов, которое помещается в один ряд по ширине окна. Для выполнения счёта в логических строках (при наборе текста они разделяются нажатием Enter), используется опция -f. Пример:

more -f +8 -5 example-file-for-more-command.txt


Впрочем, more умеет работать не только с текстовыми файлами — в неё можно перенаправлять вывод других команд (конвейеризация). Первой указывается основная команда, второй — more с требуемыми опциями. Команды обязательно разделяются вертикальной чертой. Пример:

locate bin | more -10


Когда команда вывела часть текста и бездействует в ожидании дальнейших действий пользователя можно выполнять интерактивные команды. Они нужны для управления выводом.

Например, для того, чтобы узнать номер текущей строки, следует нажать клавишу =, а чтобы просмотреть файл в текстовом редакторе — клавишу v.


Следует заметить, что не все интерактивные команды могут быть выполнены, если в утилиту перенаправлен вывод другой команды. Открытие текстового редактора, как и переход на одну страницу назад (b или ^B) работает только при просмотре текстовых файлов.


Для того, чтобы получить список всех интерактивных команд, следует нажать клавишу h.

Выводы

Эта вполне подходит для выполнения наиболее тривиальных задач при просмотра текста. У неё простой синтаксис, мало опций и небольшое количество дополнительных возможностей для управления выводом, однако, иногда и этого набора более чем достаточно.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: