В Linux есть две очень полезные команды, которые позволяют вам увидеть часть файла. Первая называется head и по умолчанию показывает первые 10 строк в файле. Вторая — это команда tail, которая по умолчанию позволяет вам просматривать последние 10 строк в файле.
Почему вы хотите использовать любую из этих команд? Почему бы просто не использовать команду cat для просмотра всего файла или использовать редактор, такой как nano ?
Представьте, что файл, который вы читаете, содержит 300 000 строк. Представьте также, что файл занимает много места на диске.
Обычное использование команды head — убедиться, что файл, который вы хотите просмотреть, действительно является правильным файлом. Обычно вы можете определить, смотрите ли вы правильный файл, просто увидев первые несколько строк. Затем вы можете использовать редактор, такой как nano, для редактирования файла.
Команда tail полезна для просмотра последних нескольких строк файлов и очень хороша, когда вы хотите увидеть, что происходит в файле журнала, который находится в папке / var / log .
Пример использования
Команда tail по умолчанию показывает последние 10 строк файла.
Синтаксис для хвостовой команды следующий:
хвост <имя файла>
Например, чтобы просмотреть журнал загрузки вашей системы, вы можете использовать следующую команду:
хвост sudo /var/log/boot.log
Вывод будет примерно таким:
Как указать количество отображаемых строк
Укажите количество строк, которые вы хотите видеть, используя следующую команду:
sudo tail -n20 <имя файла>
Приведенный выше пример покажет последние 20 строк файла.
Кроме того, вы можете использовать ключ -n, чтобы указать начальную точку в файле. Возможно, вы знаете, что первые 30 строк в файле являются комментариями, и вы просто хотите увидеть данные в файле. В этом случае вы должны использовать следующую команду:
хвост sudo -n + 20 <имя файла>
Команда tail часто используется вместе с командой more, чтобы вы могли читать файл на странице за раз.
Например:
хвост sudo -n + 20 <имя файла> | Больше
Приведенная выше команда отправляет последние 20 строк из имени файла и передает его в качестве ввода в команду more.
Вы также можете использовать команду tail, чтобы показать определенное количество байтов вместо строк:
sudo tail -c20 <имя файла>
Используйте тот же переключатель, чтобы начать показ с определенного номера байта следующим образом:
хвост sudo -c + 20 <имя файла>
Как контролировать файл журнала
Вы заметите, что мы включили sudo в большинство команд. Это включение необходимо только в том случае, если у вас, как у обычного пользователя, нет прав на просмотр файла, и вам нужны повышенные разрешения.
Многие сценарии и программы не выводятся на экран, а добавляются в файл журнала во время работы. Используйте следующую команду tail, чтобы проверить, как меняется журнал каждые несколько секунд:
хвост sudo -F -s20 <имя файла>
Вы также можете использовать tail для продолжения мониторинга журнала до тех пор, пока процесс не прекратит работу следующим образом:
хвост sudo -F --pid = 1234 <имя файла>
Чтобы найти идентификатор процесса, вы можете использовать следующую команду:
ps -ef | grep <имя программы>
Например, представьте, что вы редактируете файл, используя nano. Вы можете найти идентификатор процесса для nano, используя следующую команду:
ps -ef | гре нано
Вывод команды даст вам идентификатор процесса. Представьте, что идентификатор процесса — 1234. Теперь вы можете запустить tail для файла, редактируемого nano, с помощью следующей команды:
хвост sudo -F --pid = 1234 <имя файла>
Каждый раз, когда файл сохраняется в nano, команда tail подбирает новые строки внизу. Команда останавливается только тогда, когда нано-редактор закрыт.
Как повторить команду на хвост
Если при попытке запустить команду tail появляется ошибка, потому что она по какой-то причине недоступна, вы можете использовать параметр retry, чтобы повторять попытки до тех пор, пока файл не станет доступен.
хвост судо --retry -F <имя файла>
Это действительно работает только в сочетании с ключом -F , так как вам нужно следить за файлом, чтобы повторить попытку.
Резюме
Чтобы узнать больше информации о команде tail, вы можете использовать следующую команду:
мужской хвост