装置付きパイプチェーン

装置付きパイプチェーン

私が知っている限り、次のアプリケーション間でパイプを接続できます。

$ step1 < input_file | step2 | step3 > result_file

/dev/urandomなどのデバイスにアクセスできます/dev/zero/dev/null、等:

$ cat /dev/urandom > "output_file"
$ someprog > /dev/null

私の質問は、ブロックデバイスを使用して入力と出力の両方を含むパイプを作成することは可能ですか?たとえば、 を読んで (たとえば)input_fileに送信してから、その出力を読みたいとします。これは、次の単一のコマンドで行うことができます。/dev/examplerwoutput_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マイクに録音されたデータが得られます。スピーカーの再生とマイクの録音の間には関係ありません。

おすすめ記事