- Как просмотреть конец файла в Linux с помощью команды Tail
- Пример использования
- Как указать количество отображаемых строк
- Как контролировать файл журнала
- Как повторить команду на хвост
- Резюме
- Просмотр содержимого файлов в командной строке Linux
- Команда cat
- Команда nl
- Команда less
- Команда more
- Команда head
- Команда tail
- Заключение
- COREUTILS. Команда tail и команда head.
- Команда tail
Как просмотреть конец файла в Linux с помощью команды Tail
В Linux есть две очень полезные команды, которые позволяют вам увидеть часть файла. Первая называется head и по умолчанию показывает первые 10 строк в файле. Вторая – это команда tail , которая по умолчанию позволяет просматривать последние 10 строк в файле.
Почему вы хотите использовать любую из этих команд? Почему бы просто не использовать команду cat для просмотра всего файла или использовать редактор, такой как nano?
Представьте, что файл, который вы читаете, содержит 300 000 строк. Представьте также, что файл занимает много места на диске.
Обычное использование команды head – убедиться, что файл, который вы хотите просмотреть, действительно является правильным файлом. Обычно вы можете определить, смотрите ли вы правильный файл, просто увидев первые несколько строк. Затем вы можете использовать редактор, такой как nano, для редактирования файла.
Команда tail полезна для просмотра последних нескольких строк файлов и очень хороша, когда вы хотите увидеть, что происходит в файле журнала, который находится в папке/var/log.
Это руководство покажет вам, как использовать команду tail, включая все доступные коммутаторы.
Пример использования
Как упоминалось ранее, команда tail по умолчанию показывает последние 10 строк файла.
Синтаксис для команды tail следующий:
Например, чтобы просмотреть журнал загрузки вашей системы, вы можете использовать следующую команду:
Результат будет примерно таким:
* Запуск включения оставшихся во время загрузки зашифрованных блочных устройств [OK]
* Запуск сохранения журнала udev и обновление правил [OK]
* Остановка сохранения журнала udev и обновление правил [OK]
* речевой диспетчер отключен; edit/etc/default/speech-dispatcher
* Дополнения VirtualBox отключены, а не на виртуальной машине
отключены; редактировать/etc/default/saned
* Восстановление состояния распознавателя … [OK]
* Остановка совместимости с уровнями выполнения System V [OK]
* Запуск MDM Display Manager [OK]
* Остановка Отправьте событие, чтобы указать, что Плимут работает [OK]
Как указать количество отображаемых строк
Может быть, вы хотите увидеть больше, чем последние 10 строк файла. Вы можете указать количество строк, которые вы хотите видеть, используя следующую команду:
Приведенный выше пример покажет последние 20 строк файла.
Кроме того, вы можете использовать переключатель -n , чтобы также указать начальную точку в файле. Возможно, вы знаете, что первые 30 строк в файле являются комментариями, и вы просто хотите увидеть данные в файле. В этом случае вы должны использовать следующую команду:
Команда tail часто используется вместе с командой more , чтобы вы могли прочитать файл на странице за раз.
Приведенная выше команда отправляет последние 20 строк из имени файла и передает его в качестве входных данных команде more:
Вы также можете использовать команду tail, чтобы показать определенное количество байтов вместо строк:
Опять же, вы можете использовать тот же переключатель, чтобы начать показ с определенного номера байта следующим образом:
Как контролировать файл журнала
Есть много сценариев и программ, которые не выводятся на экран, но добавляют к файлу журнала во время работы.
В этом случае вы можете отслеживать файл журнала по мере его изменения. Вы можете использовать следующую команду tail, чтобы проверить, как меняется журнал каждые несколько секунд:
Вы также можете использовать tail для продолжения мониторинга журнала до тех пор, пока процесс не завершится следующим образом:
Чтобы найти идентификатор процесса для процесса, вы можете использовать следующую команду:
Например, представьте, что вы редактируете файл, используя nano. Вы можете найти идентификатор процесса для nano, используя следующую команду:
Вывод команды даст вам идентификатор процесса. Представьте, что идентификатор процесса – 1234.
Теперь вы можете запустить tail для файла, редактируемого nano, используя следующую команду:
Каждый раз, когда файл сохраняется в nano, команда tail подбирает новые строки внизу. Команда останавливается только тогда, когда нано-редактор закрыт.
Как повторить команду на хвост
Если при попытке запустить команду tail появляется ошибка, поскольку по какой-то причине она недоступна, вы можете использовать параметр retry , чтобы повторять попытки до тех пор, пока файл не станет доступен.
Это действительно работает только в сочетании с переключателем -F , так как вам нужно следить за файлом, чтобы повторить попытку.
Резюме
Чтобы узнать больше информации о команде tail, вы можете использовать следующую команду:
Вы заметите, что мы включили sudo в большинство команд. Это необходимо только в том случае, если у вас, как у обычного пользователя, нет прав на просмотр файла, и вам нужны повышенные разрешения.
Просмотр содержимого файлов в командной строке Linux
Рассмотрим несколько команд, которые используются для просмотра содержимого текстовых файлов в командной строке Linux.
Команда cat
Команда cat выводит содержимое файла, который передается ей в качестве аргумента.
Это самый простой и наиболее часто используемый способ для вывода содержимого текстовых файлов. Но выводить большие файлы через cat не всегда удобно.
Команда nl
Команда nl действует аналогично команде cat , но выводит еще и номера строк в столбце слева.
Команду nl удобно применять для просмотра программного кода или поиска строк в файлах конфигурации.
Команда less
Утилита less выводит содержимое файла, но отображает его только в рамках текущего окна в режиме просмотра.
Вы можете прокручивать текст файла клавишами стрелок или перелистывать страницы клавишами w и z .
Для поиска текста внутри файла нажмите / .
Для просмотра списка доступных горячих клавиш нажмите h
Чтобы выйти из режима просмотра используется клавиша q .
Очень удобно, что после выхода окно терминала остается чистым и не содержит текст файла.
Команда more
Команда more очень похожа на команду less . Она также выводит файл в терминале в режиме просмотра, но имеет некоторые отличия от команды less.
Например, less в конце файла выводит сообщение (END) (или EOF — End Of File) и ожидает нажатия клавиши q чтобы закрыть режим просмотра, а more по достижении конца файла сразу возвращает управление в терминал.
Также more после своей работы оставляет текст файла в терминале, а less работает «чисто» и не сохраняет текст в терминале.
Команда head
Команда head выводит на экран только первые 10 строк файла.
Используя опцию -n можно задать количество строк, которое нужно вывести. Например, чтобы вывести 15 строк используется команда:
Вместо -n можно просто использовать знак минус — , за которым сразу указывается количество строк.
Команда tail
Команда tail аналогична команде head , но выводит последние 10 строк файла.
Заключение
Команды, которые мы рассмотрели, имеют дополнительные возможности и области применения. Для получения справки по каждой команде можно воспользоваться Man-страницами.
man cat man nl man less man more man head man tail
COREUTILS. Команда tail и команда head.
Команда head позволяет вывести начало текстового файла. Чтобы это сделать просто наберите в консоли «head» и передайте ей в качестве аргумента текстовый файл:
Такая конструкция выведет нам первые 10 строк файла /etc/group. Если вы хотите, можно попросить head выводить больше строк при помощи ключа «-n»:
Данная команда выведет превые 20 строк файла /etc/group. Вопрос, сколько выводить информации, может также быть указан не только в строках, но еще и в байтах:
Такая команда выведет уже только первые 100 байт файла /etc/group
Команда tail
Команда tail в противовес команде head позволяет вывести только конец текстового файла. Чтобы это сделать просто наберите в консоли «tail» и передайте ей в качестве аргумента текстовый файл:
Такая конструкция выведет нам последние 10 строк файла /etc/group. Так же, как и с head, если вы хотите, можно попросить tail выводить больше строк при помощи ключа «-n»:
Данная команда выведет последние 20 строк файла /etc/group. Вопрос, сколько выводить информации, может также быть указан не только в строках, но еще и в байтах:
tail -c 100 /etc/group head -c 100 /etc/goup
Такая команда выведет уже только последние 100 байт файла /etc/group
Исключительно полезным оказывается ключ «-f» команды tail. Он ползволяет, что называется, онлайн следить за добавлением в текстовый файл новых записей. Команда
tail -f /var/log/apache/error.log
откроет сессию, в реальном времени отображающую все поступающие изменения в текстовый файл. Это оказывается очень удобным для просмотра log-файлов какой-нибудь программы для поиска ошибок в её работе. Чтобы завершить сессию, нажмите комбинацию клавиш Ctrl+C