En cualquier sistema operativo, los usuarios trabajan con archivos y realizan operaciones como crear, borrar y leer de archivos. En Linux, la situación no es diferente.

Aunque se puede trabajar con archivos utilizando la interfaz gráfica de usuario en un sistema operativo Linux, la mayoría de los usuarios de Linux prefieren interactuar con el sistema operativo desde el terminal.

Como tal, Linux tiene comandos que permiten a los usuarios trabajar con archivos directamente desde la terminal. Uno de estos comandos es el comando cat .

Screenshot-from-2023-05-12-10-00-03

Según las páginas del manual de Linux, el comando cat se utiliza para concatenar archivos e imprimir su contenido en la salida estándar. Las páginas man de Linux son archivos de documentación que pretenden ayudar a los usuarios a entender los comandos de Linux y cómo se utilizan.

Para acceder a la página man de cualquier comando Linux, basta con introducir man . Por ejemplo, para ver las páginas man para el comando cat, ejecute el siguiente comando en el terminal:

man cat

Para qué se utiliza el comando cat

Como se ha indicado anteriormente, el comando cat puede utilizarse para imprimir el contenido de un archivo en la pantalla. Su otra funcionalidad es concatenar archivos y dar salida a su contenido. Esto significa que si proporciona al comando cat varios archivos, concatenará su contenido y emitirá su contenido por pantalla.

En pocas palabras, el comando cat unirá el contenido de varios archivos y lo mostrará en la pantalla. En tal operación, sin embargo, el comando cat no creará ningún archivo nuevo, y los archivos originales que se utilicen en el comando cat permanecerán inalterados.

ubuntu-3145957_1920

El comando cat también se utiliza en la redirección. La redirección se refiere a cómo los usuarios pueden alterar el origen de la entrada estándar y el destino para la salida estándar y el error estándar. La entrada estándar, la salida estándar y el error estándar son los flujos estándar utilizados para la comunicación en Linux.

Por defecto, la entrada estándar es el teclado, y la salida estándar y los errores estándar se muestran por defecto en la pantalla.

Redirigir, por tanto, significa que en lugar de obtener la entrada estándar del teclado, que es lo predeterminado, podemos redirigir y obtener la entrada de un archivo o de cualquier otra fuente.

Cuando se trata de la salida estándar y el error estándar, que se muestran en la pantalla por defecto, a través de la redirección, puede hacer que estas salidas se escriban en un archivo.

sintaxis del comando cat

La sintaxis del comando cat es la siguiente:

cat [OPCIÓN]... [ARCHIVO]...

En las páginas man de Linux, todo lo que aparece entre corchetes es opcional. Por lo tanto, en la sintaxis anterior, no es imprescindible que la orden cat tenga una OPCIÓN o incluso un FICHERO como argumento. Puede tener cualquiera de los dos, ambos o ninguno.

Las elipsis(…) se utilizan para mostrar que uno o más de los operandos o argumentos precedentes están permitidos. Por lo tanto, la orden cat puede tomar una o varias OPCIONES o ARCHIVOS.

FILE representa archivos que queremos que el comando cat concatene y muestre. OPTION representa banderas que pueden añadirse a la orden cat para modificar su comportamiento. Las opciones que pueden utilizarse con el comando cat se muestran a continuación:

Screenshot-from-2023-05-12-12-02-25

El comando cat funciona tomando el archivo o archivos que se le pasan y mostrando su contenido en la salida estándar, que es la ventana del terminal. En caso de que se le pasen varios archivos, su contenido se concatena y luego se muestra en la ventana del terminal.

El comando cat también se comportará de forma diferente dependiendo de la bandera que se le pase. Por ejemplo, si se le pasa la bandera -n, el comando cat numerará todas las líneas de salida. Dependiendo de cómo quiera que se comporte, puede pasarle cualquiera de las banderas que se pueden utilizar con el comando cat.

