Cuando ejecuta un comando o script en la terminal de Linux, imprime la salida en la pantalla para su visualización inmediata.
Habrá ocasiones en las que necesitará guardar la salida en un archivo para futuras referencias. Ahora, seguramente puede copiar y pegar en la terminal de Linux, pero hay mejores formas de guardar la salida de un script de shell o comando en la línea de comandos de Linux. Déjame mostrártelos.
Método 1: use la redirección para guardar la salida del comando en un archivo en Linux
Usted puede use la redirección en Linux para este propósito. Con el operador de redirección, en lugar de mostrar la salida en la pantalla, va al archivo proporcionado.
- > Redirige la salida del comando a un archivo que reemplaza cualquier contenido existente en el archivo.
- Las redirecciones >> agregan la salida del comando al final del contenido existente (si lo hay) del archivo.
Utilice el operador de redirección STDOUT> para redirigir la salida a un archivo como este:
command > file.txt
Si el archivo.txt no existe, se creará automáticamente. Si usa la redirección> nuevamente con el mismo archivo, el contenido del archivo se reemplaza por la nueva salida.
El example a continuación lo demuestra mejor. Primero guarda la salida del comando ls -l. Y luego, reemplaza el contenido del archivo con la salida del comando ls * .c.
Redirigir la salida del comando al archivo
Si no desea perder el contenido del archivo existente mientras guarda la salida de un script o comando, use la operación de redirección en el modo de agregar con >>.
command >> file.txt
Esta example lo demuestra mejor:
Redirigir la salida del comando a un archivo en modo anexar
Incluso aquí, si el archivo no existe, se crea automáticamente.
Consejo adicional: Save Salida de comando de Linux, así como error en un archivo
Si su comando de Linux devuelve un error, no se guarda en el archivo. Puede guardar tanto la salida del comando como el error del comando en el mismo archivo usando 2> & 1 así:
comando> archivo.txt 2> & 1
Básicamente, 0 significa entrada estándar, 1 para salida estándar y 2 para error estándar. Aquí, está redirigiendo (>) el error estándar (2) a la misma dirección (&) que la salida estándar (1).
Método 2: use el comando tee para mostrar la salida y guardarla en un archivo también
Por cierto, ¿notó que cuando envía el resultado del comando a un archivo, ya no puede verlo en la pantalla? El comando tee en Linux resuelve este problema por ti.
Como una tubería en T que envía un chorro de agua en dos direcciones, el comando tee envía la salida a la pantalla, así como a un archivo (o como entrada a otro comando). Puedes usarlo así:
command | tee file.txt
Nuevamente, el archivo se creará automáticamente, si aún no existe.
También puede usar el comando tee en modo de adición con la opción -a de esta manera:
command | tee -a file.txt
Déjame demostrarlo con algunos ejemplos fáciles de seguir:
He usado comandos simples de Linux en mis ejemplos. Pero tenga la seguridad de que puede utilizar estos métodos para guardar la salida de bash guiones también.
Nota: Evite el error de la tubería mientras guarda la salida del comando en un archivo
Probablemente esté familiarizado con la redirección de tuberías. Puede usarlo para combinar comandos de Linux, pero no puede canalizar la salida a un archivo. Dará como resultado un error que el comando de nombre de archivo no se encuentra:
Esto se debe a que la tubería redirige la salida de un comando a la entrada de otro comando. Y en este caso, le da un nombre de archivo mientras esperaba un comando.
Si es nuevo en la línea de comandos de Linux, espero que este rápido tutorial se agregue un poco a sus conocimientos de Linux. Redirección de E / S es un concepto fundamental que conviene tener en cuenta.
Como siempre, las preguntas y sugerencias son siempre bienvenidas.