Comando head en Linux para visualizar el inicio de archivos

El comando head en sistemas operativos bassados en Unix y Linux muestra las primeras líneas o bytes de un archivo. De manera predeterminada, presenta las 10 líneas iniciales, pero permite personalizar la cantidad según necesidades.

Opciones dsiponibles

  • -c, --bytes=[-]K: Exhibe los primeros K bytes. Con un prefijo '-', se omiten los últimos K bytes.
  • -n, --lines=[-]K: Muestra las primeras K líneas. Con un prefijo '-', se excluyen las últimas K líneas.
  • -q, --quiet, --silent: Suprime los encabezados que indican nombres de archivo.
  • -v, --verbose: Muestra siempre los encabezados con nombres de archivo.
  • --help: Presenta ayuda y finaliza.
  • --version: Indica la versión y termina.

Ejemplos prácticos

Para ver las primeras 4 líneas del archivo /etc/hosts:


$ head -n 4 /etc/hosts
127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
fe00::0		ip6-allnodes

Para mostrar los primeros 25 bytes de /etc/hostname:


$ head -c 25 /etc/hostname
nombre-de-maquina-ejemplo

Para mostrar todas las líneas excepto las últimas 20 de un archivo de registro, como /var/log/syslog:


$ head -n -20 /var/log/syslog
Aug  2 08:00:01 servidor systemd[1]: Started Daily apt activities.
Aug  2 08:00:02 servidor kernel: [    0.000000] Linux version 5.4.0-42-generic
... (contenido adicional omitido)

Para mostrar las primeras 3 líneas con el encabezado del archivo:


$ head -v -n 3 /etc/passwd
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

Al trabajar con múltiples archivos, como /etc/hosts y /etc/resolv.conf:


$ head -n 6 /etc/hosts /etc/resolv.conf
==> /etc/hosts <==
127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
fe00::0		ip6-allnodes
ff02::2		ip6-allrouters
ff02::3		ip6-allhosts

==> /etc/resolv.conf <==
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.53
options edns0
search mydomain.com

Para ocultar los encabezados y concatenar el contenido directamente:


$ head -q -n 6 /etc/hosts /etc/resolv.conf
127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
fe00::0		ip6-allnodes
ff02::2		ip6-allrouters
ff02::3		ip6-allhosts
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.53
options edns0
search mydomain.com

Este comando es frecuentemente utilizado en combinación con tuberías para procesar la salida de otros comandos en el terminal.

Etiquetas: head linux bash comandos de terminal gestión de archivos

Publicado el 7-24 04:47