Cómo utilizar el comando cat

Para utilizar el comando cat, simplemente introduzca el comando y el nombre del archivo o archivos que desea concatenar y leer, por ejemplo Para obtener el contenido de un archivo llamado rainbow.txt, ejecute el siguiente comando.

cat arcoiris.txt

También puede añadir una bandera para modificar el comportamiento del comando cat. Por ejemplo, puede numerar todas las líneas de salida utilizando la bandera -n. En nuestro ejemplo anterior, podemos numerar todas las líneas de salida en rainbow.txt ejecutando la siguiente línea:

cat -n arcoiris.txt

Las salidas de los dos comandos se muestran a continuación:

Screenshot-from-2023-05-12-12-24-44

Para combinar las banderas u opciones que se pueden utilizar con el comando cat, simplemente escríbalas una tras otra, o puede espaciarlas. Cualquiera de las dos funciona. La bandera -E que se muestra a continuación se utiliza para añadir un signo de dólar($) al final de las líneas de salida.

Esto puede ser útil cuando se muestran valores monetarios. A continuación se muestran las distintas formas en que puede combinar varias banderas con el comando cat:

Screenshot-from-2023-05-12-12-32-59

Para concatenar y mostrar múltiples archivos utilizando el comando cat, simplemente escriba los nombres de los archivos uno tras otro, separados por espacios. Por ejemplo, para concatenar dos archivos llamados rainbow .txt y primary .t xt ejecute la siguiente línea:

cat arcoiris.txt primario.txt

La salida del comando se muestra a continuación

Screenshot-from-2023-05-12-12-41-29

Los dos archivos rainbow . txt y primary . txt permanecerán sin cambios después de esta operación. Tenga en cuenta que el orden en que aparecen los archivos en el comando determina cómo se mostrará el contenido. Los contenidos se muestran desde el primer archivo hasta el último. También puede añadir banderas al concatenar y mostrar varios archivos, como se muestra a continuación:

Screenshot-from-2023-05-12-12-45-37

Una última cosa a tener en cuenta sobre el comando cat es que en el caso de que no se proporcione ningún archivo al comando o se proporcione un guión(-), el comando cat lee de la entrada estándar en lugar de un archivo. La entrada estándar es el teclado.

Por lo tanto, el comando cat simplemente mostrará lo que el usuario introduzca a través del teclado. Para ver esto en la práctica, ejecute el comando

cat

El comando le llevará a un cursor parpadeante que espera la entrada desde el teclado. Introduzca cualquier texto y pulse Intro. Todo lo que escriba se enviará a la salida estándar como se muestra a continuación:

Screenshot-from-2023-05-12-13-02-07

Pulse CTRL C para salir y dejar de pasar entrada al comando cat.

También podemos utilizar el comando cat para concatenar y dar salida al contenido de todos los archivos de un tipo determinado en el directorio activo. Esto se hace utilizando un comodín asterisco(*). Por ejemplo, para sacar todo el contenido de los archivos de texto(.txt) de un directorio concreto, ejecutaríamos el código siguiente:

cat *.txt

La salida del comando se muestra a continuación:

Screenshot-from-2023-05-12-14-53-03

Ejemplos del comando cat

Aparte de los usos estándar del comando cat, la funcionalidad del comando cat puede aumentarse mediante la redirección. Como ya se ha mencionado, el comando cat da salida por defecto a la pantalla del terminal.

Sin embargo, mediante la redirección, podemos redirigir su salida a otro archivo en lugar de que la salida se muestre en la pantalla.

El operador de redirección de la salida en Linux es > ( el símbolo mayor que, también llamado chevron).

Por ejemplo, si ejecutamos la línea

cat arcoiris.txt

El contenido de rainbow.txt saldrá por la pantalla.

Sin embargo, si ejecutamos

cat colores.txt > arcoiris.txt

