La filosofía de Linux/Unix es en extremo modular. Se prefieren las herramientas pequeñas con tareas puntuales a las meta-herramientas que realizan todo. Para hacer el modelo completo es necesario proveer el medio para ensamblar estas herramientas en estructuras mas complejas. Esto se realiza por medio del redireccionamiento de las entradas y las salidas.
Redirección de Entrada y Salidas fig_redirect width=5cmimages/standard_io.eps
Todos los programas tiene por por defecto una entrada estándar (teclado) y dos salidas: la salida estándar (pantalla) y la salida de error (pantalla). En ellos se puede sustituir la entrada y salidas estándar por otro dispositivo utilizando los caracteres ``'' y ``'', es decir, hacer que se lea un archivo que contenga las opciones a ejecutar y un archivo de salida, respectivamente. Por ejemplo:
Se crea un archivo entrada con dichas instrucciones:
open linuxcol.uniandes.edu.co cd /pub/linux/utils get * quit
y se ejecuta el programa: ncftp < entrada
.
ls [iI]* > listado.txt
Es importante resaltar que el carácter de redirección de salida ``'' destruirá el archivo al cual apunta, si este existe, para ser reemplazado por uno nuevo con los resultados del proceso. Si se desea anexar la información a uno ya existente debe usarse doble carácter ``'' :