Команда 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 file-name1.txt file-name2.txt
Разумеется, файлов может быть и три, и четыре, и больше. Чтобы не возникало путаницы, их содержимое автоматически разделяется пустой строкой, а перед текстом выводится название документа.
Чтобы название файла выводилось даже в том случае, когда команде задан только один документ, следует воспользоваться опцией -v:
head -v file-name.txt
Если десяти строк, по умолчанию выводимых командой, окажется слишком мало или слишком много, ничто не мешает изменить их количество вручную. Для этой цели служит опция -n:
head -n file-name.txt
Не будем забывать об еще одном интересном свойстве этой опции. Она позволяет вывести то количество строк, которое останется после «отсечения» лишнего текста. Для этого нужно использовать не сокращенную (однобуквенную), а полную запись опции:
head --lines=[-]NUM
Во время работы в терминале квадратные скобки не используются, знак минуса идет сразу же после знака равно. Вместо NUM следует указать число. Вот как выглядит запись команды и ее результат на скриншоте.
Следует заметить, что строки «отсекаются», начиная с последней.
До этого момента мы (и команда head вместе с нами) считали количество текста построчно. Но это не обязательное условие — с таким же успехом единицей измерения может быть байт. Достаточно сообщить команде о новом правиле работы с помощью опции -с, заодно указав и количество байт, которое нужно вывести на экран (NUM):
head -c NUM file-name.txt
Как и в случае с опцией —lines, можно «отсечь» ненужный объем текста, используя полную форму опции -с — —bytes. Запись команды проводится по тому же принципу и лишние байты тоже отсчитываются, начиная с конца документа:
head --bytes=[-]NUM
При записи байт можно использовать буквенные суффиксы:
- 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, которая выводит начальные строки файла, — это в некотором роде антагонист команды tail (она печатает в терминале последние строки). Поскольку ее синтаксис довольно прост, у пользователей, как правило, не возникает проблем с использованием этой команды. Если у вас появились вопросы или замечания по части команды head и ее применения в Linux-системах, обязательно оставьте комментарий внизу.
Дорогие читатели, если вы увидели ошибку или опечатку в статье «Команда head linux», помогите нам ее исправить! Выделите ошибку и нажмите одновременно клавиши «Ctrl» и «Enter». Мы получим ваше сообщение и внесём исправления в ближайшее время.
Источник: winzen.ru