
Hasta donde yo sé, puedes tener la capacidad de crear tuberías entre aplicaciones, como esta:
$ step1 < input_file | step2 | step3 > result_file
Y puede acceder a dispositivos como /dev/urandom
, /dev/zero
. /dev/null
, etc:
$ cat /dev/urandom > "output_file"
$ someprog > /dev/null
Mi pregunta es ¿es posible hacer una tubería con un dispositivo de bloqueo tanto de entrada como de salida al mismo tiempo? Por ejemplo, quiero leer un archivo input_file
, enviarlo a /dev/example
(que es rw
) y luego leer su salida en un archivo output_file
. Se puede lograr con un solo comando como este:
$ cat input_file | /dev/example > output_file
o
$ /dev/example < input_file > output_file
¿O se recomienda hacerlo con dos comandos?
PD: Tal vez estoy escribiendo mal los comandos o cometiendo errores de sintaxis, dígame cómo obtenerlo. Yo uso sh
o bash
, no sé usar otras consolas. Si no lo tengo claro, háganmelo saber ya que el inglés no es mi lengua materna.
Respuesta1
Lo que escribiste no tiene sentido: /dev/example
es un archivo, no un programa o una tubería. Si escribe datos en un dispositivo, no pasan a través del dispositivo ni salen a otro programa.
Por ejemplo, los datos escritos /dev/audio
se reproducen en altavoces. Si lee datos de /dev/audio
, obtendrá datos grabados en el micrófono. No hay relación entre lo que se reproduce en los altavoces y lo que se graba con el micrófono.