Thursday, July 15, 2021

Stdout - Cómo funciona

Usemos el comando ls -l una vez más como ejemplo. Si solo escribe el comando, verá
su resultado en STDOUT. Sin embargo, si escribe ls -l> en algún lugar, le indicará al comando que envíe su salida a otro lugar, en este caso a un archivo que tenga el nombre en algún lugar. Este archivo se creará en el directorio actual si no existe. 

Si ya existe un archivo con este nombre, lo sobrescribirá con este comando. En caso de que desee agregar a un archivo existente en lugar de sobrescribirlo, use ls -l >> en algún lugar. El redirector doble le dice al comando que se agregue al contenido del archivo en lugar de sobrescribirlo. Si el archivo aún no existe, el comando lo creará. Entonces, si desea asegurarse de nunca sobrescribir un archivo existente por accidente al usar la redirección, use >> en todo momento en lugar de >.

Algunos comandos le dan mensajes de error además de la salida. Lo bueno es que también puedes redirigir estos mensajes de error. Para hacer esto, use 2 > en lugar de >. Entonces, si ls -l le da muchos mensajes de error como bueno (lo cual no es muy probable, pero nunca se sabe), puede enviarlos todos al archivo de errores, que se creará en el directorio actual si usa ls -l 2 > errors. E incluso es posible redirigir la salida estándar de un comando en una dirección, mientras se envía la salida de error a otra parte. Por ejemplo, el comando ls -l> salida 2> errores creará dos archivos, el archivo de salida para la salida normal y los errores de archivo para la salida de error. 

En lugar de enviar los resultados de un comando a un archivo, también puede redirigir a algunos de los dispositivos especiales de Linux. Cada pieza de hardware en Linux se puede direccionar mediante un archivo de dispositivo. Por ejemplo, existe el archivo de dispositivo / dev / null, que se puede utilizar como papelera digital. Todo lo que envíe a / dev / null desaparecerá inmediatamente en el aire. Entonces, si simplemente no desea ver ningún mensaje de error, en lugar de guardarlos en algún lugar de su sistema, puede redirigir los mensajes de error al dispositivo / dev / null. El siguiente ejemplo muestra cómo hacerlo:

ls -l 2 > / dev / null 

stdout


No comments:

Post a Comment