Команды linux head tail

Команды head и tail в дистрибутивах Linux

При работе в дистрибутивах Linux может возникнуть ситуация, когда необходимо посмотреть содержимое какого-то файла. Для этих целей можно воспользоваться такими командами как cat, о которой писалось тут, или less, о ней подробно читайте тут. Но что делать, если вам нужно просмотреть лишь часть файла, скажем, начало или конец? В этом случае можно прибегнуть к таким командам как head и tail.

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

Команда head

Итак, начнем с команды head, которая показывает начало файла. Синтаксис у команды head довольно простой:

Опции – это параметры, которые изменяют поведение команды. Дополнительных опций у команды head не так и много. Вы всегда можете прибегнуть к справке по этой команде:

head и tail в дистрибутивах Linux 1

  • -c, –bytes=[-]K напечатать первые K байт каждого файла; если перед K стоит «-», напечатать все, кроме K последних байт каждого файла
  • -n, –lines=[-]K напечатать K строк каждого файла, а не первые 10; если перед K стоит «-», напечатать все, кроме K последних строк каждого файла
  • -q, –quiet, –silent не печатать заголовки с именами файлов
  • -v, –verbose всегда печатать заголовки с именами файлов
  • -z, –zero-terminated разделитель строк NUL, а не символ новой строки
  • –help показать эту справку и выйти
  • –version показать информацию о версии и выйти

Где К имеется ввиду какое-то число, ниже вы это увидите из примера где выводится командой head только 5 строк из файла.

Одна из наиболее распространенных опций, которая используется вместе с командой head, это опция “-n”. Она позволяет указать количество строк, которые нужно вывести. Например, чтобы вывести определенное количество строк, после опции “-n” указываем необходимое число, к примеру, выведем первые 5 строк из файла с названием “file”:

head и tail в дистрибутивах Linux 2

Команда tail

Наиболее интересно выглядит команда tail. Эта команда выводит конечную часть файла. Синтаксис команды tail такой же, как и у команды head:

Справка с дополнительными опциями вызывается командой:

head и tail в дистрибутивах Linux 3

  • -c, –bytes=[+]Н показать последние Н байт; или укажите -c +Н, чтобы начать вывод каждого файла с Н-го байта
  • -f, –follow[=] выводить поступающие данные по мере роста файла; при отсутствии параметра используется «descriptor»
  • -F эквивалент –follow=name –retry
  • -n, –lines=Н выводить последние Н строк, а не последние 10; или используйте -n +Н для вывода, начиная с Н-ной
  • -q, –quiet, –silent не выводить заголовки с именами файлов
  • -v, –verbose всегда выводить заголовки с именами файлов
  • -z, –zero-terminated разделитель строк NUL, а не символ новой строки

Где Н, так же как и в случае с командой выше, имеется ввиду какое-то число, что будет продемонстрировано ниже.

Для примера возьмем все туже опцию ” -n”, которая позволяет указать количество строк для показа из файла. Например, чтобы вывести последние 20 строк из файла с названием file, после опции “-n” указываем число 20:

head и tail в дистрибутивах Linux 4

Заключение

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

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

А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:

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

Источник

Эффективное управление файлами с помощью команд head, tail и cat в Linux

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

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

1. Головная команда

Команда head читает первые десять строк любого заданного имени файла. Основной синтаксис команды head:

Например, следующая команда отобразит первые десять строк файла с именем «/etc/passwd».

# head /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh

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

# head /etc/passwd /etc/shadow ==> /etc/passwd /etc/shadow 

Если требуется получить большее количество строк, чем десять по умолчанию, используется параметр «-n» вместе с целым числом, указывающим количество строк, которые необходимо получить. Например, следующая команда отобразит первые 5 строк из файла «/var/log/yum.log».

# head -n5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch

На самом деле нет необходимости использовать опцию «-n». Просто дефис и укажите целое число без пробелов, чтобы получить тот же результат, что и в приведенной выше команде.

