Linux просмотр последних строк файла

Содержание
  1. Команда Tail в Linux
  2. Linux Tail Command
  3. В этом уроке мы покажем вам, как использовать хвостовую команду Linux, на практических примерах и подробных объяснениях наиболее распространенных опций хвоста.
  4. Синтаксис хвостовой команды
  5. Как использовать команду Tail
  6. Как отобразить определенное количество строк
  7. Как отобразить определенное количество байтов
  8. Как посмотреть файл на предмет изменений
  9. Как отобразить несколько файлов
  10. Как использовать хвост с другими командами
  11. Вывод
  12. Команда Tail в Linux: Что Она Делает и Как Работает
  13. Что Такое Команда Tail?
  14. Как Пользоваться Командой Tail?
  15. Как Ограничить Количество Выводимых Строк?
  16. Как Посмотреть Последнее Количество Байтов Данных?
  17. Как Отслеживать Изменения в Файле?
  18. Как Использовать Команду Tail с Другими Командами Linux?
  19. Команда Tail с -r (Обратный Порядок)
  20. Использование Команды Tail с ls (Самый Старый Файл или Папка)
  21. Итоги
  22. linux-notes.org
  23. Утилита tail в примерах Unix/Linux
  24. Просмотр содержимого файлов в командной строке Linux
  25. Команда cat
  26. Команда nl
  27. Команда less
  28. Команда more
  29. Команда head
  30. Команда tail
  31. Заключение
  32. Кунг-фу стиля Linux: наблюдение за файлами
  33. Команда tail
  34. Меньше — значит больше: полезные возможности команды less
  35. Наблюдение за файлами с помощью команды watch
  36. Использование текстового редактора для наблюдения за файлами
  37. Итоги

Команда Tail в Linux

Linux Tail Command

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

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

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

Синтаксис хвостовой команды

Прежде чем перейти к использованию команды tail, давайте начнем с рассмотрения основного синтаксиса.

Выражения команды tail принимают следующую форму:

  • OPTION — хвостовые варианты . Мы рассмотрим наиболее распространенные варианты в следующих разделах.
  • FILE — Ноль или более имен входных файлов. Если FILE не указан или если FILE установлен — , tail будет читать стандартный ввод.

Как использовать команду Tail

В простейшем виде, когда используется без какой-либо опции, команда tail отображает последние 10 строк.

Как отобразить определенное количество строк

Используйте опцию -n ( —lines ), чтобы указать количество отображаемых строк:

Вы также можете опустить букву n и использовать только дефис ( — ) и число (без пробелов между ними).

Для отображения последних 50 строк имени файла filename.txt вы должны использовать:

В следующем примере будет показан тот же результат, что и в приведенных выше командах:

Как отобразить определенное количество байтов

Для отображения определенного количества байтов используйте опцию -c ( —bytes ).

Например, для отображения последних 500 байтов данных из названного файла filename.txt вы должны использовать:

Вы также можете использовать суффикс множителя после числа, чтобы указать количество отображаемых байтов. b умножает его на 512, kB умножает на 1000, K умножает на 1024, MB умножает на 1000000, M умножает на 1048576 и т. д.

Следующая команда отобразит последние два килобайта (2048) файла filename.txt :

Как посмотреть файл на предмет изменений

Чтобы отслеживать файл на наличие изменений, используйте параметр -f ( —follow ):

Эта опция особенно полезна для мониторинга файлов журнала. Например, чтобы отобразить последние 10 строк /var/log/nginx/error.log файла и отслеживать файл на наличие обновлений, вы будете использовать:

Чтобы прервать команду tail во время просмотра файла, нажмите Ctrl+C .

Чтобы продолжить мониторинг файла при его воссоздании, используйте -F опцию.

Эта опция полезна в ситуациях, когда команда tail следит за вращающимся файлом журнала. При использовании с -F опцией команда tail снова откроет файл, как только он снова станет доступным.

Как отобразить несколько файлов

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

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

Этот пример показывает последние 20 строк файлов filename1.txt и filename2.txt :

