El comando cat en Linux: mostrar y concatenar archivos

Introducción

El comando cat es una de las herramientas más básicas y poderosas que encontramos en cualquier distribución de Linux. Su nombre proviene de la palabra inglesa concatenate, que significa unir o encadenar. Aunque a primera vista parece solo un visor de archivos, su verdadera fuerza reside en la capacidad de combinar múltiples flujos de datos y enviarlos a la salida estándar, a un archivo o a otro proceso mediante tuberías. En este artículo exploraremos desde su uso más sencillo hasta algunos trucos avanzados que pueden ahorrarte tiempo y mejorar tu flujo de trabajo en la terminal.

¿Qué es el comando cat?

Cat (concatenate) se encarga de leer el contenido de uno o más archivos y de escribirlo en la salida estándar sin modificar los datos. No incluye numeración de líneas ni opciones de formato avanzado, por lo que es ideal cuando se necesita una visión pura y directa del contenido. Está disponible en prácticamente todas las shells (bash, zsh, fish) y forma parte del conjunto de utilidades GNU Coreutils, lo que garantiza su comportamiento consistente en diferentes sistemas.

Sintaxis básica

La forma más simple de usar cat es: cat nombre_del_archivo. Si se omite el nombre del archivo, cat lee desde la entrada estándar, lo que permite usarlo en combinación con redirecciones y tuberías. Se pueden indicar varios archivos separados por espacios: cat archivo1 archivo2 archivo3. En este caso, los contenidos se muestran uno tras otro en el mismo orden en que aparecen en la línea de comandos.

Mostrar el contenido de un archivo

Para visualizar un archivo de texto, basta con ejecutar cat seguido de la ruta del archivo. Por ejemplo: cat /etc/hostname muestra el nombre del equipo. Si el archivo es grande, la salida se desplazará rápidamente en la terminal; en esos casos se suele combinar cat con less or more para paginar la salida: cat archivo_grande | less. Esta técnica preserva la integridad del dato mientras permite una lectura cómoda.

Concatenar varios archivos

Uno de los usos más frecuentes de cat es unir varios archivos en un solo flujo. Por ejemplo, si tienes tres partes de un documento llamado parte1.txt, parte2.txt y parte3.txt, puedes generar el documento completo con: cat parte1.txt parte2.txt parte3.txt > documento_completo.txt. El operador > redirige la salida estándar a un nuevo archivo, sobrescribiéndolo si ya existe. Si prefieres añadir al final de un archivo existente, usa >> en su lugar: cat parte4.txt >> documento_completo.txt.

Usos avanzados con redirecciones y tuberías

  • Combinar cat con grep para buscar patrones dentro de varios archivos sin necesidad de abrir cada uno: cat *.log | grep 'error'.
  • Crear archivos de forma rápida usando la entrada estándar: cat > nota.txt te permite escribir líneas directamente y finalizar con Ctrl+D.
  • Crear archivos con múltiples líneas usando un bloque de comandos: { echo 'Primera línea'; echo 'Segunda línea'; } > archivo.txt.

Ejemplos prácticos

  1. Supongamos que deseas hacer una copia de seguridad de varios archivos de configuración en un solo tarball: primero los concatenas y luego los comprimes: cat /etc/hosts /etc/resolv.conf /etc/hostname > backup_conf.tar && tar -czf backup_conf.tar.gz backup_conf.tar && rm backup_conf.tar.
  2. Si necesitas verificar que dos archivos sean idénticos, puedes comparar su salida mediante diff después de concatenarlos: cat archivo1.txt archivo2.txt | diff -u (si no hay diferencia, diff no producirá salida).
  3. Para agregar un encabezado a un archivo de log sin abrir un editor, puedes hacer: echo '=== Inicio de sesión ===' > temporal.log && cat /var/log/app.log >> temporal.log && mv temporal.log /var/log/app.log.

Consejos y buenas prácticas

  • Evita usar cat únicamente para mostrar archivos muy grandes; combina con less or more para paginar y evitar que la terminal se quede sin búfer.
  • Recuerda que cat no interpreta caracteres de control; si necesitas mostrar tabulaciones o saltos de línea de forma visible, usa opciones como -A (show all) de algunas variantes.
  • Cuando trabajes con tuberías, ten en cuenta que el proceso de lectura de cat es bloqueante; si el comando siguiente es lento, la salida de cat se acumulará en memoria hasta que pueda ser consumida.

Conclusión

El comando cat, pese a su aparente simplicidad, es una pieza fundamental en el arsenal de cualquier usuario de Linux. Su capacidad para mostrar, concatenar y redirigir datos lo hace indispensable para tareas cotidianas como revisar logs, crear archivos rápidos, unir fragmentos de código y preparar datos para otros procesos. Dominar sus variantes y combinarlo con otras herramientas de la terminal te permitirá trabajar de manera más eficiente y con mayor control sobre el flujo de información en tu sistema.

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .

EspañolesEspañolEspañol