# head -5 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el6_5.4.i686 Jan 10 00:06:56 Updated: openssl-devel-1.0.1e-16.el6_5.4.i686 Jan 10 00:11:42 Installed: perl-Net-SSLeay-1.35-9.el6.i686 Jan 13 22:13:31 Installed: python-configobj-4.6.0-3.el6.noarch Jan 13 22:13:36 Installed: terminator-0.95-3.el6.rf.noarch

Команда head также может отображать любое желаемое количество байтов, используя параметр «-c», за которым следует количество отображаемых байтов. Например, следующая команда отобразит первые 45 байт данного файла.

# head -c45 /var/log/yum.log Jan 10 00:06:49 Updated: openssl-1.0.1e-16.el

2. хвостовая команда

Команда tail позволяет отображать последние десять строк любого текстового файла. Как и команда head, описанная выше, команда tail также поддерживает параметры «n» количество строк и «n» количество символов.

Основной синтаксис команды tail:

# tail [options] [filenames]

Например, следующая команда напечатает последние десять строк файла с именем «access.log».

# tail access.log 1390288226.042 0 172.16.18.71 TCP_DENIED/407 1771 GET http://download.newnext.me/spark.bin? - NONE/- text/html 1390288226.198 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.210 1182 172.16.20.44 TCP_MISS/200 70872 GET http://mahavat.gov.in/Mahavat/index.jsp pg DIRECT/61.16.223.197 text/html 1390288226.284 70 172.16.20.44 TCP_MISS/304 269 GET http://mahavat.gov.in/Mahavat/i/i-19.gif pg DIRECT/61.16.223.197 - 1390288226.362 570 172.16.176.139 TCP_MISS/200 694 GET http://p4-gayr4vyqxh7oa-3ekrqzjikvrczq44-if-v6exp3-v4.metric.gstatic.com/v6exp3/redir.html pg 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html

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

# tail access.log error.log ==> access.log error_log 

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

# tail -5 access.log 1390288226.402 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.437 145 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.445 0 172.16.18.53 TCP_DENIED/407 1723 OPTIONS http://172.16.25.252/ - NONE/- text/html 1390288226.605 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html 1390288226.808 0 172.16.16.55 TCP_DENIED/407 1753 CONNECT ent-shasta-rrs.symantec.com:443 - NONE/- text/html

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

# tail -c5 access.log ymantec.com:443 - NONE/- text/html

3. Кошка Команда

Команда «cat» является наиболее широко используемым универсальным инструментом. Он копирует стандартный ввод в стандартный вывод. Команда поддерживает прокрутку, если текстовый файл не помещается на текущем экране.

Основной синтаксис команды cat:

# cat [options] [filenames] [-] [filenames]

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

# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh …

Команда cat также используется для объединения нескольких файлов.

# echo 'Hi Tecmint-Team' > 1 # echo 'Keep connected' > 2 # echo 'Share your thought' > 3 # echo 'connect us ' > 4
# cat 5 Hi Tecmint-Team Keep connected Share your thought connect us

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

# cat > tecmint.txt Tecmint is the only website fully dedicated to Linux.

У нас может быть специальный концевик для команды «кошка». Вот это реализовано.

# cat test.txt I am Avishek Here i am writing this post Hope your are enjoying

Никогда не недооценивайте силу команды «cat», она может быть полезна для копирования файлов.

# cat avi.txt I am a Programmer by birth and Admin by profession
# cat avi1.txt I am a Programmer by birth and Admin by profession

Теперь, что является противоположностью кошки? Да, это «tac». «tac» — это команда в Linux. Лучше показать пример такта, чем что-то говорить о нем.

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

# cat month January February March April May June July August September October November December
# tac month December November October September August July June May April March February January

Дополнительные примеры использования команды cat см. в разделе Использование команды 13 cat.

Это все на данный момент. Я буду здесь снова с другой интересной статьей, которую стоит знать. А пока следите за обновлениями и подключайтесь к Tecmint. Не забудьте предоставить нам свои ценные отзывы в нашем разделе комментариев.

Источник

Читайте также:  How to mount an iso in linux
Оцените статью
Adblock
detector