[Linux] Redirigir todos los resultados al archivo


Answers

Todos los sistemas operativos POSIX tienen 3 flujos : stdin, stdout y stderr. stdin es la entrada, que puede aceptar stdout o stderr. stdout es el resultado primario, que se redirige con > , >> o | . stderr es la salida de error, que se maneja por separado para que ninguna excepción se pase a un comando o se escriba en un archivo que podría romperse; normalmente, esto se envía a un registro de algún tipo, o se descarga directamente, incluso cuando se redirige el stdout. Para redirigir ambos al mismo lugar, use:

command &> /some/file

EDITAR : gracias a Zack por señalar que la solución anterior no es portátil, use en su lugar:

*command* > file 2>&1 

Si quiere silenciar el error, haga lo siguiente:

*command* 2> /dev/null
Question

Esta pregunta ya tiene una respuesta aquí:

Sé que en Linux, para redirigir la salida de la pantalla a un archivo, puedo usar el > o el tee . Sin embargo, no estoy seguro de por qué parte de la salida todavía se envía a la pantalla y no se escribe en el archivo.

¿Hay alguna manera de redirigir todo el resultado al archivo?




En Linux Mint, esta secuencia de comandos encaminó la ejecución de secuencias de comandos y errores a un solo archivo de texto. bash -x ./setup.sh > setup.txt 2>&1 . El nombre del script fue setup.sh y el destino de salida fue setup.txt.




Puede ser el error estándar. Puedes redirigirlo:

... > out.txt 2>&1



Puede usar el comando exec para redirigir todo el resultado stdout / stderr de cualquier comando posterior.

secuencia de comandos de ejemplo:

exec 2> your_file2 > your_file1
your other commands.....



Use esto - "require command here" > log_file_name 2>&1

Descripción detallada del operador de redirección en Unix / Linux.

El operador> redirige la salida generalmente a un archivo pero puede ser a un dispositivo. También puede usar >> para agregar.

Si no especifica un número, entonces se asume el flujo de salida estándar, pero también puede redirigir los errores

> file redirects stdout to file
1> file redirects stdout to file
2> file redirects stderr to file
&> file redirects stdout and stderr to file

/ dev / null es el dispositivo nulo que toma cualquier entrada que desee y la descarta. Se puede usar para suprimir cualquier salida.




Links