Cómo guardar la salida del terminal en un archivo en Linux

A menudo, mientras trabaja en la terminal de Linux, es posible que desee guardar la salida de la terminal de un comando en un archivo. Este archivo puede usarse como información para otra operación o simplemente para registrar la actividad del terminal. Aquí hay cuatro formas diferentes en las que el contenido del terminal se puede guardar en un archivo.

Los siguientes métodos son aplicables en todas las distribuciones de Linux e incluso se pueden utilizar en Mac y BSD. Lo único en lo que tiene que pensar es en qué método es mejor para hacer el trabajo.

1. Uso de operadores de redirección

La forma más común y básica de redirigir la salida de la terminal a un archivo es usar el > y >> operadores. Dirigen solo la salida a un archivo de texto específico. No redirigen errores. Aquellos seguirán apareciendo en la terminal.

los > El operador redirige la salida a un archivo y sobrescribe el contenido de ese archivo mientras el >> El operador agrega la salida al final del archivo. He aquí una ilustración:

Primero cree un archivo usando el touch mando.

Ahora se repite una línea en «file1.txt» usando el > operador. Uno puede pensar en ello como deshacerse de la salida del echo comando a «file1.txt».

Salida terminal 2

Otra línea se repite en «file1.txt».

Salida terminal 3

Al ver el contenido de “file1.txt”, vemos que solo la segunda línea está almacenada en el archivo. Esto se debe a que > El operador sobrescribe el contenido del archivo existente.

Salida de terminal 4

Si deseamos «agregar» contenido al archivo, entonces el >> es necesario especificar el operador.

Salida terminal 5

Podemos ver el resultado de la operación de adición exitosa.

Salida terminal 6

Si solo desea guardar los errores, use el 2> y 2>> operadores en su lugar.

Si está interesado en registrar todo, use &> y &>> para redirigir toda la salida (incluidos los errores) a un archivo sin mostrar nada en la terminal.

2. Usando el comando tee

Con los operadores de redirección que se muestran arriba, la salida del comando no se muestra en la pantalla. Si desea que muestre la salida en el terminal y escriba en un archivo, puede usar el tee mando.

El símbolo de tubería (|) pasa la salida de <command> como entrada a tee, que a su vez muestra la salida en la pantalla. Si el -a se especifica el interruptor, entonces tee agrega esa salida al archivo especificado, de lo contrario sobrescribiría el contenido de ese archivo.

Salida de terminal 7

De acuerdo con el comando demostrado anteriormente, el texto «cuarta declaración» debería haberse agregado a «file1.txt». Verificación usando el cat comando corrobora nuestra suposición.

Salida terminal 8

También puede hacer uso de la |& operador y el tee comando para mostrar todo y registrarlo también.

En relación :  Ubuntu vs.Linux Mint: ¿Cuál debería usar?

3. Usando el comando de secuencia de comandos

Con el script comando, la salida de los comandos escritos a continuación se escribiría automáticamente en un archivo hasta que se le solicite que cese. Esto se puede comparar con una sesión que registra la actividad de la terminal.

Primero el script El comando se invoca con el nombre del archivo para almacenar la actividad del terminal.

Salida terminal 9

Un mensaje indica que la secuencia de comandos se ha iniciado, luego los comandos se escriben uno tras otro, aquí date, pwd, ls y cal.

Salida terminal 10

Para terminar la secuencia de comandos, exit se invoca el comando. Hay un mensaje de que la operación de «secuencia de comandos» ha finalizado. Ver el contenido de «script_log.txt» usando cat, vemos que el contenido del archivo parece una réplica exacta del terminal.

Salida terminal 11

Hacia el final, podemos ver la marca de tiempo cuando se completó el script. Cuando este archivo se ve en un editor de texto, podemos ver algo de contenido de texto y basura, que en realidad es el indicador de bash en un formato comprensible para bash shell.

Terminal 29

Solo cuando este archivo se visualiza en el shell usando el cat comando, obtenemos información completamente inteligible.

Probemos con otro, guardando la salida del terminal en «2-script_log.txt».

Salida terminal 12

Comandospwd y ls se escriben.

Salida terminal 13

Sin escribir exit, la ventana de la terminal está cerrada. Cuando intentamos ver el contenido de «2-script_log.txt», podemos ver que está vacío.

Salida terminal 14

Cuando se ha iniciado una sesión de script, el contenido de esa sesión se retiene en la memoria y se escribe en el archivo solo cuando el exit se invoca el comando. Aquí, desde exit no se invocó, el contenido de esa sesión no se guardó en «2-script_log.txt».

El comportamiento de sobrescritura y anexión del script es similar a tee y los operadores de redireccionamiento. los -a Switch agrega el contenido de una sesión a un archivo previamente existente. Aquí, la salida del echo El comando se adjunta a «script_log.txt».

Salida terminal 15

Veamos la salida de «script_log.txt». Podemos ver la salida guardada previamente del date, pwd, ls, cal comandos seguidos de la marca de tiempo; después de lo cual, encontramos la información de la siguiente sesión que termina con la marca de tiempo.

Salida terminal 16

4. Usando el comando logsave

logsave se comporta de manera similar a tee – muestra la salida en la pantalla y también la guarda en un archivo. Se utiliza como se muestra a continuación:

Salida terminal 17

logsave escribe la salida de <command> al archivo especificado por <file_name>. Veamos la salida de «mylog_file.txt».

Salida terminal 18

Hay una gran cantidad de información almacenada junto con el resultado de un comando. Aquí se almacenan dos marcas de tiempo: la primera es la hora a la que se inició el comando y la segunda es la hora a la que el comando completó su ejecución. Aquí, las marcas de tiempo son las mismas. Aunque, cuando se inicia un listado de directorio recursivo en el directorio “/ home” en un sistema multiusuario, el comando tardaría un poco en ejecutarse por completo. En ese caso, las marcas de tiempo de inicio y finalización serían diferentes.

En relación :  Cómo hacer que Teams desaparezca en Windows 11

La salida de más comandos se puede agregar al mismo archivo cuando el -a el interruptor se usa con logsave.

Salida terminal 19

Cuando intentamos ver el contenido de “mylog_file.txt”, vemos que la salida de los dos comandos ingresados ​​previamente está demarcada por una línea.

Salida terminal 20

Las anteriores son algunas de las formas más útiles de guardar una salida de terminal en un archivo en Linux. ¿Cuál prefieres?

  • Cómo realizar múltiples tareas en la terminal de Linux con pantalla
  • Cómo instalar un diccionario para usar en una terminal Linux
  • Cómo usar la terminal Linux como calculadora

Moyens Staff
Moyens I/O Staff te ha motivado, brindándote asesoría en tecnología, desarrollo personal, estilo de vida y estrategias que te ayudarán.