Как использовать хвост с другими командами

Команда tail может использоваться в сочетании с другими командами, перенаправляя стандартный вывод из / в другие утилиты, используя каналы.

Например, чтобы отслеживать файл журнала доступа apache и отображать только те строки, которые содержат IP-адрес, который 192.168.42.12 вы используете:

Следующая ps команда отобразит десятку запущенных процессов, отсортированных по загрузке процессора:

Вывод

К настоящему времени вы должны хорошо понимать, как использовать хвостовую команду Linux. Он дополняет команду head, которая печатает первые строки файла на терминал.

Источник

Команда Tail в Linux: Что Она Делает и Как Работает

Многие опытные пользователи Linux используют команды для вывода отдельных частей файлов. Такие команды как head и tail определяют начало и конец файла или команды.

Команда Tail позволяют пользователю читать команды файла с конца. Также с помощью этой утилиты можно отслеживать новую информацию, обновляемую в реальном времени в конкретном файле. Это очень упрощает проверку последних записей в системе. Также команда tail в Linux позволяет просматривать несколько файлов одновременно.

Давайте рассмотрим tail более детально и разберёмся на что способна эта простая команда Linux.

Что Такое Команда Tail?

Tail — отличная команда Linux, используемая для вывода N-го количества последних строк файла. Обычно она показывает в стандартном выводе 10 последних строк из файла. Если мы запускаем её для одного имени файла, данные из каждого файла обрабатываются по имени файла с заголовком.

Читайте также:  Linux intel gpu driver

В Linux существует около 14 важных опций команды tail, которые служат различным целям пользователей. Например, –n вместо 10 выводит указанное вами количество строк из конца файла.

Как Пользоваться Командой Tail?

Помните, что сначала вам нужно будет использовать терминал или PuTTY, чтобы подключения к вашему VPS-серверу по SSH. Вот руководство с подробным описанием этого процесса.

По умолчанию tail выводит последние 10 строк файла в операционной системе Linux и затем заканчивает выполнение.

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

В выводе будут отображены последние 10 строк файла.

Как Ограничить Количество Выводимых Строк?

Tale предоставляет возможность посмотреть то количество срок, которое вам нужно. Для этого просто используйте опцию –n.

Самый простой способ выполнить это действие:

Вместо * укажите необходимое количество строк.

Например, если мы хотим просмотреть две строки из файла, мы будем использовать следующую команду:

2 — количество строк, devisers.txt — имя файла.

Как Посмотреть Последнее Количество Байтов Данных?

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

Замените * на количество байтов, которое необходимо вывести.

Как Отслеживать Изменения в Файле?

Чтобы проверить файл на наличие новой информации, используйте команду tail вместе с опцией -f. Эта команда будет полезна при просмотре последних десяти строк файла. Опция обычно используется для отслеживания файлов логов в реальном времени. Для нашего файла devisers.txt команда будет выглядеть так:

Новые версии команд tail также позволяют пользователю просматривать несколько файлов или папок. После изменения исходного файла заголовок покажет, в какую строку кто-то внёс изменения.

Как Использовать Команду Tail с Другими Командами Linux?

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

Команда Tail с -r (Обратный Порядок)

Например, мы хотим просмотреть вывод команды tail в обратном порядке.

Первая часть команды такая же, как и раньше, затем мы разделяем её с помощью | для обозначения последующего действия — sort -r, которое, как следует из названия, сортирует вывод в обратном порядке.

Использование Команды Tail с ls (Самый Старый Файл или Папка)

С помощью следующего примера мы просмотрим семь файлов или папок, которые были изменены наиболее давно.

Чтобы сделать это, пропишем ls перед командой tail. Вот, как это будет выглядеть:

Как уже упоминалось раньше, в tail части команды -n8 вы можете указать любое число.

Итоги

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

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

М. Эйтчисон, разработчик FreeDos, даже разработал способы использования и среды, для которых лучше всего подходит команда tail Linux. Используйте команду, чтобы создавать собственные современные приложения, которые работают легко и без ошибок.

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

