Mortuux

Diario de un estudiante geek. Informática, tecnología, programación, redes, sistemas operativos, bases de datos…

Redirecciones en Linux


En Linux se utilizan muchísimo las redirecciones.

Siguiendo la filosofía de Unix “todo es un archivo”, cualquier programa puede generar una salida, que puede ser redireccionada a un archivo (Standard output, o stdout) en vez de sacarlo por pantalla.

Los mensajes de estado se envían a través de la Standard error (stderr).

Por defecto, ambos están enlazados a la pantalla y no a un archivo.

Para hacer una redirección de la salida de un comando es muy sencillo:

ls /etc > salida-etc

El operador ‘>’ crea un archivo nuevo con la salida del comando indicado, en el caso de que ya exista, se sobrescribe.

Si queremos unir varias salidas, tenemos que utilizar el operador ‘>>’ que provocará que se vaya añadiendo al final del archivo, y si no existe, lo creará.

Con las redirecciones, existe un pequeño truco para truncar archivos existentes o crear archivos vacios:

>salida.txt

Con esa orden estamos redireccionando nada a el archivo salida.txt.

Si intentamos redireccionar algo que no existe, nos mostrará el error en pantalla y no en el archivo. Esto es debido a que los errores, habría que redireccionarlos por la Standard error.

Para redireccionar errores, no hay ningún operador específico, así que deberemos utilizar el descriptor.

  • 0 – stdin
  • 1- stdout
  • 2 –stderr

Para redireccionar errores utilizaremos el descriptor 2, por ejemplo:

tar –xzvf archivo.tar.gz 2>> extrac.log

Si queremos redireccionar la stdout y stderr al mismo archivo, deberemos hacerlo de la siguiente manera

……… 2>&1 > salida.txt

En las últimas versiones de bash se incluyó el siguiente método:

……. &> salida.txt

En otras ocasiones, no nos interesa conservar ninguna salida, ni por pantalla ni por fichero, entonces deberemos redireccionarlo a ‘/dev/null’

……………… 2>&1> /dev/null

Anuncios

Una respuesta a “Redirecciones en Linux

  1. Pingback:Bitacoras.com

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: