Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

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

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

Представьте: вам не нужно пролистывать тысячи строк в поисках нужной информации. Head сделает всю черновую работу за вас, выводя на экран первые 10 строк по умолчанию. Но на этом ее возможности не заканчиваются.

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

Хотите видеть название файла перед содержимым или, наоборот, скрыть его для чистоты вывода? Легко! Нужно «отрезать» не начало, а конец файла, оставив все, кроме последних N строк? И это возможно.

Откройте для себя мощь комбинирования head с другими утилитами для создания сложных конвейеров обработки данных. Готовы превратить работу с текстом из рутины в удовольствие?

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


Команда head выводит начальные строки (по умолчанию — 10)  из одного или нескольких документов. Также она может показывать данные, которые передает на вывод другая утилита.

Сегодня мы расскажем как работает эта команда для Linux и покажем, как используются на практике наиболее популярные опции head.


Содержание статьи

Команда head в Linux

Синтаксис у команды head следующий:

$ head опции файл

Здесь:

  • Опции — это параметр, который позволяет настраивать работу команды таким образом, чтобы результат соответствовал конкретным потребностям пользователя.
  • Файл — это имя документа (или имена документов, если их несколько). Если это значение не задано либо вместо него стоит знак «-», команда будет брать данные из стандартного вывода.

Чаще всего к команде head применяются такие опции:

  • -c (--bytes) — позволяет задавать количество текста не в строках, а в байтах. При записи в виде --bytes=[-]NUM выводит на экран все содержимое файла, кроме NUM байт, расположенных в конце документа.
  • -n (--lines) — показывает заданное количество строк вместо 10, которые выводятся по умолчанию. Если записать эту опцию в виде --lines=[-]NUM, будет показан весь текст кроме последних NUM строк.
  • -q (--quiet, --silent) — выводит только текст, не добавляя к нему название файла.
  • -v (--verbose) — перед текстом выводит название файла.
  • -z (--zero-terminated) — символы перехода на новую строку заменяет символами завершения строк.

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

Примеры использования head

Самый простой способ использования команды head — с указанием имени файла, но без опций. В таком случае будут выведены на экран первые 10 строк.

head file-name.txt

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

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

head file-name1.txt file-name2.txt

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

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

Чтобы название файла выводилось даже в том случае, когда команде задан только один документ, следует воспользоваться опцией -v:

head -v file-name.txt

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

Если десяти строк, по умолчанию выводимых командой, окажется слишком мало или слишком много, ничто не мешает изменить их количество вручную. Для этой цели служит опция -n:

head -n file-name.txt

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

Не будем забывать об еще одном интересном свойстве этой опции. Она позволяет вывести то количество строк, которое останется после «отсечения» лишнего текста. Для этого нужно использовать не сокращенную (однобуквенную), а полную запись опции:

head --lines=[-]NUM

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

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

Следует заметить, что строки «отсекаются», начиная с последней.

До этого момента мы (и команда head вместе с нами) считали количество текста построчно. Но это не обязательное условие — с таким же успехом единицей измерения может быть байт. Достаточно сообщить команде о новом правиле работы с помощью опции -с, заодно указав и количество байт, которое нужно вывести на экран (NUM):

head -c NUM file-name.txt

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

Как и в случае с опцией --lines, можно «отсечь» ненужный объем текста, используя полную форму опции -с — --bytes. Запись команды проводится по тому же принципу и лишние байты тоже отсчитываются, начиная с конца документа:

head --bytes=[-]NUM

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

При записи байт можно использовать буквенные суффиксы:

  • b — умножает число на 512.
  • kB — на 1000.
  • k — на 1024.
  • MB — на 1 000 000.
  • M — на 1 048 576.

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

echo $RANDOM | sha512sum | head -c 24 file-name.txt; echo

Head в Linux: как быстро просмотреть начало файла и скрытые возможности команды

На этом наши примеры head linux подошли к завершению.

Выводы

Команда head linux, которая выводит начальные строки файла, - это в некотором роде антагонист команды tail (она печатает в терминале последние строки). Поскольку ее синтаксис довольно прост, у пользователей, как правило, не возникает проблем с использованием этой команды. Если у вас появились вопросы или замечания по части команды head и ее применения в Linux-системах, обязательно оставьте комментарий внизу.

Оставить комментарий


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