Основные команды текстовой строки в linux

Стандартные потоки ввода и вывода в Linux являются одним из наиболее распространенных средств для обмена информацией процессов, а перенаправление >, >> и | является одной из самых популярных конструкций командного интерпретатора.

Расшифровка значений индикаторов команды top

Нагрузка на процессор (CPU) это первые два значения:

Cpu(s): 31.7%us, 4.2%sy, 0.0%ni, 54.4%id, 9.2%wa, 0.2%hi, 0.4%si, 0.0%st

Кнопка «1» выведет нагрузку по каждому из процессоров.

PID — id процесса USER — пользователь запустивший процесс PR — приоритет процесса NI — nice процесса VIRT — количество памяти, которое может использовать программа RES — потребление физической памяти SHR — размер потенциальной памяти, которая может быть задействована совместно с другими программами

S — состояние процесса:

S — завершен D — ожидание R — выполняется T — остановлен Z — зависCPU — использование ресурсов центральным процессором MEM — использование оперативной памяти сервера TIME+ — время работы процесса COMMAND — название процесса

Клавиша «С» отобразит в строке COMMAND ключи с которыми запущены процессы.

Клавиша «Q» — выйти из команды Top.

Стандартная ошибка

Стандартная ошибка записывает ошибки, возникающие в ходе исполнения программы. Как и в случае стандартного вывода, по умолчанию этот поток выводится на терминал дисплея.

Пример

Рассмотрим пример стандартной ошибки с помощью команды ls, которая выводит список содержимого каталогов.

При запуске без аргументов ls выводит содержимое в пределах текущего каталога.

Читайте также:  Консольные команды Linux — справочник с примерами

Введем команду ls с каталогом % в качестве аргумента:

В результате должно выводиться содержимое соответствующей папки. Но так как каталога % не существует, на дисплей терминала будет выведен следующий текст стандартной ошибки:

ls: cannot access %: No such file or directory

Перенаправление потока

Linux включает в себя команды перенаправления для каждого потока.

Команды со знаками > или < означают перезапись существующего содержимого файла:

  • > — стандартный вывод
  • < — стандартный ввод
  • 2> — стандартная ошибка

Команды со знаками >> или << не перезаписывают существующее содержимое файла, а присоединяют данные к нему:

  • >> — стандартный вывод
  • << — стандартный ввод
  • 2>> — стандартная ошибка

Пример

В приведенном примере команда cat используется для записи в файл file1, который создается в результате цикла:

cat > file1abc

Для завершения цикла нажмите сочетание клавиш Ctrl + D.

Если файла file1 не существует, то в текущем каталоге создается новый файл с таким именем.

Для просмотра содержимого файла file1 введите команду:

cat file1

В результате на дисплей терминала должно быть выведено следующее:

abc

Для перезаписи содержимого файла введите следующее:

cat > file1123

Для завершения цикла нажмите сочетание клавиш Ctrl + D.

В результате на дисплей терминала должно быть выведено следующее:

123

Предыдущего текста в текущем файле больше не существует, так как содержимое файла было переписано командой >.

Для добавления нового текста к уже существующему в файле с помощью двойных скобок >> выполните команду:

cat >> file1abc

Для завершения цикла нажмите сочетание клавиш Ctrl + D.

Откройте file1 снова и в результате на дисплее монитора должно быть отражено следующее:

123abc

Входной и выходной потоки.

Оболочка Linux поддерживает три потока:

Читайте также:  Bash Scripting: руководство по созданию

1) стандартный входной поток (стандартный ввод) информация, например, введенная с клавиатуры соответствует дескриптору (идентификатору) 0 и сокращение «stdin»;

2) стандартный выходной поток (стандартный вывод) данные выводятся на терминал соответствуют дескриптору (идентификатору) 1 и сокращение «stdout»;

3) стандартный поток ошибок соответствует дескриптору (идентификатору) 2 и сокращение «stderr».

«|» — передача выходных данных одной команды на вход другой команды.

Символ «|» перенаправляет «stdout» так, что он соединяется с потоком «stdin» следующей команды.

Linux команды консоли для работы с текстом

19. more / less

Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.

20. head / tail

Ещё одна пара, но здесь у каждой команды своя область применения. Head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от f ollow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.

Читайте также:  Как установить Linux: подробнейшая инструкция

21. grep

Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.

22. sort

Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (N umeric), по числовому значению, и -r (R everse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.

23. wc

Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов.

24. diff

Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а».

Кстати, я подготовил ещё одну подробную статью, в которой описан именно c помощью терминала.