Команда Tail в Linux
Обновлено: 21.11.2024
Как следует из названия, команда tail используется для отображения последних значений содержимого файла. По умолчанию выбираются последние 10 строк. Принимая во внимание, что мы можем настроить количество строк, указав число в команде.
Синтаксис:
В команде может быть более одного файла. Linux предоставляет платформу для новых пользователей, чтобы помочь им в использовании хвостовых команд Linux. Для этого используется следующая добавленная команда:
Появившийся интерфейс содержит всю возможную информацию о хвосте. Кроме того, пользователи также могут получить помощь из руководства по Linux. Это полное руководство по использованию команды tail. Он также имеет все параметры и функции, предоставляемые командой –tail.
Пример 1:
Рассмотрите простой пример, в котором мы применим команду tail к файлу с названиями городов. Отобразить содержимое файла, где city.txt — это имя.
Теперь примените к этому файлу команду tail. Эта команда извлечет последние 10 строк записи. Число 10 неизменно. Так что если вы не укажете конкретное число, то система по умолчанию считает его равным 10. А если мы укажем число, то вывод будет ограничен этим числом.
Вы можете видеть, что выходные данные содержат последние 10 городов, присутствующих в файле.
Пример 2:
Теперь в этом примере мы укажем число, чтобы получить желаемый результат из содержимого файла. 4 строки должны быть выбраны с помощью команды. –n обозначает число, и это количество строк, которые мы хотим напечатать. Num является обязательным для получения определенного вывода. В противном случае отображается ошибка. n можно удалить, но всегда требуется «-».
Из вывода видно, что отображаются последние 4 строки.
Пример 3:
У команды tail также есть плюсовая опция «+», в которой вывод получается с указанного числа, указанного в команде, до конца файла.
В этом примере мы взяли 14 строк, чтобы обеспечить вывод от этой строки до последней строки во входном файле.
Пример 4:
Теперь, продвигаясь вперед, мы познакомимся с использованием –c в команде tail. Итак, -c обеспечивает вывод байтов числа, указанного в команде. Он должен добавить -c с положительным или отрицательным числом в вашей команде, потому что без этого система отобразит сообщение об ошибке. В то время как числа могут быть любыми из +ive и -ive.
Если число положительное, «+число», будет отображаться все содержимое файла после игнорирования числовых байтов с начала содержимого в файле. И если это отрицательное число, «-num», оно отображает количество байтов от последнего в файле.
Возьмем некоторые данные из последнего того же файла city.txt.
Мы применим команду, используя следующее условие:
Из вывода видно, что –num отображает выходные байты с последнего. Поскольку мы поставили отрицательный знак с подразумеваемым числом, байты будут считаться с последнего. Число равно 5, поэтому байты будут перемещаться на 5 шагов от конца до тех пор, пока не будут покрыты 5 символов.
Аналогичным образом возьмем другой пример, в котором число -5 заменено на -31. Это будет содержать 4 строки, включая каждую новую строку как новый символ.
Если мы не предоставляем никакого знака с числом, то количество последних байтов отображается из входного файла.
Пример 5:
В этом примере рассматривается использование –q в команде tail. «-q» подразумевает функцию соединения. Он используется, когда два или более файла должны быть отображены и приняты в качестве входных данных для команды tail. Рассмотрим два файла city.txt и Capitals.txt, которые используются в качестве входных данных для команды.
Без добавления –q в команду
Если мы не добавим -q в команду, а будем использовать только команду tail с именами двух файлов, то в выводе будут отображаться имена обоих файлов перед отображением содержимого между файлами. Мы можем наблюдать это, выполнив приведенную ниже команду:
Вывод показывает, что за содержимым обоих файлов следуют имена файлов. И поскольку это хвостовая команда, и мы не упомянули ни одного номера. Таким образом, по умолчанию в качестве результата будут показаны последние 10 строк.
Добавление –q в команду tail
Теперь мы добавим «-q» к двум именам файлов в той же команде, упомянутой выше. При использовании этого имена файлов, которые были предварительно просмотрены в последнем примере, не отображаются. Только содержимое файла отображается как вывод и выравнивается в последовательности.
Из вывода видно, что данные обоих файлов отображаются без названий в качестве заголовка. Первые 10 строк относятся к одному файлу, а вторые 10 строк относятся к 11-й строке, содержащей данные второго файла.
Пример 6:
При использовании ключевого слова –v данные в файле всегда отображаются с именем файла. Хвост предоставит последние 10 имен с именем файла.
Вы можете видеть, что значения печатаются с именем файла вверху.
Пример 7:
Мы будем использовать команду сортировки в хвостовой команде. Для этого нам нужен файл с названиями стран. Сначала мы отобразим содержимое файла с помощью команды cat.
Есть два случая, которые нам необходимо рассмотреть. Во-первых, используйте команду tail до вертикальной черты и команду sort после вертикальной черты. Второй случай наоборот. Вы увидите, что в обоих случаях результаты будут разными.
Теперь рассмотрим первый случай. Нам нужны последние 6 строк, как описано в выводе, поэтому в соответствии с командой сначала будут выбраны последние 6 строк, а команда сортировки расположит их в алфавитном порядке.
Во втором случае нужно сначала отсортировать все данные в файле, а затем выбрать последние 6 элементов.
Из обоих выходных данных вы можете увидеть разницу.
Пример 8:
В этом примере мы будем использовать хвост с командой головы.
Рассмотрим файл city.txt, так как в хвосте указано положительное число. Тогда строки, начинающиеся с 10-го индекса, будут напечатаны и будут длиться 5 строк. Поскольку голова дает цифру 5.
Пример 9:
Мы можем получить вывод с номером строки. Как вы знаете, в Linux термин nl используется для формирования числового списка контента. Поэтому мы будем использовать этот термин в нашей хвостовой команде.
Во-первых, будут присвоены номера, а во-вторых, будут выбраны последние 5 строк.
Заключение
В этой статье мы отдельно объяснили основные функции команды tail, а также других команд.
Об авторе
Акса Ясин
Я целеустремленный профессионал в области информационных технологий и обожаю писать. Я технический писатель и люблю писать для всех разновидностей Linux и Windows.
Дэйв Маккей
Дэйв Маккей
Писатель
Фатмавати Ахмад Заэнури/Shutterstock
Команда tail в Linux отображает данные с конца файла. Он может даже отображать обновления, добавляемые в файл, в режиме реального времени. Мы покажем вам, как его использовать.
Убил ли systemd хвост?
Команда tail показывает данные с конца файла.Обычно новые данные добавляются в конец файла, поэтому команда tail — это быстрый и простой способ просмотреть самые последние добавления в файл. Он также может отслеживать файл и отображать каждую новую текстовую запись в этом файле по мере их появления. Это делает его отличным инструментом для мониторинга файлов журналов.
Многие современные дистрибутивы Linux используют системный и сервисный менеджер systemd. Это первый выполняемый процесс, он имеет идентификатор процесса 1 и является родителем всех остальных процессов. Раньше эта роль выполнялась старой системой инициализации.
Вместе с этим изменением появился новый формат файлов системного журнала. Больше не создаются в виде обычного текста, в systemd они записываются в бинарном формате. Чтобы прочитать эти файлы журналов, вы должны использовать утилиту journactl. Команда tail работает с форматами простого текста. Бинарные файлы не читает. Значит ли это, что команда tail — это решение для поиска проблемы? У него еще есть что предложить?
Команда tail — это больше, чем отображение обновлений в режиме реального времени. И в этом отношении все еще существует множество файлов журналов, которые не генерируются системой и по-прежнему создаются в виде простых текстовых файлов. Например, файлы журналов, созданные приложениями, не изменили свой формат.
Использование хвоста
Передайте имя файла в tail, и он покажет вам последние десять строк из этого файла. Файлы примеров, которые мы используем, содержат списки отсортированных слов. Каждая строка пронумерована, поэтому будет легко следовать примерам и видеть, какой эффект оказывают различные параметры.
Чтобы увидеть другое количество строк, используйте параметр -n (количество строк):
На самом деле, вы можете обойтись без «-n» и просто использовать дефис «-» и число. Убедитесь, что между ними нет промежутков. Технически это устаревшая форма команды, но она все еще находится на странице руководства и все еще работает.
Использование tail с несколькими файлами
Вы можете работать с несколькими файлами одновременно. Просто передайте имена файлов в командной строке:
Для каждого файла отображается небольшой заголовок, чтобы вы знали, к какому файлу относятся строки.
Отображение строк с начала файла
Модификатор + (отсчет от начала) позволяет отображать последние строки с начала файла, начиная с определенного номера строки. Если ваш файл очень длинный и вы выбираете строку рядом с началом файла, вы получите много вывода, отправленного в окно терминала. Если это так, имеет смысл направить вывод tail в less .
Поскольку в этом файле 20 445 строк, эта команда эквивалентна использованию параметра "-6":
Использование байтов с хвостом
Вы можете указать tail использовать смещения в байтах вместо строк, используя параметр -c (байты). Это может быть полезно, если у вас есть текстовый файл, отформатированный в записи обычного размера. Обратите внимание, что символ новой строки считается одним байтом. Эта команда отобразит последние 93 байта в файле:
Вы можете комбинировать параметр -c (байты) с модификатором + (отсчитывать от начала файла) и указывать смещение в байтах, считая от начала файла:
Переход в хвост
Ранее мы передавали вывод tail в less . Мы также можем направить вывод других команд в tail .
Чтобы определить пять файлов или папок с самым старым временем модификации, используйте параметр -t (сортировка по времени модификации) с ls и передайте вывод в tail .
Команда head выводит список строк текста с начала файла. Мы можем объединить это с хвостом, чтобы извлечь часть файла. Здесь мы используем команду head для извлечения первых 200 строк из файла. Это передается в tail , который извлекает последние десять строк.Это дает нам строки со 191 по 200. То есть последние десять строк из первых 200 строк:
Эта команда выводит список пяти процессов, которые потребляют больше всего памяти.
Давайте разберемся.
- a: список всех процессов, а не только текущего пользователя.
- u: отображать вывод, ориентированный на пользователя.
- x: список всех процессов, включая те, которые не выполняются внутри TTY.
Команда tail -5 отображает последние пять процессов из отсортированного вывода. Это пять самых требовательных к памяти процессов.
Использование tail для отслеживания файлов в режиме реального времени
Отслеживать новые текстовые записи, поступающие в файл (обычно файл журнала), легко с помощью tail . Передайте имя файла в командной строке и используйте параметр -f (follow).
Поскольку каждая новая запись журнала добавляется в файл журнала, хвост обновляет свое отображение в окне терминала.
Вы можете уточнить вывод, включив в него только строки, представляющие особую актуальность или интерес. Здесь мы используем grep для отображения только строк, содержащих слово «среднее»:
Чтобы отслеживать изменения в двух или более файлах, передайте имена файлов в командной строке:
Каждая запись помечена заголовком, показывающим, из какого файла был взят текст.
Отображение обновляется каждый раз, когда в следующем файле появляется новая запись. Чтобы указать период обновления, используйте параметр -s (период ожидания). Это говорит хвосту подождать несколько секунд, пять в этом примере, между проверками файла.
Правда, по снимку экрана этого не скажешь, но обновления файла происходят раз в две секунды. Новые записи файлов отображаются в окне терминала каждые пять секунд.
Если вы отслеживаете добавление текста в более чем один файл, вы можете скрыть заголовки, указывающие, из какого файла журнала исходит текст. Для этого используйте параметр -q (quiet):
Вывод из файлов отображается в виде цельного текста. Не указано, из какого файла журнала была сделана каждая запись.
хвост по-прежнему имеет значение
Хотя доступ к файлам системного журнала теперь предоставляется с помощью journalctl , tail по-прежнему может многое предложить. Это особенно верно, когда он используется в сочетании с другими командами путем передачи в хвост или из него.
Система systemd, возможно, изменила ландшафт, но все еще есть место для традиционных утилит, которые соответствуют философии Unix: делать одну вещь и делать ее хорошо.
Команды Linux | |
Файлы | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm |
Процессы | alias · screen · top · nice · renice · прогресс · strace · systemd · tmux · chsh · история · at · пакетное · бесплатное · которое · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · стена · yes · kill · спать · sudo · su · время · groupadd · usermod · группы · lshw · выключение · перезагрузка · halt · poweroff · passwd · lscpu · crontab · date · bg · fg |
Сеть | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · копать · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
- › Как восстановить метки панели задач в Windows 11
- › Почему прозрачные чехлы для телефонов желтеют?
- ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
- › Как установить Google Play Маркет в Windows 11
- › Что означает XD и как вы его используете?
- › Худшее, что есть в телефонах Samsung, — это программное обеспечение Samsung.
Tail в Linux — это утилита командной строки, которая отображает последнюю часть содержимого файла. Вы также можете комбинировать его с одной или несколькими командами Linux для получения стандартного вывода.
Основные функции команды tail упрощают мониторинг файлов журналов и обновление одного или нескольких файлов в режиме реального времени. Его использование будет расширяться в сочетании с другими командами, включая, помимо прочего, сортировку и удаление файлов на основе определенных критериев.
В этой статье на практических примерах будет рассказано о том, как работает команда tail, и о ее практическом применении. Вы также узнаете, как использовать его с другими командами для лучшего управления файлами.
Что такое команда Tail?
Команда tail в Linux печатает последние десять строк указанных файлов.
Понимание синтаксиса команды Tail
Команда tail Linux является частью GNU Coreutils, которая придерживается философии UNIX. Его основная цель — отобразить последнюю часть файла через стандартный ввод. Пользователи могут настроить количество отображаемых строк, указав число в синтаксисе.
Вот как выглядит базовая команда tail:
Эта команда может принимать несколько параметров, каждый из которых служит разным целям. Ниже приведены некоторые из наиболее популярных параметров команды вместе с их функциями:
- -c (–bytes) — выводит последнее количество байтов данных.
- -n (–lines) – ограничивает количество отображаемых строк.
- -f (–follow) ‒ отслеживать изменения в файлах.
- -v (-verbose) — выводит имя файла перед данными.
- -q (—quiet, —silent) — опускает имя файла перед печатью данных.
- -version ‒ отображает информацию о последней версии.
Имейте в виду, что синтаксис команды Linux чувствителен к регистру.
Как использовать команду Tail в Linux
Теперь, когда вы знаете, как работает команда tail в Linux, мы собираемся изучить ее использование с несколькими параметрами команды и их реальными приложениями.
Указание количества строк для команды Tail
Как упоминалось выше, команда tail по умолчанию показывает последние десять строк файла. Чтобы отобразить указанное количество строк, вам нужно соединить его с опцией -n.
Вот пример использования параметра команды lines для вывода двух последних строк файла:
Профессиональный совет
Замена части «-n [число_строк]» на «-[количество_строк]» приведет к тому же результату.
Указание количества байтов
Использование параметра -c позволяет отображать последнее количество байтов указанного файла. Это полезно при работе с файлами обычного размера, содержащими набор символов ASCII, где один символ равен одному байту.
В следующем примере выводятся последние 50 байт файла mynote.txt:
Сортировка с помощью команды Tail
Существуют различные комбинации команд с командой tail для сортировки данных в зависимости от ваших потребностей.
Например, совместив его с командой list (ls) и параметрами -t и -l, вы сможете вывести список файлов или каталогов с самым старым временем модификации. Используйте параметр -n, чтобы указать количество отображаемых строк.
Сопоставление команды tail с командой sort и параметром -M отсортирует выходные данные команды ls по месяцу создания в порядке возрастания.
Чтобы отсортировать вывод в обратном порядке, используйте команду tail с параметром -r.
Отслеживание изменений в файле
Опция tail -f позволяет просмотреть последние десять строк файла. Этот параметр полезен для отслеживания файлов журналов в режиме реального времени, поскольку эта команда будет обновляться при добавлении новых данных в тот же файл.
Если исходный файл изменится, в заголовке будет показано, какие строки были изменены.
Использование команды Tail для нескольких файлов
В предыдущем примере показано, как использовать команду tail для одного файла. Если вы хотите вывести данные из нескольких файлов одновременно, перечислите все имена файлов в командной строке следующим образом:
При выполнении хвостовой команды в строке заголовка будет отображаться имя каждого файла. Это действие применяется при просмотре нескольких файлов. Используйте параметр -q, чтобы включить тихий режим, опуская этот заголовок.
Как использовать команду Head вместе с Tail
Как и команда tail, команда head в Linux также входит в пакет основных утилит GNU и записывает результат в стандартный вывод. Единственное отличие состоит в том, что команда head печатает первые строки одного или нескольких файлов.
Комбинация команд head и tail позволяет вывести определенный раздел из файла. Сначала используйте команду head для извлечения первых строк из файла. Затем передайте данные в качестве входных данных для команды tail, которая отображает последние строки из этого конкретного раздела.
В следующем примере показано, как одновременно использовать команды head и tail для отображения последних десяти строк из первых 20 строк из текстового файла mynote.txt:
Чтобы извлечь раздел, начинающийся с указанного номера строки, добавьте знак минус к значению -n. Вот как выводить строки, начиная с пятой строки:
Заключение
Команда tail в Linux — это полезная утилита командной строки, улучшающая управление файлами. Tail печатает последние строки содержимого файла из одного или нескольких текстовых файлов, что полезно для мониторинга файлов журналов и обновлений файлов и каталогов.
Вы узнали, как работает команда tail и как ее использовать. Мы предоставили комбинации синтаксиса и примеры, где он работает с другими командами Linux для различных целей.
Мы надеемся, что эта статья помогла вам лучше понять использование команды tail в Linux для управления файлами в операционных системах на базе UNIX. Удачи.
Узнайте больше о командах Linux для чтения файлов
Как выполнить команду Tail?
Использование grep с командой tail требует включения режима буферизации строк. Это позволит процессу возобновить поиск совпадающих шаблонов, сократив при этом задержку.
Следующий синтаксис извлекает последние десять строк файла при включении режима буферизации строк grep:
tail -f [имя_файла] | grep --line-buffered [шаблон]
Как выйти из команды Tail в Linux?
Возможно, вы запустили команду tail и хотите перейти к другим папкам. Чтобы остановить процесс и восстановить окно терминала, нажмите Ctrl+C.
Эта комбинация клавиш отправляет сигнал завершения (SIGINT) процессу, прерывая текущий процесс перед его завершением.
Хотя сигнал завершения SIGKILL также работает в этом сценарии, мы не рекомендуем его использовать. SIGKILL отправляет сигнал, который нельзя игнорировать или заблокировать, чтобы немедленно завершить процесс. SIGINT обрабатывает процесс более изящно, позволяя системе завершить его в правильном порядке.
Джордана — автор цифрового контента в Hostinger.Обладая знаниями в области информационных систем и разработки веб-сайтов, она стремится помочь начинающим разработчикам и предпринимателям развивать свои технические навыки. В свободное время она путешествует и занимается литературным фристайлом.
Команда tail является дополнением к команде head. Эта команда сообщает вам последние данные ввода файла. Обычно по умолчанию команда tail выводит последние 10 строк файла.
Команда tail — лучший и полезный способ просмотреть последние добавленные данные. Он также может отслеживать файл и отображать все новые данные, добавленные в этот файл, по мере их появления.
Ниже приведен раздел, в котором рассказывается, как использовать команду tail в Linux, как описано ниже.
Синтаксис команды tail
Здесь у меня есть файл с именем animal.txt. Посмотрим, что внутри:
Параметры
<р>1. Без каких-либо опций он распечатает последние 10 строк<р>2. -n число: указывает количество последних строк для печати
Например, я распечатаю последние 3 строки:
С опцией + он будет распечатываться с указанной строки до последней строки
Например, я буду печатать с 4-й строки до последней строки:
<р>3. -c число: выводит последние символы указанного файла. Каждый символ обрабатывается как 1 байт. С -num он распечатает последние числовые символы файла. С +num он пропустит первые числовые символы и начнет печать с числового символа.
Например, я распечатаю последние 3 символа:
Например, я хочу распечатать с 4-го байта:
<р>4. -q: для одновременного выполнения нескольких файлов
Я буду использовать команду tail с двумя файлами animal.txt и vege.txt:
<р>5. -v: имена файлов всегда показывают начало
<р>6. --version: проверьте свою версию
Заключение
Мы только что показали вам, как использовать команду tail в Linux.
Спасибо за чтение!
Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора, включая CCNA RS, SCP и ACE. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов.
Читайте также: