私が知っている限り、次のアプリケーション間でパイプを接続できます。
$ step1 < input_file | step2 | step3 > result_file
/dev/urandom
などのデバイスにアクセスできます/dev/zero
。/dev/null
、等:
$ cat /dev/urandom > "output_file"
$ someprog > /dev/null
私の質問は、ブロックデバイスを使用して入力と出力の両方を含むパイプを作成することは可能ですか?たとえば、 を読んで (たとえば)input_file
に送信してから、その出力を読みたいとします。これは、次の単一のコマンドで行うことができます。/dev/example
rw
output_file
$ cat input_file | /dev/example > output_file
または
$ /dev/example < input_file > output_file
それとも、2つのコマンドを使用することをお勧めしますか?
PS:私がコマンドを誤って入力したか、文法的なエラーを犯した可能性があります。これを得る方法を教えてください。sh
またはを使用していますが、bash
他のコンソールはどのように使用しているのかわかりません。英語が私の母国語ではないので、よくわからない場合は教えてください。
答え1
あなたが書いた内容はまったく意味がありません。/dev/example
プログラムやパイプではないファイルです。デバイスにデータを書き込むと、データはデバイスを通過せずに別のプログラムに出力されます。
たとえば、記録されたデータ/dev/audio
はスピーカーで再生されます。からデータを読み取ると、/dev/audio
マイクに録音されたデータが得られます。スピーカーの再生とマイクの録音の間には関係ありません。