9 практических примеров команды Tail в Linux

[ad_1]

Как пользователи Linux, мы часто работаем с фоновые процессы Linux, которые называются демонами или службами. Некоторые из распространенных примеров услуг: Безопасная оболочка (sshd)Диспетчер сети (networkd), Диспетчер томов (LVM), КронИ список продолжается.

Много раз нам нужно следить за логами из этих сервисов для отладки системных проблем. Однако одна из основных проблем заключается в том, что эти сервисы генерируют много журналов, и большую часть времени просмотр этих журналов делает его громоздким, именно здесь мы можем использовать хвостовая команда.

команда tail — это утилита командной строки, похожая на команду головная команда который читает файл и печатает последние 10 строк (содержимое) одного или нескольких файлов в стандартный вывод.

В этом практическом руководстве мы узнаем о команде tail. К концу этого руководства пользователи командной строки Linux смогут эффективно использовать команду tail.

Синтаксис команды tail

Синтаксис хвост команда похожа на другие команды Linux:

$ tail [OPTIONS] [FILE-1] [FILE-2] ...

1. Распечатайте последние 10 строк файла в Linux

По умолчанию хвост команда печатает последний 10 строки данного файла, как показано.

$ tail /var/log/secure


Apr  2 14:17:24 TecMint sshd[201178]: Disconnected from user tecmint 192.168.0.162 port 59774
Apr  2 14:17:24 TecMint sshd[201165]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 14:29:12 TecMint sshd[201366]: Accepted password for tecmint from 192.168.0.162 port 56378 ssh2
Apr  2 14:29:12 TecMint systemd[201371]: pam_unix(systemd-user:session): session opened for user tecmint(uid=1002) by (uid=0)
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session opened for user tecmint(uid=1002) by (uid=0)
Apr  2 14:29:12 TecMint sshd[201382]: Received disconnect from 192.168.0.162 port 56378:11: disconnected by user
Apr  2 14:29:12 TecMint sshd[201382]: Disconnected from user tecmint 192.168.0.162 port 56378
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

Здесь мы видим, что приведенная выше команда показывает последние десять строк из /var/журнал/безопасный файл.

2. Распечатайте последние N строк файла в Linux

В последнем примере команда печатает последние 10 строк данного файла. Тем не менее, мы можем использовать -n опция, которая позволяет нам ограничить количество строк, которые будут напечатаны на экране, как показано.

$ tail -n 3 /var/log/secure

Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

В этом примере мы видим, что теперь команда показывает только последние три строки вместо десяти.

3. Игнорировать первые N строк файла в Linux

Здесь мы можем использовать плюс (+) символ с -n опция, которая позволяет нам контролировать начальную точку из данного файла.

Чтобы понять это, воспользуемся +5 значение, чтобы начать вывод с 5-й строки:

$ tail -n +5 /var/log/secure

Apr  2 14:17:24 TecMint sshd[201178]: Disconnected from user tecmint 192.168.0.162 port 59774
Apr  2 14:17:24 TecMint sshd[201165]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 14:29:12 TecMint sshd[201366]: Accepted password for tecmint from 192.168.0.162 port 56378 ssh2
Apr  2 14:29:12 TecMint systemd[201371]: pam_unix(systemd-user:session): session opened for user tecmint(uid=1002) by (uid=0)
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session opened for user tecmint(uid=1002) by (uid=0)
Apr  2 14:29:12 TecMint sshd[201382]: Received disconnect from 192.168.0.162 port 56378:11: disconnected by user
Apr  2 14:29:12 TecMint sshd[201382]: Disconnected from user tecmint 192.168.0.162 port 56378
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

4. Показать последние N символов файла

Подобно линиям, мы также можем использовать команду для отображения последней N символов файла с помощью -c вариант, как показано ниже:

$ tail -c 7 /var/log/secure

(uid=0)

В этом примере мы видим, что команда показывает последние семь ASCII символов данного файла.

5. Удалить первые N символов файла

Точно так же мы можем использовать символ плюса (+) с -c возможность пропустить первый N характер. Итак, давайте пропустим первую строку файла, используя следующую команду:

$ tail -c +5 /var/log/secure

Apr  2 03:02:59 TecMint sudo[162801]: root : TTY=pts/2 ; PWD=/root ; USER=root ; COMMAND=/bin/dnf install R
Apr  2 03:02:59 TecMint sudo[162801]: pam_unix(sudo:session): session opened for user root(uid=0) by root(uid=0)
Apr  2 03:03:02 TecMint sudo[162801]: pam_unix(sudo:session): session closed for user root
Apr  2 03:11:17 TecMint groupadd[163602]: group added to /etc/group: name=avahi, GID=70
Apr  2 03:11:18 TecMint groupadd[163602]: group added to /etc/gshadow: name=avahi
Apr  2 03:11:18 TecMint groupadd[163602]: new group: name=avahi, GID=70
Apr  2 03:11:19 TecMint useradd[163610]: new user: name=avahi, UID=70, GID=70, home=/var/run/avahi-daemon, shell=/sbin/nologin, from=none
Apr  2 03:13:41 TecMint groupadd[163704]: group added to /etc/group: name=colord, GID=986
Apr  2 03:13:41 TecMint groupadd[163704]: group added to /etc/gshadow: name=colord

Здесь мы видим, что команда показывает все строки, кроме первой.

6. Показать имя файла в заголовке

Мы можем поручить хвост Команда для отображения текущего имени файла в качестве заголовка дисплея, что удобно при работе с несколькими файлами.

Итак, воспользуемся -v возможность включить отображение заголовка:

$ tail -n 3 -v /var/log/secure

