Linux / Comando head: mostrar las primeras líneas o bytes de un archivo
head es un comando que muestra solo la parte inicial de un archivo o de la entrada estándar. El valor predeterminado son las primeras 10 líneas y se utiliza para verificar rápidamente el formato del archivo y el encabezado, o para limitar la cantidad de resultados en una canalización.
Los ejemplos de archivos requieren rutas que existan en su entorno: cambie access.log, sales.csv y otros nombres por archivos adecuados. Para comparar las funciones de estas herramientas, consulte la Lista de comandos de uso frecuente en Linux.
El número de líneas se especifica con -n, y el número de bytes con -c. Si se proporcionan varios archivos, se agrega un encabezado con el nombre del archivo para distinguir cada resultado. En la implementación de GNU, también se proporciona una extensión para mostrar el resto después de excluir la parte final con un número negativo.
Sintaxis básica
head [OPCIONES] [ARCHIVO ...]
Las opciones y el comportamiento detallado pueden variar según la implementación y la versión. En el sistema actual, consulte la descripción de los comandos instalados como head --help y man head.
Uso básico de head
Ver las primeras 10 líneas
Si se omite la opción, se muestran las primeras 10 líneas de cada entrada.
head access.log
Mostrar el número deseado de líneas
Se especifica el número de líneas después de -n.
head -n 25 access.log
Mostrar los primeros bytes
No se trata del número de caracteres, sino del número de bytes, por lo que los límites de los caracteres de varios bytes pueden cortarse.
head -c 64 sample.bin
Resultado de leer solo la parte inicial
head -n 2 imprime solo las dos primeras líneas de la entrada. Es útil para verificar una pequeña muestra sin cambiar el original.
printf 'one\ntwo\nthree\n' | head -n 2
Ejemplo de salida:
one
two
Si el comando antes de la tubería produce muchos datos, head puede terminar prematuramente, lo que provoca un error de tubería rota en el comando anterior. En automatización, verifique el estado de finalización de toda la tubería.
Opciones principales
| Opciones | Descripción |
|---|---|
-n NUM |
Imprime las primeras NUM líneas. |
-c NUM |
Imprime los primeros NUM bytes. |
-q |
Oculta el encabezado del nombre del archivo al procesar varios archivos. |
-v |
Muestra el encabezado del nombre del archivo incluso si solo hay un archivo. |
-n -NUM |
Imprime todo excepto las últimas NUM líneas en la implementación GNU. |
-c -NUM |
Imprime todo excepto los últimos NUM bytes en la implementación GNU. |
Ejemplos de uso práctico
Revisar encabezado y muestra de CSV
Mire rápidamente la primera fila y algunos datos sin abrir todo el archivo.
head -n 6 sales.csv
Comparar las partes iniciales de varios registros
Marque claramente el nombre del archivo con -v para distinguir la fuente del resultado.
head -v -n 5 app.log worker.log
Ver solo una parte del resultado del comando
Dado que los comandos de producción pueden recibir SIGPIPE después de que head termine, se debe tener cuidado al interpretar el estado de salida en tuberías estrictas.
find /var/log -type f | head -n 20
Comparación de comandos relacionados con head
| Comando | Rol principal | Situaciones adecuadas |
|---|---|---|
head |
Salida de la parte inicial | Verificación de encabezados y muestras |
tail |
Salida de la parte final · seguimiento | Verificación de registros recientes |
sed |
Selección y edición de rango | Manejo de rangos de líneas complejas |
less |
Exploración interactiva completa | Búsqueda de archivos largos |
Precauciones al usar
-c no es el número de caracteres
Si se corta en medio de la secuencia de bytes de un carácter UTF-8, pueden aparecer caracteres dañados.
El head antes de ordenar sigue el orden original
Si desea el valor más grande o el elemento más reciente, primero debe ordenar adecuadamente.
Verifique el estado de finalización del pipe
En un entorno set -o pipefail, un SIGPIPE del comando anterior puede aparecer como un fallo.
FAQ
¿Cuántas líneas se muestran por defecto?
Generalmente, son las primeras 10 líneas.
¿Cómo se puede ver solo la primera línea?
Se utiliza head -n 1 ARCHIVO.
¿Qué comando se usa para ver la última línea?
Se utiliza tail.
¿Cómo se muestran los primeros 1024 bytes?
En GNU head, el sufijo K equivale a 1024 bytes, mientras que kB equivale a 1000. Puede usar head -c 1K ARCHIVO. Verifique si el soporte depende de la implementación.