linux-notes.org

Команда tail в операционных системах UNIX или Linux используется для вывода последних N строк из файла на терминал. Команда tail особенно используется с лог-файлами, чтобы вывести последние несколько строк, чтобы знать о ошибках. Синтаксис команды tail таков:

Параметры команды tail таковы:

  • c : Выводит последние N байт указанного файла; Выводит + печатает символы N байт в файле.
  • n : Выводит последние N строк; Выводит + печатает строки из N-го количества строк в файле.
  • f : Вывод строк в режиме реального времени ( выводит когда появляются новые строки в файле).

Утилита tail в примерах Unix/Linux

В своей статье «Утилита tail в примерах Unix/Linux» я хотел бы рассказать о замечательной утилите tail и привести готовые примеры использования.

Создайте следующий файл use_tail.txt в операционной системе Linux или Unix для практикующих примеров со следующим содержанием:

Вывод последних 10 строк.

По умолчанию, команда tail печатает последние 10 строк из файла:

Вывести последние N строк.

Используйте опцию «-n», чтобы напечатать последние N строк из файла. Следующий пример печатает последние 3 строки из файла:

Вывести строки из N-й строки.

Вы можете печатать строки, начиная с N-й строки в файле. Следующий пример печатает строки начиная с 4-й линии:

Вывести последние n байт.

Использовать опцию «-c» для вывода последних N байт из файла. Следующий пример печатает последние 7 байт из файла:

5. Print characters from the Nth byte

Используйте следующий символ «+» с опцией «-c» чтобы печатать символы с N-го байта. Следующий пример печатает символы с 69-го байта.

Выводить последние строки из файла динамически (в режиме реального времени).

Опция «-f» выводит строки из файла, который динамично растет. При запуске команды «tail -f» с именем файла, он будет печатает последние 10 строк и ожидать новых линий, которые будут добавлены в файл. Всякий раз, когда новые линии добавляется в файл, команда tail также добавляет новые строки на стандартный вывод (на терминал). Опция «-f» полезна при отладке приложений.. Вы можете использовать опцию «-f», чтобы начать анализировать вывод разных ошибок в режиме реального времени:

Читайте также:  Нам не удалось завершить обновления отмена изменений windows 10 бесконечно перезагружается

На этом, у меня все, тема «Утилита tail в примерах Unix/Linux» завершена.

Источник

Просмотр содержимого файлов в командной строке Linux

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

Команда cat

Команда cat выводит содержимое файла, который передается ей в качестве аргумента.

Это самый простой и наиболее часто используемый способ для вывода содержимого текстовых файлов. Но выводить большие файлы через cat не всегда удобно.

Команда nl

Команда nl действует аналогично команде cat , но выводит еще и номера строк в столбце слева.

Команду nl удобно применять для просмотра программного кода или поиска строк в файлах конфигурации.

Команда less

Утилита less выводит содержимое файла, но отображает его только в рамках текущего окна в режиме просмотра.

Вы можете прокручивать текст файла клавишами стрелок или перелистывать страницы клавишами w и z .

Для поиска текста внутри файла нажмите / .

Для просмотра списка доступных горячих клавиш нажмите h

Чтобы выйти из режима просмотра используется клавиша q .

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

Команда more

Команда more очень похожа на команду less . Она также выводит файл в терминале в режиме просмотра, но имеет некоторые отличия от команды less.

Например, less в конце файла выводит сообщение (END) (или EOF — End Of File) и ожидает нажатия клавиши q чтобы закрыть режим просмотра, а more по достижении конца файла сразу возвращает управление в терминал.

Также more после своей работы оставляет текст файла в терминале, а less работает «чисто» и не сохраняет текст в терминале.

Команда head

Команда head выводит на экран только первые 10 строк файла.

Используя опцию -n можно задать количество строк, которое нужно вывести. Например, чтобы вывести 15 строк используется команда:

Вместо -n можно просто использовать знак минус — , за которым сразу указывается количество строк.

Команда tail

Команда tail аналогична команде head , но выводит последние 10 строк файла.

