Hola a todos,

cada día tengo menos tiempo para escribir cosas. Aparte de que la imaginación se me agota, otros proyectos me mantienen ocupado de los que espero dar buena cuenta en el futuro.

A lo que ibamos, el otro día me acordé de una cosa bastante sencilla, y que seguramente todos conocereis si funcionais en el algún momento bajo Linux, Unix, etc… Es el /dev/null . Es un bonito pozo sin fondo al que poder mandar cosas que molestan. Por ejemplo, la salida de los comandos desde terminal.

Me ha pasado multitud de veces que tengo que buscar un fichero log que no tengo ni idea en que directorio está. Con lo cual, me salgo al directorio raiz y hago

     find . -name nombrefichero.log

Y en esto que empiezo a recibir multitud de mensajes del tipo:

/var/log/ — permission denied

    /var/log/xxx.log – permission denied

y así un montón de ficheros que impiden revisar las cosas con claridad.

Captura de pantalla 2016-07-29 a las 7.00.56

Pero si utilizamos la redirección de los errores (el STDERR) a este pozo sin fondo que es /dev/null , todos esos errores desaparecen y tendremos la lista de ficheros limpia y podemos revisar todo con más claridad. Esto se hace poniendo 2>/dev/null al final (el 2 identifica el STDERR , el > redirecciona , y el /dev/null es donde lo queremos redireccionar). También podemos poner un fichero de texto o lo que queramos , si es que en algún momento necesitamos echar un vistazo a esos errore que nos han aparecido

La instrucción sería:

    find . -name nombrefichero.log  2>/dev/null

    find . -name nombrefichero.log 2>ficheroerrores.txt

Captura de pantalla 2016-07-29 a las 7.02.09