Як переглянути кінець файлу в Linux за допомогою команди "Tail".

Є дві дуже корисні команди Linux що дозволяє побачити частину файлу. Перший називається голова і за замовчуванням він показує вам перші 10 рядків у файлі. Другий – це хвіст команду, яка за замовчуванням дозволяє переглядати останні 10 рядків у файлі.

Чому ви хочете використовувати будь-яку з цих команд? Чому б просто не використати команда кішки щоб переглянути весь файл або скористатися редактором, наприклад нано?

Уявіть, що файл, який ви читаєте, містить 300 000 рядків. Уявіть також, що файл займає багато місця на диску.

Звичайне використання команди head полягає в тому, щоб переконатися, що файл, який ви хочете переглянути, справді є правильним файлом. Зазвичай ви можете зрозуміти, чи переглядаєте ви правильний файл, просто побачивши перші кілька рядків. Потім ви можете використовувати редактор, наприклад nano, для редагування файлу.

Команда tail корисна для перегляду останніх рядків файлів і дуже корисна, коли ви хочете побачити що відбувається у файлі журналу, що зберігається в папці /var/log.

Приклад використання

The хвіст Команда за замовчуванням показує останні 10 рядків файлу.

Синтаксис команди tail виглядає наступним чином:

хвіст. 

Наприклад, щоб переглянути журнал завантаження вашої системи, ви можете скористатися такою командою:

sudo tail /var/log/boot.log. 

Вихід буде приблизно таким:

Команда Linux tail

Як вказати кількість рядків для показу

Вкажіть кількість рядків, які ви хочете бачити, за допомогою такої команди:

sudo tail -n20. 

Наведений вище приклад показує останні 20 рядків файлу.

Довжина хвоста Linux

Як варіант, ви можете використовувати -n перемикач, щоб також указати початкову точку у файлі. Можливо, ви знаєте, що перші 30 рядків у файлі є коментарями, і ви просто хочете побачити дані у файлі. У цьому випадку слід використовувати таку команду:

sudo tail -n+20. 
Початкова точка хвоста Linux

Команда tail часто використовується поряд з більше команду, щоб ви могли читати файл по сторінці за раз.

Наприклад:

sudo tail -n+20 | більше. 

Наведена вище команда надсилає останні 20 рядків із імені файлу та передає їх як вхідні дані команді more.

Ви також можете використовувати команду tail, щоб показати певну кількість байтів замість рядків:

sudo tail -c20. 
Хвостові байти Linux

Використовуйте той самий перемикач, щоб почати відображення з певного номера байта, як показано нижче:

sudo tail -c+20. 

Як контролювати файл журналу

Ви помітите, що ми включили sudo у більшості команд. Це включення потрібне лише в тих випадках, коли ви, як звичайний користувач, не маєте дозволів на перегляд файлу, і вам потрібні підвищені дозволи.

Багато сценаріїв і програм не виводяться на екран, але додаються до файлу журналу під час роботи. Використовуйте наступне хвіст команда, щоб перевірити, як журнал змінюється кожні стільки секунд:

sudo tail -F -s20. 

Ви також можете використовувати хвіст, щоб продовжити моніторинг журналу, доки процес не завершується наступним чином:

sudo tail -F --pid=1234. 

Щоб знайти ідентифікатор процесу для процесу, ви можете використовувати таку команду:

ps -ef | grep. 

Наприклад, уявіть, що ви редагуєте файл за допомогою nano. Ви можете знайти ідентифікатор процесу для nano за допомогою такої команди:

ps -ef | grep nano. 

Результат команди дасть вам ідентифікатор процесу. Уявіть, що ідентифікатор процесу 1234. Тепер ви можете запустити tail для файлу, який редагується nano, за допомогою такої команди:

sudo tail -F --pid=1234. 

Кожного разу, коли файл зберігається в nano, команда tail підбирає нові рядки внизу. Команда зупиняється лише тоді, коли редактор nano закрито.

Як повторити виконання команди tail

Якщо ви отримуєте помилку під час спроби запустити команду tail, оскільки вона недоступна з якихось причин, ви можете використовувати повторити спробу параметр, щоб продовжувати спроби, доки файл не стане доступним.

sudo tail --retry -F. 

Це дійсно працює лише в поєднанні з switch, оскільки вам потрібно слідкувати за файлом, щоб спробувати повторити.

Резюме

Щоб дізнатися більше про команду tail, ви можете скористатися такою командою:

хвіст людини.