Заключение

Команды, которые мы рассмотрели, имеют дополнительные возможности и области применения. Для получения справки по каждой команде можно воспользоваться Man-страницами.

Источник

Кунг-фу стиля Linux: наблюдение за файлами

Linux или Unix приятно отличаются от многих других операционных систем тем, что Linux-программы часто выдают сообщения, которые записываются в какой-нибудь журнал. А многие команды даже можно настроить так, чтобы они генерировали бы больше сообщений, чем обычно. Я знаю о том, что в Windows есть средство для просмотра событий, но множество программ не особенно охотно делятся сведениями о своей работе. Это усложняет поиск источников проблем в тех случаях, когда что-то идёт не так, как ожидалось.

В случае с Linux проблема заключается в том, что иногда программы сообщают нам слишком много сведений о своей работе. Как найти в этом море информации именно то, что нужно? Когда киношный хакер сидит перед терминалом и смотрит на текст, прокручивающийся со скоростью 500 строк в секунду, выглядит это впечатляюще. Но в реальной жизни почти бесполезно изучать логи, выводимые на экран с такой скоростью. Хотя, если попрактиковаться, из этого потока информации можно иногда, рискуя ошибиться, выхватить какое-нибудь ключевое слово. Но задачу анализа логов в реальном времени это не решает.

Как и во многих других случаях, в Unix-подобных системах есть инструменты для решения вышеописанной задачи. И, что неудивительно, таких инструментов существует довольно много. Если вы, например, пользовались командой tail , то вы уже видели один из таких инструментов. Но tail — это лишь вершина айсберга.

Давайте рассмотрим пример анализа файла, который можно назвать «матерью всех логов». Это — /var/log/syslog . Попробуйте вывести его на экран с помощью команды cat или less (я, в своих системах, всегда создаю псевдоним more для команды less , поэтому если я вдруг упомяну команду more — знайте, что я имею в виду less ). Этот файл, вероятнее всего, будет очень большим, его размеры будут постоянно расти. В обычной настольной системе он ведёт себя довольно спокойно, но в некоторых старых системах и на серверах в нём можно увидеть последствия бурной деятельности разных программ. В любом случае, за исключением тех ситуаций, когда система только что загружена, в нём будут многие страницы данных.

Хакерский подход к анализу логов

Поиск информации, которая уже присутствует в этом файле, особых сложностей не вызывает. Тут можно воспользоваться grep , или можно загрузить копию файла в текстовый редактор. Проблема заключается в анализе свежей информации. Попробуйте подключить USB-устройство к системе (или отключите его от неё). Вы увидите, как в syslog появились новые записи. А что если в него постоянно добавляются десятки сообщений? Как за ними уследить?

И эта проблема характерна далеко не только для файла syslog . Например, интересно может быть наблюдать за файлом листинга в ходе выполнения долгой компиляции кода. То же относится и к наблюдению за перестроением RAID-массива. В общем-то, в Linux всегда можно найти некий большой файл, постоянно пополняемый свежими сведениями, за которым нужно понаблюдать.

Читайте также:  Tasks задачи для windows

Команда tail

Традиционный подход к наблюдению за файлами, постоянно пополняемыми информацией, заключается в использовании команды tail . Она берёт большой файл и возвращает лишь некоторое количество его последних строк. Эту команду можно вызвать с опцией -f . Тогда она будет ждать появления в файле новых данных и выводить их. Эта опция весьма полезна для наблюдения за файлами, в которые постоянно добавляется что-то новое. Опция -F приводит к практически такому же эффекту, но благодаря ей tail , если не может сразу открыть файл, будет продолжать пытаться открыть его. С помощью опции -m можно задавать количество выводимых последних строк файла, а с помощью опции -c — количество байтов. Опция -s позволяет задавать частоту проверки изменений файла.

Как по мне, так всё это выглядит очень даже хорошо. Попробуйте такую команду:

