Терминал Linux. Команды просмотра текстовых файлов.
В этой статье рассмотрим команды просмотра текстовых файлов в терминале Linux.

Комментирование приветствуется.

Команды постраничного просмотра текстовых файлов less и more.

Для того, чтобы просмотреть огромный текстовый файл применяются команды для постраничного просмотра. Такие как more и less.

Команда more.

В общем виде команда more выглядит следующим образом:

more <путь_к_файлу/имя_файла>

Откроем для просмотра текстовый файл:

more less.txt

Команда more

Теперь можно управлять просмотром текста с помощью нажатия следующих кнопок на клавиатуре:

SPACEПереместиться на одну страницу вниз
ENTERПереместиться на одну строку вниз
dПереместиться на полстраницы вниз
bПереместиться на одну страницу вверх
hПомощь
qВыход

У команды more есть и опции.

Если мы хотим читать текст по определенному количеству строк, то указываем - (тире/минус) и количество строк:

more -5 less.txt

Команда more

Если хотим начать чтение с определенной строки, то указываем + (плюс) и номер строки, с которой нужно начать чтение:

more +5 less.txt

Команда more

У команды more очень много недостатков. Нельзя читать текст вверх, только вниз. Текст остается в терминале после просмотра. Поэтому и была разработана less.

Команда less.

Просто совет, забудьте, что есть такая команда, как more и используйте less.

В общем виде команда less выглядит следующим образом:

less <путь_к_файлу/имя_файла>

Откроем текстовый файл для просмотра:

less less.txt

Команда less

Сразу стоит упомянуть, что less умеет всё тоже, что и more. Поэтому не буду повторяться с опциями, которые позволяют начать чтения с определенной строки и количество строк на страницу.

Кнопки для управления просмотра текста:

стрелка_вверхПереместиться на одну строку вверх
стрелка_внизПереместиться на одну строку вниз
PageUpПереместиться на одну страницу вверх
PageDownПереместиться на одну страницу вниз
SPACEПереместиться на одну страницу вниз
ENTERПереместиться на одну строку вниз
dПереместиться на полстраницы вниз
bПереместиться на одну страницу вверх
hПомощь
qВыход

Удобно искать слова в тексте.

Поиск текста вниз.

Просто набираем слеш / и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.

Команда less

Обратный поиск.

Просто набираем ? (знак вопроса) и вводим любой текст для поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N – переход к предыдущему найденному тексту.

Команда less

Для перехода в начало документа используется клавиша g, для перехода в конец документа - G. Кроме того, мы можем перейти на определенную строку введя число и g, к примеру, 50g переведет нас на 50 строку.

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

Для того, чтобы отобразить номера строк в файле, можно указать опцию -N или ввести её прямо во время просмотра:

Команда less

Кроме того, команды less и more можно использовать для просмотра стандартных потоков вывода (подробнее о них в 3-ей статье). Для этого нужно указать в конце команды: | less или | more.

К примеру, хотим просмотреть список установленных приложений постранично:

apt list --installed | less -10

Команда less

При просмотре стандартного потока вывода, как в команде выше, если нажать s, то можно сохранить этот просматриваемый поток вывода в файл.

Ну и последнее, что хочется упомянуть, что если нажать F, то курсор будет переведён в конец файла и будет ожидание добавления новых строк (аналогично команде tail -f).

Команды head и tail.

Как не трудно догадаться по названиям (легко запомнить), то команда head отображает "голову" текстового файла, а tail - его "хвост". Они очень простые в использовании, давайте рассмотрим их более подробнее.

Команда head.

Выполнение команды head выведет первые 10 строк текстового файла, в общем виде выглядит следующим образом:

head [опции] <путь_к_файлу/имя_файла>

Давайте выведем первые 10 строк:

head error.log

Команда head

Если мы хотим вывести определенное количество строк (вместо 10 по умолчанию) с начала текстового файла, то укажем опцию - (тире/минус) и количество строк:

head -12 error.log

Команда head

Команда tail.

Если команду head мне не приходилось использовать никогда, то команда tail очень нужная и очень часто используется.

Выполнение команды tail выведет последние 10 строк файла, в общем виде выглядит следующим образом:

tail [опции] <путь_к_файлу/имя_файла>

Давайте выведем последние 10 строк:

tail error.log

Команда tail

Если хотим вывести определение количество строк с конца текстового документа, то нужно указать опцию (как и в случае с heaf) - (тире/минус) и количество строк:

tail -5 error.log

Команда tail

Либо -n и количество строк. Если указывать другие опции, помимо количества строк, то нужно использовать именно эту конструкцию:

tail -n 5 error.log

Команда tail

Данная команда tail очень полезна, если нужно смотреть текстовый файл, в частности файл лога, в который добавляются новый строки. То есть, смотреть изменение файла в реальном времени. Например, работает у вас какое-то серверное приложение и вам надо отслеживать ошибки лога. В этом случае, нужно к команде tail добавить опцию -f:

tail -f error.log

Команда tail

Команда не завершается и если в этот текстовый файл добавятся другие строки, то мы увидим их.

C опцией -f можно указать количество строк -n:

Команда tail

Очень часто использую её для просмотра логов в режиме реального времени.

Команды cat и tac.

Команда cat.

Команда cat используется для просмотра текстового файла полностью. В основном, для просмотра небольших текстовых файлов, например, каких-либо конфигурационных файлов.

В общем виде выглядит следующим образом:

cat [опции] <путь_к_файлу/имя_файла>

Например:

cat test1

Команда cat

Чтобы отобразить номера строк, нужно использовать опцию -n:

cat -n file.txt

Команда cat

С помощью перенаправления стандартного потока вывода мы можем делать интересные вещи.

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

cat test1 > test3

Команда cat

Можно добавить текст из одного файла в другой:

cat test2 >> test3

Команда cat

Можно объединить несколько файлов в один:

cat test1 test2 > test4

Команда cat

Как упоминалось выше, |less и |more можно использовать для просмотра стандартных потоков вывода. Команда cat не исключение:

cat less.txt | less

Команда tac.

Команда tac - это тоже самое, что и cat, только отображает строки в обратном порядке.

tac [опции] <путь_к_файлу/имя_файла>

Для лучшего понимания, о чём идёт речь, просто посмотрите на следующий скриншот:

Команда tac

Вот и всё.


Комментарии отключены