El contenido de rainbow . txt no se mostrará en la pantalla. En su lugar, serán redirigidos y escritos en el archivo colors . txt. Esta puede ser una excelente forma de copiar contenido de un archivo a otro.

El comportamiento por defecto de la redirección de salida en Linux es que sobrescribe todo el contenido del archivo al que estamos redirigiendo. Por ejemplo, en el ejemplo anterior, todo el contenido de rainbow.txt será sobrescrito por el contenido de colors.txt. Para mantener el contenido existente en el archivo al que está redirigiendo y añadirle el nuevo contenido, utilice >> al redirigir.

Observe a continuación que colors.txt tiene ahora los colores que se encontraban en rainbows.txt después de redirigir la salida de rainbows.txt a colors.txt utilizando >>

Screenshot-from-2023-05-12-15-14-50

Para llevar la funcionalidad del comando cat aún más lejos, podemos combinar la redirección y el comportamiento por defecto del comando cat de leer de la entrada estándar cuando no se proporciona ningún archivo para utilizar el comando cat para crear un archivo y escribir en él.

Si ejecuta el código siguiente

cat > oscuro.txt

Nos redirigirá a dark .txt. Dado que no proporcionamos un archivo cuyo contenido será redirigido a dark.txt, el comando cat esperará la entrada desde el teclado.

Por lo tanto, introduzca cualquier texto que desee almacenar en dark.txt , pulse Intro para pasar a la siguiente línea y pulse CTRL D cuando haya terminado para guardar lo que ha tecleado en el archivo al que está redirigiendo.

Como estamos redirigiendo a un archivo que no existe, dark. txt se creará automáticamente, y lo que hayamos escrito por el teclado se guardará en el archivo. De esta forma, podemos utilizar el comando cat para crear archivos y escribir en ellos en el momento de su creación.

La salida de la operación se muestra a continuación:

Screenshot-from-2023-05-12-15-26-56

El cat también puede utilizarse para añadir texto al final de un archivo. Utilizando dark .txt, podemos añadirle más colores ejecutando

cat >> oscuro.txt

A continuación, puede añadir información adicional escribiendo a través del teclado y pulsando después CTRL D para guardar y anexar el nuevo contenido a dark . txt, como se muestra a continuación:

Screenshot-from-2023-05-12-15-37-42

El comando cat también puede utilizarse para concatenar varios archivos en uno solo. La sintaxis para tal operación se muestra a continuación

cat fichero1 fichero2 fichero3 > fichero4

El contenido de archivo1, archivo2 y archivo3 se concatenará y se escribirá en archivo4. También puede utilizar >> en caso de que no desee sobrescribir el contenido en archivo4. Si file$ no existe, se creará automáticamente.

A continuación se muestra un ejemplo:

Para escribir el contenido de colors.txt y primary.txt en allColors.txt, ejecutamos

cat colores.txt primario.txt > todosColores.txt
Screenshot-from-2023-05-12-15-47-27

También puede anexar el contenido de uno o varios archivos a otro archivo utilizando el comando cat. Esto se hace utilizando >> al redirigir la salida. De este modo se evita sobrescribir lo que ya está almacenado en el otro archivo. Por ejemplo, para anexar el contenido de primario.txt a colores.txt, ejecute el código siguiente:

cat primario.txt >> colores.txt

El resultado de esta operación se muestra a continuación:

Screenshot-from-2023-05-12-15-54-16

Conclusión

El comando cat es un comando Linux muy útil que permite a los usuarios concatenar y mostrar el contenido de los archivos. El comando tiene múltiples banderas que se le pueden añadir para cambiar su comportamiento.

A través de la redirección, la funcionalidad del comando cat puede aumentarse enormemente, permitiendo a los usuarios crear y copiar archivos, concatenar múltiples archivos en uno solo y anexar a un archivo existente. Para saber más sobre el comando cat, visite sus páginas man.

También puede explorar algunos Comandos Linux para administradores de sistemas.