Вы увидите несколько строк из конца файла системного журнала. А если подключить к компьютеру USB-устройство или отключить такое устройство от компьютера, можно увидеть, как сведения, попавшие в журнал, практически мгновенно выводятся на экране. Повторно запускать tail при этом не нужно.

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

Меньше — значит больше: полезные возможности команды less

У команды less есть опция +F , которая превращает эту команду в хорошую замену команды tail . На самом деле, если вы испытаете команду, приведённую ниже, вас может посетить мысль о том, что результаты её работы не очень-то и отличаются от результатов работы tail . Вот эта команда:

Вот как вывод этой команды выглядит на моём компьютере.

Результаты работы команды less

Обратите внимание на то, что в нижней части экрана имеется надпись Waiting for data… . В данный момент утилита less работает практически так же, как и tail . Но если нажать CTRL+C — произойдёт кое-что интересное. Ну — что-то, возможно, и произойдёт. Попробуйте. Если less переходит в командный режим — значит всё в порядке. Теперь можно заниматься всем тем, чем обычно занимаются, просматривая файлы с помощью less . Если же по нажатию CTRL+C работа less прекратится, это будет означать, что ваш Linux-дистрибутив «помог» вам, установив некоторые стандартные опции less с использованием переменной окружения LESS . Попробуйте такую команду:

Если вы увидите, что в списке опций имеется —quit-on-intr , это будет значить, что проблема заключается именно в данной строке. Её надо убрать. После этого переключиться в командный режим можно с использованием CTRL+C . Это, кроме того, означает, что вам нужно запомнить, что для выхода из less используется команда q . Если вы вышли из режима наблюдения за файлом и хотите снова в него вернуться — просто нажмите F .

Если вы пользуетесь less в обычном режиме (то есть — не использовали при запуске утилиты опцию +F ), вы можете нажать клавишу F на клавиатуре для перехода в «tail-режим». А ещё интереснее то, что, нажав ESC-F можно в этом режиме что-то искать, при этом, если в поступающих данных найдётся совпадение с тем, что вас интересует, система вам об этом сообщит.

Команду less можно ещё использовать с ключом —follow-name . Это позволит добиться того же эффекта, что и использование опции -F команды tail .

Наблюдение за файлами с помощью команды watch

Иногда файл, за которым нужно наблюдать, не пополняется новыми данными, добавляемыми в его конец, а просто иногда меняется. Например, это файл /proc/loadavg или многие другие файлы из директории /proc . Использование команд tail или less не особенно хорошо подходит для наблюдения за такими файлами. Тут нам на помощь придёт команда watch :

Результат выполнения команды watch

Эта команда вызывает cat каждые 5 секунд и аккуратно выводит результат. Команда watch поддерживает множество полезных опций. Например, опция -d позволяет выделять отличия, а -p позволяет задействовать высокоточный таймер. Опция -c включает поддержку цвета.

Использование текстового редактора для наблюдения за файлами

Возможно, используемый вами текстовой редактор поддерживает tail-режим. При работе с emacs , например, есть несколько способов это организовать. Не буду рассказывать о том, как это сделать. Просто порекомендую вам эту отличную статью. Я не отношу себя к экспертам в области vim , но полагаю, что если вы пользуетесь этим редактором и хотите наблюдать за файлами, вам понадобится специальный плагин.

Если вы не ищете лёгких путей, то вам, возможно, подойдёт инструмент наподобие lnav, который сделан специально для просмотра логов. Просмотрщики журналов имеются, кроме того, в KDE и Gnome.

Итоги

Как это обычно бывает в Linux и Unix, у задачи организации наблюдения за файлами есть множество решений. Какое из этих решений «лучше» других? У каждого будет собственный ответ на этот вопрос. Именно это и делает Linux системой, привлекательной для продвинутых пользователей. Каждый из них может выбрать именно то, что подходит ему лучше всего.

Те команды, о которых мы говорили, могут пригодиться и тем, кто пользуется настольным дистрибутивом Linux, и тем, кто работает с серверами или с Raspberry Pi.

Как вы наблюдаете за постоянно изменяющимися файлами в Linux?

Источник

Оцените статью