Curso de Linux / Leer archivos con cat, less, more, head y tail
Al leer el contenido de archivos en Linux, se utiliza cat para archivos cortos, less o more al explorar archivos largos, y head y tail cuando se verifican solo las primeras o últimas líneas. Mostrar un archivo en pantalla y editarlo son cosas diferentes. En este tutorial, examinaremos el mismo archivo de práctica con cinco comandos para aprender los criterios de selección apropiados.
Este artículo trata sobre herramientas para leer contenido. Las tareas de seleccionar y agregar líneas se practican por separado en Procesamiento de texto con grep·cut·sort·uniq·wc.
Preparar un archivo de práctica seguro
Los siguientes comandos se ejecutan en Bash como usuario normal. Si linux-course-10-practice ya existe en su directorio personal, no modifique los datos existentes y utilice otro nombre. Si mkdir falla y continúa con el siguiente comando, puede sobrescribir archivos existentes.
mkdir ~/linux-course-10-practice
cd ~/linux-course-10-practice
pwd
Compruebe que pwd muestra el nuevo directorio de práctica y cree el archivo de cinco líneas. En printf, \n representa un salto de línea y > guarda la salida estándar en un archivo. Como > puede vaciar un archivo existente, ejecute el ejemplo únicamente donde sample.txt todavía no exista.
printf 'alpha\nbeta\ngamma\ndelta\nepsilon\n' > sample.txt
Leer un archivo corto de una vez: cat
cat envía el contenido del archivo a la salida estándar, por lo que es bueno para verificar archivos de texto pequeños de inmediato. Si lo ejecuta en el archivo que acaba de crear, aparecerán las cinco líneas que ingresó en orden.
cat sample.txt
Ejemplo de salida:
alpha
beta
gamma
delta
epsilon
cat no divide páginas ni edita archivos. En archivos muy largos, el contenido puede pasar rápidamente por la pantalla, así que en ese caso use less. También es recomendable evitar imprimir archivos binarios no textuales directamente en la terminal.
Cómo explorar archivos largos: less y more
less es un paginador que permite ver el archivo pantalla por pantalla, moverse hacia arriba y hacia abajo y buscar. Después de ejecutar less sample.txt, puede usar Espacio para la siguiente pantalla, b para la pantalla anterior, /gamma y Intro para buscar, y n para ver la siguiente coincidencia. Para salir, presione q.
less sample.txt
El archivo de práctica puede ser más corto que una pantalla, por lo que el efecto del cambio de página no será evidente. Puede ver la diferencia al leer registros largos o archivos de configuración reales. Las teclas que se presionan dentro de less no son comandos de shell, así que no las ingrese en el bloque de código anterior.
more también muestra textos largos por pantalla. El movimiento básico a la siguiente pantalla es Espacio, y para salir es q. Como las funciones de navegación varían según la implementación y el entorno, si se necesita moverse hacia adelante y hacia atrás o buscar, normalmente less es conveniente.
more sample.txt
Ver solo la parte inicial o final: head y tail
Si solo se necesita la parte inicial del archivo en lugar de todo el archivo, use head, y si solo la parte final, use tail. En las herramientas GNU, -n 2 significa dos líneas.
head -n 2 sample.txt
tail -n 2 sample.txt
La salida del primer comando es alpha y beta, y la salida del segundo comando es delta y epsilon.
alpha
beta
delta
epsilon
tail -f ARCHIVO muestra el final del archivo y continúa siguiendo el contenido que se agrega. Es útil cuando se observa un registro en funcionamiento, pero la pantalla permanece abierta, por lo que debe cerrarse con Ctrl+C. En un entorno donde los registros se reemplazan o rotan, tail -F de GNU puede ser adecuado para seguir el nombre del archivo nuevamente. Si no se tiene permiso de acceso al archivo, no se puede leer su contenido.
Selección y puntos a verificar según la situación
| Tareas necesarias | Comando | Razón |
|---|---|---|
| Verificación completa de archivos cortos | cat |
Imprimir el contenido de inmediato |
| Exploración y búsqueda de archivos largos | less |
Desplazamiento de pantalla y búsqueda |
| Visualización simple por página | more |
Salida básica por unidad de pantalla |
| Verificar las primeras líneas | head -n |
Imprimir solo la parte delantera del archivo |
| Verificar las últimas líneas·contenido adicional | tail -n, tail -f |
Verifique la parte final o el contenido adicional posterior |
Si no puede estar seguro de que es texto solo por el nombre del archivo, verifique el formato con file, como se trató en la lección anterior sobre tipos de archivos. Especialmente, los archivos que mezclan caracteres de control de terminal pueden mostrarse en la pantalla de manera inesperada. Todos los comandos de lectura de esta lección no modifican el contenido original, pero recuerde que > creado para archivos de práctica puede sobrescribir archivos.
El archivo de cinco líneas puede caber entero en pantalla. Para practicar el desplazamiento, cree otro de 80 líneas en la misma carpeta, comprobando primero que long-sample.txt no existe. Dentro de less, Espacio avanza, b retrocede, / inicia una búsqueda y q sale. La cantidad de líneas visibles depende de la altura de la ventana.
seq 1 80 > long-sample.txt
less long-sample.txt
El sample.txt original no se cambia. Después de la comparación, solo se pueden eliminar archivos adicionales con rm -i long-sample.txt.
Documentación oficial
El manual de GNU Coreutils describe cat, head y tail; la documentación de redirecciones de Bash explica cómo guardar la salida en archivos. Para las teclas de less y more, consulte también man less y man more en el sistema instalado.