==>/var/log/secure <==
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

В приведенном выше выводе ==> /var/log/secure <== представляет заголовок дисплея.

7. Показать имя файла в качестве заголовка в нескольких файлах

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

$ tail -n 3 -v /var/log/secure /var/log/secure-20230402

==> /var/log/secure <==
Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

==> /var/log/secure-20230402 <==
Mar 31 03:50:53 TecMint groupadd[156163]: new group: name=docker, GID=987
Mar 31 04:46:11 TecMint sshd[159403]: Accepted password for root from 192.168.0.162 port 46480 ssh2
Mar 31 04:46:11 TecMint sshd[159403]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

В приведенном выше выводе мы видим отображаемый заголовок для каждого файла.

8. Как отключить отображение заголовка в файле

В предыдущем примере мы видели, что команда включает отображение заголовка при работе с несколькими файлами. Однако мы можем подавить это поведение по умолчанию с помощью -q вариант.

$ tail -q -n 3 /var/log/secure /var/log/secure-20230402

Apr  2 14:29:12 TecMint sshd[201366]: pam_unix(sshd:session): session closed for user tecmint
Apr  2 15:12:55 TecMint sshd[202049]: Accepted password for root from 192.168.0.162 port 53334 ssh2
Apr  2 15:12:55 TecMint sshd[202049]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Mar 31 03:50:53 TecMint groupadd[156163]: new group: name=docker, GID=987
Mar 31 04:46:11 TecMint sshd[159403]: Accepted password for root from 192.168.0.162 port 46480 ssh2
Mar 31 04:46:11 TecMint sshd[159403]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

Здесь мы видим, что теперь команда отображает содержимое файла одно за другим без какого-либо отображаемого заголовка.

9. Как отслеживать изменения в файле

До сих пор мы видели, что команда tail завершает работу после обработки необходимого количества строк или символов. Однако иногда мы также хотим просмотреть вновь созданные журналы.

В таких случаях мы можем использовать -f опция с командой, которая позволяет нам отслеживать изменения в файле в режиме реального времени.

Чтобы понять это, сначала давайте выполним следующую команду в первом терминале:

$ tail -f /var/log/messages


Apr  2 15:13:28 TecMint NetworkManager[741]:   [1680462808.8441] policy: set-hostname: current hostname was changed outside NetworkManager: 'TecMint'
Apr  2 15:13:28 TecMint systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr  2 15:13:28 TecMint systemd[1]: Started Network Manager Script Dispatcher Service.
Apr  2 15:13:37 TecMint arpwatch[11001]: rename arp.dat -> arp.dat-: Operation not permitted
Apr  2 15:13:38 TecMint systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Apr  2 15:13:58 TecMint systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Apr  2 15:18:03 TecMint systemd[1]: Starting dnf makecache...
Apr  2 15:18:03 TecMint dnf[202235]: Metadata cache refreshed recently.
Apr  2 15:18:03 TecMint systemd[1]: dnf-makecache.service: Deactivated successfully.
Apr  2 15:18:03 TecMint systemd[1]: Finished dnf makecache.

Здесь мы видим, что команда бесконечно ждет после отображения последних десяти строк:

Далее, давайте откроем другой терминал и добавим некоторый текст в числа-2.txt файл:

$ echo "View Logs in Real-Time" >> /var/log/messages

Теперь давайте переключимся на первый терминал, чтобы просмотреть только что добавленный текст:

$ tail -f /var/log/messages

Apr  2 15:13:28 TecMint NetworkManager[741]:   [1680462808.8441] policy: set-hostname: current hostname was changed outside NetworkManager: 'TecMint'
Apr  2 15:13:28 TecMint systemd[1]: Starting Network Manager Script Dispatcher Service...
Apr  2 15:13:28 TecMint systemd[1]: Started Network Manager Script Dispatcher Service.
Apr  2 15:13:37 TecMint arpwatch[11001]: rename arp.dat -> arp.dat-: Operation not permitted
Apr  2 15:13:38 TecMint systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
Apr  2 15:13:58 TecMint systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Apr  2 15:18:03 TecMint systemd[1]: Starting dnf makecache...
Apr  2 15:18:03 TecMint dnf[202235]: Metadata cache refreshed recently.
Apr  2 15:18:03 TecMint systemd[1]: dnf-makecache.service: Deactivated successfully.
Apr  2 15:18:03 TecMint systemd[1]: Finished dnf makecache.
View Logs in Real-Time

Здесь мы видим, что команда tail показывает только что добавленный текст.

Знаете ли вы какой-нибудь другой лучший пример команды tail в Linux? Сообщите нам свое мнение в комментариях ниже.

[ad_2]

Related Posts

Leave a comment

You must login to add a new comment.

[wpqa_login]
افلام سكس مصرى hd pornoarabi.com نيك مزدوج رقص سكسى tropsha.com نيك م نيك السكرتيره freearabianporn.com سكس ام مع صبي air hostess x videos pakistanipornx.net kanada six video xxx in kannada originalhindiporn.mobi bf film bf video
indian xxxx video chupaporn.com bengoli panu سكس مخنسات porndot.info نيك مصرى مجانى soushisouai note nisatsume streamhentai.net alicization hentai kenshin hentai nicehentai.com pizza and the little bully nude sunny leone waplo.info nesa porn.com
pure sexy film ganstagirls.info bulu film open ying hentai stophentai.com ayase eli hentai سكس سعودية ufym.info مقاطع سكس اون لاين indain sexy movie porngugu.mobi yoga teacher xnxx xvideos collage indiansextube.org bengali sex scandals