
У Linux є дві дуже корисні команди, які дозволяють побачити частину файлу. Перший називається голова і за замовчуванням він показує перші 10 рядків у файлі. Другий – це хвіст команда, яка за замовчуванням дозволяє переглядати останні 10 рядків у файлі. Чому ви хочете використовувати одну з цих команд? Чому б просто не скористатися командою cat, щоб переглянути весь файл, або скористатися редактором, таким як nano? Уявіть, файл, який ви читаєте, містить 300 000 рядків. Уявіть також, що файл займає багато місця на диску. Типовим використанням команди head є переконання, що файл, який ви хочете переглянути, справді є правильним файлом. Зазвичай ви можете визначити, чи шукаєте ви правильний файл, просто побачивши кілька перших рядків. Потім ви можете використовувати редактор, такий як nano, для редагування файлу. Команда tail корисна для перегляду кількох останніх рядків файлів і дуже хороша, коли ви хочете побачити, що відбувається у файлі журналу, що зберігається в папці / var / log.
Змістовий покажчик
Приклад використання
хвіст команда за замовчуванням показує останні 10 рядків файлу. Синтаксис команди tail такий: tail
type = «code»> Наприклад, щоб переглянути журнал завантаження для вашої системи, ви можете використати таку команду: sudo tail /var/log/boot.log
type = «code»> Результат буде приблизно таким:
Як вказати кількість рядків для показу
Вкажіть кількість рядків, які ви хочете побачити, використовуючи таку команду: sudo tail -n20
type = «code»> Наведений вище приклад відображатиме останні 20 рядків файлу.
Крім того, ви можете використовувати -н перемикач, щоб також вказати початкову точку у файлі. Можливо, ви знаєте, що перші 30 рядків у файлі є коментарями, і ви просто хочете переглянути дані у файлі. У цьому випадку ви використовуєте таку команду: sudo tail -n + 20
type = «code»>
Команда хвоста часто використовується поряд з більше команда, щоб ви могли читати файл по одній сторінці. Наприклад: sudo tail -n + 20 | більше
type = «code»> Наведена вище команда надсилає останні 20 рядків від імені файлу та передає їх як вхідні дані до команди more. Ви також можете використовувати команду tail, щоб показати певну кількість байтів замість рядків: sudo tail -c20
type = «code»>
Використовуйте той самий перемикач, щоб почати показ з певного числа байтів, як показано: sudo tail -c + 20
type = «code»>
Як відстежувати файл журналу
Ви помітите, що ми включили sudo до більшості команд. Це включення необхідне лише там, де у вас немає дозволів, як звичайний користувач для перегляду файлу, і вам потрібні підвищені дозволи. Багато сценаріїв та програм не виводяться на екран, але додаються до журналу, коли вони запущені. Використовуйте наступне хвіст команда, щоб перевірити, як журнал змінюється кожні стільки секунд: sudo tail -F -s20
type = «code»> Ви також можете використовувати хвіст, щоб продовжувати моніторинг журналу, поки процес не помре наступним чином: sudo tail -F –pid = 1234
type = «code»> Щоб знайти ідентифікатор процесу для процесу, можна скористатися наступною командою: ps -ef | grep
type = «code»> Наприклад, уявіть, що ви редагуєте файл за допомогою nano. Ви можете знайти ідентифікатор процесу для nano, використовуючи таку команду: ps -ef | grep nano
type = «code»> Вихідні дані команди дадуть вам ідентифікатор процесу. Уявіть, що ідентифікатор процесу – 1234. Тепер ви можете запустити tail проти файлу, який редагує nano, використовуючи таку команду: sudo tail -F –pid = 1234
type = «code»> Кожного разу, коли файл зберігається у нано, команда tail піднімає нові рядки внизу. Команда зупиняється лише тоді, коли редактор nano закритий.
Як повторити команду хвоста
Якщо під час спроби запустити команду tail з’являється помилка, оскільки вона з якихось причин недоступна, тоді ви можете використовувати повторити спробу параметр, щоб продовжувати спробу, поки файл не стане доступним. хвіст sudo –повернення -F
type = «code»> Це насправді працює лише у поєднанні з -F перемикач, оскільки вам потрібно стежити за файлом, щоб повторити спробу.
Резюме
Щоб дізнатись більше інформації про команду tail, ви можете використовувати таку команду: man tail
type = «code»>