
Michael Cain
0
1145
300
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.. .