
La mayoría de los administradores de sistemas solo usan cat para volcar archivos tail -f Mira el registro. Esto deja muchos comportamientos útiles sin cambios y hace perder mucho tiempo desplazándose por archivos que se pueden dividir en segundos.
Cada sistema Linux, ya sea una máquina virtual en la nube, un servidor básico o un contenedor que ejecuta un único servicio; Los archivos se generan constantemente. Los archivos de configuración, archivos de registro, exportación CSV, resultados de implementación y registro de trabajos cron están en todas partes.
Ser capaz de leer e inspeccionar rápidamente estos archivos sin abrir un editor o escribir un script de Python es una de las habilidades de línea de comandos más subestimadas.
Tres comandos en esta guía; head, taily cat con cada distribución de linux Ha existido desde los primeros días de Unix. Parecen simples a primera vista, pero cada uno tiene muchas opciones y comportamientos que los usuarios nunca exploran hasta que de repente los necesitan.
Por ejemplo head Es posible omitir las últimas N líneas del archivo en lugar de mostrar solo las primeras líneas. tail La rotación de registros se puede utilizar para rastrear archivos por nombre, en lugar de simplemente rastrear el descriptor del archivo original. y cat Es posible exponer caracteres ocultos que interrumpen el script de shell de una manera que parezca completamente invisible.
Todos los ejemplos de esta guía se probaron en Ubuntu 26.04, con un comportamiento diferente en RHEL 9/Rocky Linux 9; Se muestran ambas variantes.
Requisitos previos: Conocimiento básico de la terminal Linux y la navegación por el sistema de archivos. La mayoría de los ejemplos no requieren acceso de root; sudo Indique donde sea necesario.
1. comando de encabezado
comando de encabezado De forma predeterminada, se imprimen las primeras 10 líneas del archivo. Esta es una forma rápida de comprobar el formato del archivo, el título o las primeras entradas sin abrir un editor.
La sintaxis básica de la instrucción principal es:
head [options] [file(s)]
Ver las primeras 10 líneas del archivo.
head /etc/passwd
Producción:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
Ver un número específico de filas
usar -n Controla el número de líneas que se muestran en el encabezado. Las dos formas siguientes son equivalentes:
head -n 5 /var/log/syslog head -5 /var/log/syslog
Producción:
026-08-18T05:06:36.715382+05:30 pro systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 910 (rsyslogd) on client request. 2026-08-18T05:06:36.715534+05:30 pro rsyslogd: [origin software="rsyslogd" swVersion="8.2312.0" x-pid="910" x-info=" rsyslogd was HUPed 2026-08-18T05:06:36.719902+05:30 pro systemd[1]: logrotate.service: Deactivated successfully. 2026-08-18T05:06:36.720006+05:30 pro systemd[1]: Finished logrotate.service - Rotate log files. 2026-08-18T05:06:36.744453+05:30 pro systemd[1]: Finished libvirt-guests.service - libvirt guests suspend/resume service.
Ver varios archivos a la vez
Puede pasar varios archivos a head. Agrega un encabezado antes de cada archivo para que puedas saber qué salida pertenece a qué archivo:
head -5 /etc/passwd /etc/group
Producción:
==> /etc/passwd /etc/groupView a Specific Number of Bytes
Use
-cto limit the output by bytes instead of lines. This can be useful when you need to inspect the beginning of a file or check its initial bytes:head -c 50 /var/log/syslogProducción:
2026-08-18T05:06:36.715382+05:30 pro systemd[1]Saltar las últimas N líneas
Esta es una versión poco conocida de GNU.
headcaracterística:-n -NImprime todas menos las últimas N líneas. Esto es útil cuando necesita eliminar las líneas finales de un archivo CSV o ignorar las líneas finales en el registro:head -n -5 access.log¿Lo encuentras útil? Compártelo con otros usuarios de Linux: las banderas en sí mismas ahorran mucho desplazamiento innecesario. Comparte este artículo.
comando de cola
comando de cola De forma predeterminada, se imprimen las últimas 10 líneas del archivo. Es particularmente útil para verificar la última salida de archivos grandes y monitorear los registros a medida que se actualizan.
La sintaxis básica de la instrucción tail es:
tail [options] [file(s)]Ver las últimas 10 líneas del archivo.
tail /var/log/syslogProducción:
2026-08-24T15:54:56.280058+05:30 pro dbus-daemon[1726]: [session uid=1000 pid=1726] Successfully activated service 'org.xfce.Xfconf' 2026-08-24T15:55:01.529373+05:30 pro CRON[17986]: (ravi) CMD (echo "Cron is working!" >> /home/ravi/cron-test.log) 2026-08-24T15:56:14.729059+05:30 pro systemd[1]: Starting man-db.service - Daily man-db regeneration... 2026-08-24T15:56:15.032277+05:30 pro systemd[1]: man-db.service: Deactivated successfully. 2026-08-24T15:56:15.032440+05:30 pro systemd[1]: Finished man-db.service - Daily man-db regeneration. 2026-08-24T15:56:17.402664+05:30 pro kernel: perf: interrupt took too long (3136 > 3131), lowering kernel.perf_event_max_sample_rate to 63000 2026-08-24T15:57:22.022697+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-68 noise=-100 txrate=0 2026-08-24T15:57:36.358952+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-76 noise=-100 txrate=0 2026-08-24T15:57:47.725661+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-80 noise=-100 txrate=0 2026-08-24T16:00:01.541868+05:30 pro CRON[18307]: (ravi) CMD (echo "Cron is working!" >> /home/ravi/cron-test.log)Ver un número específico de filas
usar
-nControle el número de filas mostradas:tail -n 20 /var/log/auth.log tail -20 /var/log/auth.log2026-08-24T15:30:01.468427+05:30 pro CRON[16814]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0) 2026-08-24T15:30:01.470116+05:30 pro CRON[16815]: pam_unix(cron:session): session opened for user ravi(uid=1000) by ravi(uid=0) 2026-08-24T15:30:01.470158+05:30 pro CRON[16814]: pam_unix(cron:session): session closed for user root 2026-08-24T15:30:01.471643+05:30 pro CRON[16815]: pam_unix(cron:session): session closed for user ravi 2026-08-24T15:35:01.475150+05:30 pro CRON[16962]: pam_unix(cron:session): session opened for user ravi(uid=1000) by ravi(uid=0) 2026-08-24T15:35:01.479823+05:30 pro CRON[16962]: pam_unix(cron:session): session closed for user ravi 2026-08-24T15:39:01.482578+05:30 pro CRON[17365]: pam_unix(cron:session): session opened for user root(uid=0) by root(uid=0)Archivos de registro de seguimiento en vivo
este
-fOpción para mantener el archivo abierto y mostrar nuevas líneas mientras se escribe. Esta es una de las formas más comunes de monitorear registros al solucionar problemas de un servicio:tail -f /var/log/nginx/error.logde acuerdo a Ctrl+C Deja de seguir este archivo. puedes combinar
-fy-nMuestre primero las últimas N líneas y luego continúe agregando nuevos elementos:tail -n 50 -f /var/log/nginx/access.logRealice un seguimiento de varios archivos de registro simultáneamente
Puedes seguir varios archivos al mismo tiempo:
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
tailImprima un encabezado antes de la salida de cada archivo para indicar claramente de qué registro proviene cada línea.¿Quieres aprender más sobre los comandos de Linux? este Más de 100 comandos básicos de Linux Curso de portada Pro TecMinttail,head,cat,pipes,redirectionsy más ejercicios prácticos y escenarios de la vida real para cada instrucción.seguido del nombre del archivo, no del descriptor del archivo
Cuando la rotación de registros reemplaza un archivo con un archivo nuevo, lo normal
tail -fPuede continuar siguiendo el documento anterior. usar--follow=name Deje que tail siga el archivo por nombre y vuelva a abrirlo si es necesario:tail --follow=name /var/log/syslogProducción:
2026-08-24T16:07:40.216089+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-76 noise=-100 txrate=0 2026-08-24T16:08:29.469397+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-66 noise=-100 txrate=0 2026-08-24T16:08:35.305708+05:30 pro wpa_supplicant[929]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-77 noise=-100 txrate=0 2026-08-24T16:09:01.571086+05:30 pro CRON[18577]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)En RHEL/Rocky Linux, se puede utilizar un enfoque similar
/var/log/messagesCuando el registro se escribe en un archivo plano:tail --follow=name /var/log/messagesIniciar la salida desde un número de línea específico
usar
+n decirtailComience a mostrar la salida en la línea N en lugar de contar hacia atrás desde el final. Esto es útil cuando desea omitir encabezados o las primeras líneas:tail -n +2 /etc/passwdEl comando anterior omite la primera línea y comienza desde la línea 2.
Mira los últimos N bytes
usar
-cCuando desee verificar el final del archivo por byte en lugar de por línea:tail -c 100 /var/log/syslogProducción:
0:01.541868+05:30 pro CRON[18307]: (ravi) CMD (echo "Cron is working!" >> /home/ravi/cron-test.log)Ver registros de Journald en sistemas systemd
Sobre la modernidad
UbuntuyRHELEn el sistema, muchos servicios escriben registros en registros systemd en lugar de archivos de registro tradicionales. En esos casos, Comandos de control de registros Proporciona una funcionalidad similar a:journalctl -u nginx -f journalctl -u sshd -n 50 -fProducción:
Aug 24 05:25:32 pro.tecmint systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server... Aug 24 05:25:33 pro.tecmint systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.La primera instrucción sigue a la nueva entrada.
nginxAtender. El segundo muestra los últimos 50 elementos y luego continúa con nuevas entradas.¿Conoce algún administrador de sistemas que todavía tenga archivos de registro activados en Nano? Envíales esta guía. Comparte este artículo
3.comando gato
comandos de gato (abreviatura de conectar) lee un archivo y escribe su contenido en la salida estándar. Esta es una forma rápida de mostrar un archivo, combinar varios archivos o canalizar el contenido de un archivo a otro comando.
La sintaxis básica de la instrucción cat es:
cat [options] [file(s)]Imprimir archivos al terminal
cat /etc/os-releaseProducción:
NAME="Linux Mint" VERSION="22.3 (Zena)" ID=linuxmint ID_LIKE="ubuntu debian" PRETTY_NAME="Linux Mint 22.3" VERSION_ID="22.3" HOME_URL=" SUPPORT_URL=" BUG_REPORT_URL=" PRIVACY_POLICY_URL=" VERSION_CODENAME=zena UBUNTU_CODENAME=nobleImprima varios documentos en secuencia
Puede proporcionar varios archivos y
catImprímelos en secuencia:cat /etc/hostname /etc/hostsConcatenar archivos en archivos nuevos
Utilice la redirección de salida para fusionar varios archivos en uno:
echo 'Hi Tecmint-Team' > 1.txt echo 'Keep connected' > 2.txt echo 'Share your thought' > 3.txt echo 'connect us [email protected]' > 4.txtcat 1.txt 2.txt 3.txt 4.txt > combined.txtLuego puede verificar el archivo combinado:
cat combined.txtProducción:
Hi Tecmint-Team Keep connected Share your thought connect us [email protected]Esto también es útil en situaciones del mundo real, como ensamblar fragmentos de configuración o combinar segmentos de registro:
cat header.txt body.txt footer.txt > report.txtUsa cat para copiar archivos
Puede copiar archivos mediante redirección
catSalida a otro archivo. esto no puede reemplazarcppero puede resultar útil cuando se trabaja con tuberías o cuando simplemente necesita copiar el contenido de un archivo:cat /etc/nginx/nginx.conf > /tmp/nginx.conf.bak cat /tmp/nginx.conf.bakEl segundo comando le permite verificar que el archivo copiado tenga el contenido esperado.
Crea archivos de forma interactiva
correr
catCon redirección de salida y sin archivo de entrada, puede escribir contenido directamente en el archivo:cat > notes.txt This is line one This is line twode acuerdo a Ctrl+D Cuando hayas terminado. Esto envía una señal de fin de archivo y regresa al shell. Para la creación de archivos con script o repetibles, heredoc suele ser más conveniente.
Mostrar número de línea
este
-nOpción de numerar cada línea, incluidas las líneas en blanco. usar-bNumere solo las líneas que no estén en blanco:cat -n /etc/fstab cat -b /etc/nginx/nginx.confMostrar caracteres no imprimibles
este
-AOpción para hacer visibles los caracteres ocultos. Las pestañas aparecen como^Imientras que los finales de línea aparecen como$. Esto es particularmente útil al depurar scripts de shell o archivos de configuración que contienen pestañas inesperadas, caracteres finales o archivos de estilo Windows.\r\nFinales de línea:cat -A suspicious-script.shMostrar marca de final de línea
este
-ELa opción muestra un$al final de cada línea. Esto puede ayudarle a detectar espacios finales u otros espacios en blanco inesperados:cat -E /etc/hosts¿Utiliza scripts Bash y archivos de configuración? este Curso de secuencias de comandos Bash para principiantes Pro TecMint le enseña cómo leer, escribir y depurar scripts de shell desde cero; incluyendo manejo de archivos, canalización y redirección.Crear archivos usando delimitadores
puedes usar
catUtilice heredoc para crear un archivo y escribir algunas líneas a la vez:cat > /tmp/test-config.txtYou can verify the contents with:
cat /tmp/test-config.txtProducción:
server_name=web01 env=production port=8080También puedes usar una etiqueta personalizada en su lugar.
EOF. Cualquier palabra es válida siempre que coincidan las etiquetas de apertura y cierre:cat > /tmp/deploy-note.txtThen check the file:
cat /tmp/deploy-note.txtProducción:
Deployed by: ravi Environment: staging Date: 2026-06-12Agregar al archivo existente
usar
>>en lugar de>Cuando desee agregar contenido sin sobrescribir el archivo existente:cat >> /var/log/deploy.logUse cat in a Pipeline
catcan pass file contents to commands such asgrep,awk, orsedfor filtering and processing:cat /var/log/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -rnSin embargo, para un solo archivo, grep,
awkosedPor lo general, el archivo se puede leer directamente, por lo quecatNo siempre es necesario:grep "Failed password" /var/log/auth.logUtilice tac para leer archivos al revés
tacEsencialmente lo opuesto a cat: imprime una línea a la vez, comenzando con la última línea. Está incluido en GNU coreutils en las principales distribuciones de Linux.Por ejemplo, para crear un archivo que contenga los meses del año:
cat > months.txtNow reverse the lines:
tac months.txt December November October September August July June May April March February JanuaryEn la práctica,
tacÚtil para leer rápidamente archivos de registro al revés, de modo que las últimas entradas aparezcan primero:tac /var/log/syslog | head -20diferente de la cola
-fque lee el archivo una vez y sale, por lo que resulta útil cuando solo necesitas un vistazo rápido a la inversa.Si esto te ha salvado del problema de Stack Overflow, compártelo con tu equipo. Comparte este artículo.
Combina cabeza y cola
puedes combinar
headytailExtraiga un rango específico de líneas de un archivo. Por ejemplo, para mostrar las filas 20-30:head -30 /etc/nginx/nginx.conf | tail -11Sucede en dos pasos:
head -30Obtenga las primeras 30 líneas del archivo.tail -11Tome las últimas 11 filas de estas 30 filas.
Entonces el resultado son las líneas 20 a 30. /etc/nginx/nginx.conf.
El resultado que muestra contiene 11 líneas:
types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings
Las líneas en blanco cuentan, por lo que es posible que veas menos de 11 líneas de texto visible. Para secuencias de comandos, sed es generalmente más limpio porque puede imprimir un rango específico de líneas directamente:
sed -n '20,30p' /etc/nginx/nginx.conf
Imprime las líneas 20 a 30 directamente, por lo que es más rápido que head -30 /etc/nginx/nginx.conf | tail -11
referencia rápida
| Orden | que hace |
|---|---|
head -n 20 file | primeras 20 líneas |
head -n -5 file | Todas las líneas excepto las últimas 5 líneas. |
head -c 100 file | primeros 100 bytes |
tail -n 20 file | últimas 20 líneas |
tail -n +2 file | desde la línea 2 hasta el final |
tail -f file | Realice un seguimiento de los nuevos resultados al instante |
tail --follow=name file | Seguido del nombre del archivo y maneja la rotación del registro. |
cat -n file | Imprimir con número de línea |
cat -A file | Mostrar tabulaciones, terminadores de línea y caracteres no imprimibles |
cat f1 f2 > f3 | archivo de conexión |
tac file | Imprimir un documento en orden inverso de líneas |
en conclusión
head, taily cat Estos comandos son simples, pero pueden resultar muy útiles una vez que sepas cómo combinar sus opciones. Ya sea que esté inspeccionando un archivo de configuración, verificando el principio o el final de un registro, rastreando un servicio en tiempo real o combinando archivos en un script, estos comandos le permiten procesar texto rápidamente desde la terminal.
La verdadera ventaja proviene de combinarlos con pipes, redirecciones, grep, sed, awky otras herramientas de línea de comandos. Una vez que estos conceptos básicos formen parte de su flujo de trabajo diario, comprobar archivos y solucionar problemas de sistemas Linux será más rápido y eficiente.
Eso es todo por ahora. Volveré con otro artículo interesante que vale la pena conocer. Hasta entonces, estad atentos y atentos a tecmentay no olvide compartir sus valiosos comentarios en la sección de comentarios.
Si este artículo fue útil, Con alguien de tu equipo.









