ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Команда head в Linux для начинающих (5 примеров)

Команда Head в Linux для начинающих (5 примеров)

Иногда, при работе в командной строке в Linux, вы можете быстро посмотреть на несколько начальных строк файла. Например, если файл журнала постоянно обновляется, вы можете посмотреть, скажем, первые 10 строк файла журнала каждый раз. При просмотре файла в редакторе (как Vim) всегда существует вариант, как инструмент командной строки – это head – позволяет очень легко просматривать начальные несколько строк файла.

В этой статье мы обсудим основу команды head, используя некоторые легко понятные примеры. Пожалуйста, обратите внимание, что все шаги/инструкции, упомянутые здесь, были протестированы на Ubuntu 16.04LTS.

Команда head в Linux

Как уже упоминалось в начале, команды Head позволяет пользователям просматривать первую часть файлов. Вот его синтаксис:

head [OPTION]... [FILE]...

 

И следующее, как man page описывает команду head:

Печатает первые 10 строк каждого ФАЙЛА на стандартный вывод. С более чем один ФАЙЛ, перед каждым заголовком идет имя файла.

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

Q1. Как напечатать первые 10 строк файла на терминале (стандартный вывод)?

Это довольно легко, используя head – на самом деле, это поведение по умолчанию для инструмента.

head [file-name]

 

На следующем примере показана команда в действии:

root@destroyer:/etc/nginx# head nginx.conf                                                                                                                     
user www-data;                                                                                                                                                
worker_processes 3;                                                                                                                                           

error_log  /var/log/nginx/error.log notice;                                                                                                                   
                                                                                                                                                              
worker_rlimit_nofile 65535;                                                                                                                                   

pid        /var/run/nginx.pid;                                                                                                                                

events {

 

Q2. Как настроить вывод определенного количество линий с помощью команды head?

В то время как 10 строк является по умолчанию, которое команда head печатает, вы можете изменить это число в соответствии с вашими требованиями. опция -n командной строки позволяет сделать это.

head -n [N] [File-name]

 

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

head -n 5 file1

 

root@destroyer:/etc/nginx# head -n 5 nginx.conf                                                                                                                
user www-data;                                                                                                                                                
worker_processes 3;                                                                                                                                           
                                                                                                                                                              
error_log  /var/log/nginx/error.log notice;

 

Q3. Как ограничить вывод определенного количества байтов?

Не только количество строк, вы можете также ограничить вывода команды head на определенное число байтов. Это может быть сделано с помощью параметра -c командной строки.

head -c [N] [File-name]

 

Например, если вы хотите, чтобы отображались только первые 25 байт, то вот как вы можете выполнить его:

head -c 25 file1

 

root@destroyer:/etc/nginx# head -c 25 nginx.conf                                                                                                               
user www-data;

 

Таким образом, вы можете увидеть, что инструмент отображает только первые 25 байт в выводе.

Пожалуйста, обратите внимание, что [N] ” может иметь суффикс множитель: б 512, кбайт 1000, K 1024, MB 1000 * 1000, M 1024 * 1024, GB 1000 * 1000 * 1000, G 1024 * 1024 * 1024, и так далее для Т, Р, Е, Z, Y «.

Q4. Как напечатать и имя файла на выводе?

Если по какой-то причине, вы хотите, чтобы команда head также напечатала имя файла на выводе, вы можете сделать это с помощью опции -v командной строки.

head -v [file-name]

 

Вот пример:

root@destroyer:/etc/nginx# head -c 25 nginx.conf                                                                                                               
user www-data;                                                                                                                                                
worker_proroot@destroyer:/etc/nginx# head -v nginx.conf                                                                                                        
==> nginx.conf <==                                                                                                                                            
user www-data;                                                                                                                                                
worker_processes 3;                                                                                                                                           
                                                                                                                                                              
error_log  /var/log/nginx/error.log notice;                                                                                                                   
                                                                                                                                                              
worker_rlimit_nofile 65535;                                                                                                                                   

pid        /var/run/nginx.pid;                                                                                                                                

events {

 

Как вы можете видеть, имя файла «файл 1» был указан на выводе.

Q5. Как указать NUL разделитель в линии, вместо новой строки?

По умолчанию, вывод команды head ограничен новой строки. Но есть также возможность использования NUL в качестве разделителя. Опция -z или  –zero-terminated позволяет сделать это.

head -z [file-name]

 

Вывод

Как большинство из вас согласятся, что простая команда head, понятна и ее легко использовать. Функции (в терминах параметров командной строки), которые она предлагает также ограничены, и мы рассмотрели почти все из них.

Exit mobile version