Краткое описание. Вот несколько практических примеров команд tail, которые должны позволить вам более эффективно использовать эту команду в Linux.
Команда Cat – небольшая команда для отображения содержимого файла. Но вы не всегда можете отображать все строки большого файла. Команда tail помогает в таком сценарии.
Команда tail, как следует из названия, выводит последние части одного файла или нескольких файлов. По умолчанию команда tail выводит последние десять строк входных файлов. Команда tail также используется для чтения файлов журнала в реальном времени.
Синтаксис команды tail:
tail [options] [files]
Давайте узнаем, как использовать команду tail в Linux с некоторыми практическими примерами. Мы будем использовать этот текстовый файл в этой статье:
Загадочное происшествие на Брайтон Бич Тайный Противник Убийство по ссылкам Человек в коричневом костюме Секрет дымовых труб Погода в Кацапетовке Большая четверка Странный пассажир полуночного экспресса Гарри Поттер Все на Матч Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках
Если вы используете команду tail без какой-либо опции, она будет печатать последние 10 строк. Это поведение по умолчанию команды tail.
tail agatha.txt Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках
Если файл имеет менее десяти строк, он отображает только доступные строки. Если последние несколько строк пусты, они все равно будут считаться допустимыми.
Но вам не нужно довольствоваться использованием команды tail по умолчанию. Это еще не все. Давайте рассмотрим наиболее частое использование хвостовых команд по одному.
Чтобы просмотреть последние N строк, вместо 10 по умолчанию вы можете использовать команду tail следующим образом:
tail -n N <filename>
Например, если вы хотите увидеть последние 5 строк с командой tail в нашем файле примера, вы можете использовать его следующим образом:
tail -n 5 agatha.txt Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках
Если вы хотите просмотреть все строки, начинающиеся с номера строки N, вы можете использовать здесь опцию +.
tail -n +N <filename>
В нашем примерном файле, если вы хотите увидеть все строки, начиная с строки 7, вы можете использовать его следующим образом:
tail -n +7 agatha.txt Большая четверка Странный пассажир полуночного экспресса Гарри Поттер Все на Матч Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках
Команда tail позволяет вам одновременно использовать несколько файлов. Все стандартные опции команды tail применимы к нескольким файлам.
tail -n N <file1> <file2> <file3>
Результат объединяется для всех файлов, и по умолчанию имя файла отображается в строках, начинающихся с «==>».
Например, если вы хотите увидеть последние три строки файлов sherlock.txt и agatha.txt, это будет выглядеть так:
tail -n3 sherlock.txt agatha.txt ==> sherlock.txt <== Приключение благородного холостяка Приключение Берилл Коронет Приключение Алисы в стране чудес ==> agatha.txt <== Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках
Предположим, у вас есть файл, и к нему добавлен новый контент. Команда tail позволяет вам отображать все новые строки по мере их добавления в файл.
Для этого вы можете использовать опцию -f.
tail -f <log-file>
Команда сначала отобразит последние 10 строк файлов, а затем обновит вывод, когда новые строки будут добавлены в файл.
Это широко используется для просмотра файлов журнала в реальном времени. Это, пожалуй, наиболее практическое использование команды tail.
Команда tail может использоваться в сопряжении с другими командами с использованием pipes.
Например, если у вас слишком много файлов в каталоге, и вы хотите видеть только последние 3 измененных файла, вы можете использовать его следующим образом:
ls -ltr | tail -n3
В приведенной выше команде ls -lrt перечисляет все файлы в обратном хронологическом порядке. И тогда команда tail дополнительно анализирует этот вывод и отображает только последние три строки вывода команды ls, и поэтому мы получаем список из трех последних измененных файлов.
Номера строк помогают в понимании и анализе вывода. Предположим, вы отобразили последние 20 строк файла, но вы также хотите увидеть их номера строк, чтобы вы могли видеть общие строки в файле.
К сожалению, нет встроенной опции для отображения вывода команды tail с числами.
Но это не означает, что вы не можете отображать номера строк с помощью команды tail. Для этого вы можете использовать мощность труб. Вы только что видели в предыдущем разделе, что команды tail могут использоваться с трубами. Почему бы не использовать его здесь.
nl – способ отображения содержимого файла с номерами строк. Если вы объедините его с командой tail с помощью pipe, вы получите отображение команды tail с номерами строк.
nl <filename> | tail -3
Надеюсь, вы найдете примеры команд tail полезными. Если у вас есть какие-либо предложения или вопросы, поделитесь им в разделе комментариев ниже.