El comando `head` en Linux imprime el inicio de los archivos o la entrada, lo que permite previsualizar rápidamente las primeras líneas o bytes sin abrir el archivo completo. Por defecto, `head` muestra las primeras 10 líneas, admite varios archivos y funciona con tuberías. Es esencial para la inspección de registros, el muestreo de datos y la programación de scripts de shell.
Si regularmente manage Para servidores, depurar aplicaciones o procesar conjuntos de datos, aprender el comando head en Linux es imprescindible. Esta guía para principiantes explica la sintaxis, las opciones, los casos de uso prácticos y los consejos avanzados de head, elaborados a partir de más de 12 años de experiencia práctica en alojamiento y administración de sistemas en YouStable.
¿Qué es el comando head en Linux?

`head` es una utilidad estándar de Unix/Linux (incluida en GNU coreutils en la mayoría de las distribuciones) que muestra el inicio de un archivo o flujo de datos. Por defecto, muestra 10 líneas, pero puede mostrar cualquier número de líneas o bytes que se especifique. Admite varios archivos, funciona perfectamente con tuberías y es seguro usar con archivos de gran tamaño.
Sintaxis y uso básico
En su forma más simple, head imprime las primeras 10 líneas de cada archivo que se le pase. Utilice las opciones para cambiar la cantidad de líneas o bytes que se muestran.
head [OPTION]... [FILE]...Mostrar las primeras N líneas
Utilice -n (o –lines) para controlar el número de líneas. Los números positivos imprimen las primeras N líneas. Un signo menos al principio excluye las últimas N líneas (consulte los consejos avanzados a continuación).
# First 10 lines (default)
head /var/log/syslog
# First 20 lines
head -n 20 /var/log/syslog
# First 3 lines of two files
head -n 3 file1.txt file2.txtMostrar los primeros N bytes
Utilice la opción -c (o –bytes) cuando necesite previsualizaciones con precisión de byte, lo cual resulta útil para archivos binarios o en situaciones con limitaciones de rendimiento estrictas.
# First 100 bytes
head -c 100 image.jpg > sample.bin
# First 4 KiB of a huge log
head -c 4096 /var/log/nginx/access.logLeer desde la entrada estándar (tuberías)
Head funciona a la perfección en flujos de trabajo colaborativos , lo que la convierte en una herramienta imprescindible para muestrear la salida de los comandos.
# Preview the first 10 matches
grep "ERROR" /var/log/app.log | head
# Sample the first 15 lines of a sorted list
sort largefile.txt | head -n 15Múltiples archivos y encabezados
Cuando se pasan varios archivos, head imprime un encabezado antes de cada uno por defecto. Se pueden silenciar o forzar los encabezados con las opciones -q o -v.
# Default: headers shown
head -n 5 file1.txt file2.txt
# Quiet: no headers
head -q -n 5 file1.txt file2.txt
# Verbose: always show headers
head -v file1.txtOpciones y banderas esenciales
-n, --lines=KImprime las primeras K líneas. Si K comienza con un signo menos (por ejemplo, -n -5), el encabezado imprime todas las líneas excepto las últimas K. Esto es útil para recortar los pies de página o los finales de archivo en los archivos generados.
# First 25 lines
head -n 25 report.txt
# Everything except the last 3 lines (GNU head)
head -n -3 report.txt-c, –bytes=K
Imprime los primeros K bytes. Si añades un signo menos al principio, imprime todos los bytes excepto los últimos K. Esto resulta útil al trabajar con pies de página binarios o cuando necesitas una muestra limitada en bytes para pruebas de herramientas.
# First 1 MB of a file
head -c 1M bigfile.dat
# All but the last 512 bytes (GNU head)
head -c -512 archive.tar-q, –quiet y -v, –verbose
Controla si se imprimen los encabezados para varios archivos. -q suprime los encabezados; -v los fuerza incluso para un solo archivo. Esto resulta útil en scripts para que las salidas sean deterministas.
-z, -terminado en cero
Trate las líneas de entrada como terminadas en NUL en lugar de terminadas en salto de línea (extensión GNU). Utilice esto por seguridad con nombres de archivo que contengan saltos de línea, normalmente al canalizar desde find -print0.
# Safely sample filenames containing special characters
find . -type f -print0 | head -z -n 10 | tr '�' 'n'Ayuda y versión
head --help
head --versionCasos de uso prácticos para la cabeza
Previsualiza rápidamente los registros
El muestreo de registros le ayuda a validar rotaciones, formatos y etapas del proceso sin necesidad de cargar el archivo completo.
# Inspect the latest rotated syslog
ls -ltr /var/log | tail -n 5 | head -n 1
# Verify Nginx access log structure
head -n 20 /var/log/nginx/access.logOn YouStable VPS o servidores dedicadosEste enfoque ahorra E/S y reduce CPU su uso mientras soluciona problemas, especialmente en plataformas web con mucho tráfico.
Compruebe los encabezados CSV y las filas de muestra.
Los equipos de datos a menudo necesitan confirmar rápidamente el esquema y la codificación. head ofrece una instantánea fiable.
# View header + first 10 rows
head -n 11 data.csv
# Check if file is actually binary or malformed text
head -c 256 data.csv | hexdump -CCombinar con grep, sed, awk
Head es un excelente "interruptor de circuito" para limitar el volumen en las tuberías y así poder iterar más rápido.
# First 15 error lines only
grep -i "error" app.log | head -n 15
# Preview first 50 unique domains (case-insensitive)
awk -F, '{print tolower($3)}' access.csv | sort -u | head -n 50
# Sample transformed lines to validate logic
sed 's/foo/bar/g' big.txt | headInspeccione archivos binarios de forma segura
Al trabajar con archivos comprimidos o imágenes, lea un pequeño rango de bytes en lugar de abrir el archivo completo. Esto es más seguro y rápido en entornos de producción.
# Peek at magic numbers or headers
head -c 64 file.bin | hexdump -C
# Verify TAR header without expanding
head -c 512 backup.tar | hexdump -CMuestreo de archivos compatible con scripts
Utilice la opción `head` en CI/CD o en trabajos cron para proporcionar registros concisos y legibles, y limitar la salida de información innecesaria.
# In a script: log top of a build artifact list
ls -lh artifacts/ | head -n 20 > build_summary.txtConsejos avanzados para usuarios avanzados
Cara vs Cruz vs Sedo
– La cabeza muestra el comienzo.
- Usar
tailpara mostrar el final (ytail -fpara seguir el crecimiento). - Usar
sedorawkcuando necesite selección basada en patrones o procesamiento de campos estructurados. - Para el muestreo de rendimiento,
headEs la forma más rápida de previsualizar el contenido antes de crear comandos complejos.
Excluir líneas o bytes finales
La versión más reciente de GNU admite recuentos negativos para excluir datos del final. Esto es poco conocido, pero resulta extremadamente útil.
# Drop last 2 lines
head -n -2 file.txt
# Drop last 128 bytes
head -c -128 file.binNota: Los recuentos negativos son una extensión de GNU y podrían no funcionar en todas las variantes de Unix (por ejemplo, algunas compilaciones de BSD/macOS). Para mayor portabilidad, se recomienda usar recuentos positivos o sus equivalentes en sed/awk.
Rendimiento y seguridad de E/S
En servidores con mucha carga, evite usar patrones como `cat bigfile | head`, ya que añaden procesos innecesarios. Llame directamente a `head` en el archivo o utilice canalizaciones dirigidas. Use `-c` para lecturas con límite de bytes y así minimizar la E/S del disco, especialmente en almacenamiento en red o al previsualizar registros masivos.
Vista previa de archivos remotos
Con SSHPuedes previsualizar archivos en hosts remotos sin copiarlos localmente.
# Peek at a remote log
ssh user@server "head -n 50 /var/log/app.log"Si manage múltiples entornos, un YouStable Un VPS o servidor dedicado le brinda acceso de administrador y un rendimiento de E/S predecible, ideal para la inspección de registros, implementaciones y acceso remoto seguro. managedesarrollo a escala.
Errores comunes y cómo evitarlos
- Asumiendo
-n +Nfunciona con la cabeza: Esa sintaxis pertenece atail. Utilizar-n Ncon la cabeza. - Usar la función head para “seguir” los archivos: Usar
tail -fpara observar los registros en tiempo real. - Problemas de portabilidad: Banderas específicas de GNU como
-zo los recuentos negativos pueden no funcionar en sistemas que no sean GNU (algunos macOS/BSD). Manténgase en-ny-cpara la portabilidad. - Sorpresas binarias: La previsualización de archivos binarios en una terminal puede producir caracteres de control. Preferir
head -ccombinado conhexdump -C. - Finales de línea CRLF: Los archivos con formato de Windows pueden mostrarse de forma diferente. Convertir con
dos2unixsi los saltos de línea parecen extraños.
Escenarios del mundo real en el ámbito del hosting y DevOps
- Servidor web triaje: Validar nuevo Nginx/Apache Los registros posteriores a una implementación con encabezado /var/log/nginx/access.log para confirmar el formato y la rotación.
- Exportaciones de la base de datos: Verifique los encabezados de volcado y las declaraciones iniciales con
head -n 30 backup.sqlpara garantizar el esquema y la codificación correctos. - Comprobaciones de artefactos de CI: Confirme la parte superior de los manifiestos de embalaje antes de enviarlos a producción.
- Auditorías de seguridad: Analice las primeras líneas de los registros de autenticación para detectar anomalías recientes antes de realizar un análisis más profundo.
Guía rápida: Patrones prácticos para la cabeza
- Primeras 50 líneas:
head -n 50 file - Primeros 8 KB:
head -c 8K file - Previsualiza varios archivos en silencio:
head -q -n 5 f1 f2 f3 - Excluir las dos últimas líneas (GNU):
head -n -2 file - Ejemplo de salida del proceso:
command | head - Seguridad con terminación cero (GNU):
find . -print0 | head -z -n 10
También echa un vistazo a estos comandos
• Explicación del comando de instalación de Chocolatey con un ejemplo
• Explicación del comando Chown en Linux con ejemplos
• Explicación del comando Echo en Linux con ejemplos
• Comando NMAP en Linux | Guía definitiva de escaneo de red
Preguntas Frecuentes
¿Qué hace el comando head en Linux?
El comando `head` imprime el inicio de archivos o flujos de datos. Por defecto, muestra las primeras 10 líneas, pero puede mostrar cualquier número de líneas o bytes. Es ideal para previsualizaciones rápidas, scripts y comprobaciones de rendimiento en archivos grandes.
¿Cómo puedo mostrar las primeras 20 líneas de un archivo?
Utilice `head -n 20 nombre_archivo`. Reemplace 20 por cualquier número positivo para ver esa cantidad de líneas. Para ver bytes en lugar de líneas, utilice `head -c 100 nombre_archivo`.
¿Puedo usar la función head con varios archivos?
Sí. Se pueden pasar varios nombres de archivo: head -n 5 archivo1 archivo2. Head añade una cabecera antes de cada archivo. Se pueden suprimir las cabeceras con -q o forzarlas con -v.
¿Cuál es la diferencia entre cabeza y cola?
`head` muestra el inicio de un archivo, mientras que `tail` muestra el final. Usa `tail -f` para seguir un archivo de registro en crecimiento en tiempo real; `head` no admite la función "seguir".
¿Cómo puedo previsualizar archivos binarios de forma segura?
Utilice `head -c` para limitar la salida en bytes y, a continuación, redirija la salida a `hexdump` para obtener un resultado legible. Ejemplo: `head -c 64 file.bin | hexdump -C`. Esto evita enviar caracteres de control sin procesar a la terminal.
¿Por qué no funciona head -n -3 en mi Mac?
Los conteos negativos son una extensión de GNU. Algunas versiones de head para BSD/macOS no los admiten. Utilice alternativas portátiles como sed o actualice coreutils (por ejemplo, mediante Homebrew) para obtener GNU head.
¿Cómo puedo imprimir solo los encabezados de un archivo CSV usando la función head?
Si la primera línea es el encabezado, ejecute head -n 1 data.csv. Para previsualizar el encabezado y algunas filas, use head -n 11 data.csv.
Conclusión
El comando `head` en Linux es una utilidad pequeña pero potente para previsualizar archivos rápidamente, optimizar la seguridad de los flujos de trabajo y facilitar la resolución de problemas. Dominar las opciones `-n` y `-c`, así como las cabeceras y la entrada con terminación en cero, agilizará tu trabajo diario con registros, archivos CSV y binarios.
Si manage Para cargas de trabajo de producción, combine estas habilidades de CLI con una infraestructura confiable. YouStable, VPS de alto rendimiento y Servidores dedicados Proporciona la estabilidad, el acceso de administrador y la capacidad de observación que necesitas para priorizar los problemas rápidamente, de modo que tus sesiones de inicio y fin se mantengan rápidas, incluso bajo carga.
