Luzablue

Tecnología y más

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

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

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

Los siguientes métodos son aplicables en todas las distribuciones de Linux y pueden usarse incluso en Mac y BSD. Lo único en lo que debe pensar es en cuál es la mejor manera de hacerlo.

1. Uso de operadores de transporte marítimo

La forma más común y fácil de redirigir la salida del terminal a un archivo es usar el archivo > y >> los operadores. Solo dirigen la salida a un archivo de texto específico. No redirige errores. Estos siempre aparecerán en la terminal.

la > el operador redirige la salida a un archivo y sobrescribe el contenido de ese archivo mientras >> el operador agrega la salida al final del archivo. A continuación se muestra una ilustración:

Primero cree un archivo usando touch orden.

Una línea ahora repite «file1.txt» usando > operador. Podemos considerar esto como una descarga del resultado. echo comando a «file1.txt».

Terminal de salida 2

Aparece otra línea en «file1.txt».

Terminal de salida 3

Al ver el contenido de «file1.txt», vemos que solo la segunda línea está almacenada en el archivo. Esto se debe al hecho > el operador sobrescribe el contenido del archivo existente.

Terminal de salida 4

Si queremos «agregar» contenido al archivo, entonces el archivo >> se debe especificar el operador.

Terminal de salida 5

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

Terminal de salida 6

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

Si quieres guardar todo, usa &> 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 transferencia enumerados anteriormente, 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 archivo tee orden.

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

Terminal de salida 7

De acuerdo con el comando anterior, el texto «cuarta declaración» debería haberse agregado a «file1.txt». Verificación usando cat el orden confirma nuestra hipótesis.

Terminal de salida 8

También puedes usar |& operador y tee comando para mostrar todo y guardarlo también.

3. Usando el comando de secuencia de comandos

Con script comando, la salida de los comandos ingresados ​​se escribirá automáticamente en un archivo hasta que se le solicite que se detenga. Esto se puede comparar a una sesión para registrar la actividad del terminal.

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

Terminal de salida 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.

Terminal de salida 10

Para completar el guión, exit se invoca el comando. Hay un mensaje que indica que la operación del script se ha completado. Muestre el contenido «script_log.txt» usando cat, vemos que el contenido del archivo parece una réplica exacta del terminal.

Terminal de salida 11

Hacia el final, podemos ver la marca de tiempo al final del guión. Cuando este archivo se ve en un editor de texto, podemos ver el texto y el contenido no deseado, que en realidad es el indicador de bash en un formato de shell bash fácil de entender.

Terminal 29

Solo cuando este archivo se muestra en el shell usando el archivo cat orden, obtenemos información perfectamente inteligible.

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

Terminal de salida 12

Órdenespwd y ls se escriben.

Terminal de salida 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.

Terminal de salida 14

Cuando se inicia una sesión de script, el contenido de esa sesión se almacena en la memoria y se escribe en el archivo solo cuando exit se invoca el comando. Aquí desde exit no se ha invocado, el contenido de esta sesión no se ha registrado en «2-script_log.txt».

El comportamiento de sobrescritura y adición de secuencias de comandos es similar a tee y operadores de tránsito. la -a Switch agrega el contenido de una sesión a un archivo ya existente. Aquí, la salida del archivo echo el comando se adjunta a «script_log.txt».

Terminal de salida 15

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

Terminal de salida 16

4. Usando el comando logsave

logsave se comporta de la misma manera que tee – muestra la salida en la pantalla y también la guarda en un archivo. Úselo de la siguiente manera:

Terminal de salida 17

logsave escribe el resultado <command> al archivo especificado por <file_name>. Veamos el resultado «mylog_file.txt».

Terminal de salida 18

Hay mucha información almacenada con el resultado de un solo comando. Aquí se almacenan dos marcas de tiempo: la primera es la hora en que se inició la orden y la segunda es la hora en que la orden terminó de ejecutarse. Aquí las marcas de tiempo son las mismas. Sin embargo, al inicializar una lista de directorios recursiva en el directorio «/ home» en un sistema multiusuario, el comando tardaría algún tiempo en completarse. En este caso, las marcas de hora de inicio y finalización serían diferentes.

Se pueden agregar varias salidas de comando al mismo archivo cuando -a el interruptor se usa con logsave.

Terminal de salida 19

Cuando intentamos ver el contenido de «mylog_file.txt», vemos que la salida de los dos comandos ingresados ​​anteriormente está delimitada por una línea.

Terminal de salida 20

Los métodos anteriores son algunos de los más útiles para guardar la salida del terminal en un archivo en Linux. ¿Cual prefieres?

En conexión con:

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

DEJA UNA RESPUESTA

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *