<Anterior | Contenido | Siguiente>
Pipelines
La capacidad de los comandos para leer datos de la entrada estándar y enviarlos a la salida estándar es utilizada por una función de shell llamada tuberías. Usando el operador de tubería "|" (barra vertical), la salida estándar de un comando puede ser entubada en la entrada estándar de otro:
comando 1 | comando 2
comando 1 | comando 2
Para demostrar completamente esto, necesitaremos algunos comandos. ¿Recuerda que dijimos que había uno que ya sabíamos que acepta entrada estándar? Es less. Nosotros podemos usar less para mostrar, página por página, la salida de cualquier comando que envíe sus resultados a la salida estándar:
[yo @ linuxbox ~] $ ls -l / usr / bin | menos
[yo @ linuxbox ~] $ ls -l / usr / bin | menos
¡Esto es extremadamente útil! Usando esta técnica, podemos examinar convenientemente la salida de cualquier comando que produzca una salida estándar.
La diferencia entre> y |
A primera vista, puede resultar difícil comprender la redirección realizada por el operador de la tubería. | versus el operador de redireccionamiento >. En pocas palabras, el operador de redirección conecta un comando con un archivo, mientras que el operador de canalización conecta la salida de un comando con la entrada de un segundo comando.
comando 1 > archivo1 comando1 | comando 2
Mucha gente intentará lo siguiente cuando aprendan sobre las canalizaciones, "solo para ver qué sucede".
comando 1 > comando 2
Respuesta: A veces algo realmente malo.
A continuación, se muestra un ejemplo real enviado por un lector que administraba un dispositivo de servidor basado en Linux. Como superusuario, hizo esto:
# cd / usr / bin
# ls> menos
El primer comando lo puso en el directorio donde se almacenan la mayoría de los programas y el segundo comando le dijo al shell que sobrescribiera el archivo. less con la salida del ls mando. Desde el / usr / bin directorio ya contenía un archivo llamado "menos" (el less programa), el segundo comando sobrescribió el less archivo de programa con el texto de ls destruyendo así el less programa en su sistema.
La lección aquí es que el operador de redirección crea o sobrescribe archivos en silencio, por lo que debe tratarlos con mucho respeto.