Cómo guardar la salida de la línea de comandos en un archivo en Windows, Mac y Linux

  • Michael Cain
  • 0
  • 1145
  • 300
Anuncio

Cuando ejecuta un comando en una ventana de Terminal, la salida del comando normalmente se imprime en el Terminal o en la pantalla, por lo que puede leerlo de inmediato. También puede imprimir la salida de un comando en un archivo, si desea guardarlo.

Guardar la salida de un comando en un archivo es útil si está intentando diagnosticar un problema. Para obtener ayuda del soporte técnico, es posible que deba ejecutar ciertos comandos en su computadora y enviar los resultados al equipo de soporte. Esto es fácil usando la redirección de salida en la línea de comando.

Hoy veremos cómo enviar la salida de un comando a un archivo de texto en el shell bash en Windows, Mac y Linux.

Nota: Usaremos la Terminal Mac en nuestro ejemplo, pero funciona de la misma manera en el shell bash en Linux 40+ Comandos de Terminal Linux más usados ​​40+ Comandos de Terminal Linux más usados ​​Ya sea que recién esté comenzando o simplemente tenga curiosidad sobre el Terminal de Linux, estos son los comandos más comunes que lo llevarán durante todo su tiempo en Linux. y en el nuevo bash shell en Windows 10 Una guía rápida para Linux Bash Shell en Windows 10 Una guía rápida para Linux Bash Shell en Windows 10 Ahora puede ejecutar Linux en Windows. Obtenga más información sobre Bash en Windows, desde cómo y por qué debería instalarlo, hasta funciones ocultas que probablemente no conocía. .

Redirigir salida a un archivo solamente

Hay dos operadores para redirigir la salida de un comando a un archivo en lugar de la pantalla.

los > El símbolo crea un nuevo archivo si no está presente o sobrescribe el archivo si ya existe. los >> también crea un nuevo archivo si no está presente, pero agrega el texto al final del archivo si ya existe, en lugar de sobrescribir el archivo.

Nota personal: cuando redirige una salida de script de shell a un archivo, no se mostrará en la consola :-) #StupidMe

- Xavier Mertens? (@xme) 5 de agosto de 2017

Para redirigir la salida de un comando a un archivo, escriba el comando, especifique el > o la >> operador, y luego proporcione la ruta a un archivo al que desea que se redirija la salida. Por ejemplo, el comando ls enumera los archivos y carpetas en el directorio actual. Cuando ejecute el siguiente comando, la lista de archivos y carpetas se escribirá en el ls_output.txt archivo en el Salida de terminal carpeta.

Reemplazar / ruta / a / archivo con la ruta completa al archivo que desea usar.

ls> / ruta / a / archivo

Este es el comando para nuestro ejemplo.

ls> /Users/lorikaufman/TerminalOutput/ls_output.txt

Para ver el contenido del archivo en la ventana Terminal, use el gato comando como se muestra en el siguiente comando. De nuevo, reemplace / ruta / a / archivo con la ruta completa al archivo que desea ver.

cat / ruta / a / archivo

los > El operador reemplaza el contenido de un archivo existente cada vez que lo usa para redirigir la salida. Si desea guardar la salida de múltiples comandos en un solo archivo, use el >> operador en su lugar. Esto agrega la salida de un comando al final del archivo especificado, si ya existe. Si el archivo no existe, crea uno nuevo.

Por ejemplo, agregaremos información del sistema al final del archivo que creamos anteriormente. Entonces, en la siguiente línea, uname -a es el comando, seguido por el >> operador de redireccionamiento. Luego, la ruta completa al archivo al que queremos agregar la salida del tu nombre mando.

los -una parámetro en el tu nombre el comando imprime toda la información del sistema disponible.

uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt

Para ver el archivo con la información adjunta en la ventana Terminal, ingrese el siguiente comando, con la ruta completa a su archivo.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Repita este proceso tantas veces como sea necesario para seguir agregando la salida del comando al final del archivo.

Aquí hay otro ejemplo de envío de la salida del ls comando como árbol de directorios, con subdirectorios listados recursivamente (el R parámetro) y un archivo por línea (el 1 parámetro).

ls -1R> /Users/lorikaufman/TerminalOutput/dir_tree.txt 

Entonces, usamos el gato comando, como se mencionó anteriormente para ver el contenido del archivo en la ventana Terminal.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Imprimir salida a pantalla y redirigirla a un archivo

los > y >> Los operadores no muestran la salida de un comando en la pantalla. La salida solo se envía a un archivo.

Si desea enviar la salida a un archivo y verlo en la pantalla, use el tee comando en lugar del > y >> operadores.

Nerd alerta! Hoy descubrí el comando 'tee', que canaliza tanto a un archivo como a una salida estándar. Unix continúa deleitándose. pic.twitter.com/aClIT8AdJB

- Zeke Sikelianos (@zeke) 29 de agosto de 2017

Usar el tee comando debe canalizar la salida del comando que está ejecutando, como ls, al tee comando, utilizando el operador de tubería, una barra vertical (El |) Por ejemplo, el siguiente comando toma la salida del ls comando y lo canaliza en el tee mando. los tee Luego, el comando envía esa salida a la pantalla y al archivo que especifique utilizando la ruta completa al archivo.

ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt

El comando anterior reemplaza todo el contenido del archivo o crea uno nuevo si no existe, al igual que el > operador. Utilizamos lo siguiente gato comando para ver el contenido de nuestro archivo en la ventana Terminal.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Usar el tee comando para imprimir el resultado en la pantalla y agregarlo al final de un archivo, ingrese el siguiente comando. Aquí, estamos agregando información completa del sistema al final del archivo usando el uname -a comando, tal como lo hicimos con el >> operador, pero también enviando la salida a la pantalla.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt

El siguiente comando es el tee versión de imprimir un árbol de directorios de forma recursiva a un archivo y a la pantalla, un archivo en cada línea, tal como lo hicimos con el > operador.

ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt

Entonces, usamos el gato comando de nuevo para ver el contenido del archivo.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Pero espera hay mas

Hay muchas más formas de redirigir la salida, incluidos los errores, a un archivo. Puede leer sobre los diferentes operadores y comandos utilizados para redirigir la salida en el capítulo Redirección de E / S de la Guía avanzada de secuencias de comandos Bash.

Los usuarios de Mac también deben marcar nuestra hoja de trucos de comandos de Mac Terminal. La hoja de trucos de comandos de Mac Terminal. La hoja de trucos de comandos de Mac Terminal.. .




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.