SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
TUBERÍAS EN GNU/LINUX
Uno de los principios de la filosofía Unix consiste en tener aplicaciones muy pequeñas realizando tareas
muy puntuales, que utilizadas en conjunto pueden realizar tareas complejas dentro del entorno linux. Este
principio determina la forma en que varias aplicaciones puedan interactuar entre sí, siendo ahí donde la
tuberías entra en la escena de complementar o realizar tareas desde la consola.
Una redirección por medio de tubería en Linux, es más una forma práctica de redireccionar la salida
estándar de un programa hacia la entrada estándar de otro programa o instrucción en ejecución. Esto
se logra usando el símbolo | (pipe), con el cual se realiza la comunicación entre procesos. Su principal
utilidad es ofrecer la posibilidad de concatenar comandos e instrucciones, enriqueciendo de esta forma la
programación en un entorno de consola linux.
La sintaxis del proceso es sencilla: <comando1> | <comando2> | <comando3>
ERNESTO SOLANO HERNÁNDEZ pág. 1
SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
En síntesis para un usuario Linux, la tubería es una canalización o comunicación entre comandos
permitiendo que la salida de un programa se convierta en el insumo de entrada de otro programa; esto es
en lugar de introducir parámetros desde el teclado, una tubería le entrega información generada por un
comando ejecutado previamente mediante esta canalización.
Por ejemplo, se podrían ver los procesos que están corriendo en el sistema usando ps y se redirecciona
la salida a sort para que los ordene por PID:
$ ps -a | sort
También se puede redireccionar la salida estándar del comando cat y pasarla como entrada estándar del
comando wc para contar las líneas y de un archivo:
$ cat list | wc -l
Otro ejemplo de la utilización de las tuberías se puede encontrar en la ejecución del comando ls para que
luego sea la entrada del comando sort.
$ ls /usr | sort -r
ERNESTO SOLANO HERNÁNDEZ pág. 2
SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
En múltiples ocasiones la ejecución del comando da una salida muy extensa por lo cual es importante
adicionar otro comando que permita visualizar la información por partes, en este caso se adiciona el
comando more, la sintaxis sería como sigue:
$ history | sort -r | more
ERNESTO SOLANO HERNÁNDEZ pág. 3
SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
Si se requiere conocer la información de los primeros 10 archivos/directorios del directorio actual o
cualquier directorio especificado se puede utilizar la siguiente tubería con el comando head
$ls -lt | head
Una aplicación adicional de la tuberías se puede realizar en la revisión de la utilización del disco, o
dispositivo de almacenamiento, en este caso se muestra de forma inversa (del más grande al más
pequeño) el tamaño de los directorios del directorio de usuario
$du | sort -nr
ERNESTO SOLANO HERNÁNDEZ pág. 4
SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
La instrucción tee, permite mantener la salida estándar en la ejecución de un programa o instrucción y
enviarla igualmente a un archivo, es decir bifurca la salida tanto a la pantalla como a un archivo.
$ls -l /usr | tee lista
En este caso particular se realiza la ejecución del comando ls -l en el directoriuo /usr, se entuba con el
comando o instrucción tee, el cual bifurca la salida visualizándola en pantalla y adicionalmente guarda el
contenido en el archivo lista que no existe pero se crea automáticamente. Luego ára verificar la bifurcación,
se visualiza mediante l comando cat el archivo lista.
Tanto las redirecciones como las tuberías son conceptos fundamentales y de gran importancia en el
manejo de consola en el sistema operativo GNU/Linux.
ERNESTO SOLANO HERNÁNDEZ pág. 5
SISTEMAS
SISTEMAS OPERATIVOS (TUBERÍAS EN LINUX) OPERATIVOS
(TUBERÍAS EN
LINUX)
Algunos comandos importantes
A continuación se listan algunos comandos o instrucciones que funcionan como filtros, búsquedas,
ordenamiento, etc., y que se utilizan comúnmente en el desarrollo de las redirecciones y uso de tuberías:
COMANDO DESCRIPCIÓN
cat Concatena archivos e imprime la salida estándar
sort Ordena líneas en un archivo de texto
head Salida de las primeras partes de archivos
tail Salidas de las últimas partes de archivos
wc Imprime el número de bytes, palabras y líneas en archivos
more Filtro de lectura de archivo para ver crt
strings Imprime las cadenas de caracteres imprimibles en archivos.
grep Imprimir líneas que coincidan con un patrón
uniq Elimina elementos duplicados de las líneas
Toma la entrada estándar y la divide en páginas con
pr
encabezados, saltos de página, pies de página para ser impresa
Bifurca la salida, en la salida estándar y la impresión en un
tee
archivo
ERNESTO SOLANO HERNÁNDEZ pág. 6