パイプとリダイレクト


23

私は長い間パイプとリダイレクトを使用してきましたが、それらがどのように違うのか正確にはわかりません。出力をファイルに保存する場合は、>を使用することを知っています。それ以外の場合、ほとんどの場合は|を使用します。誰かがパイプとリダイレクトの違いを説明できますか?


回答:


25

どちらも同じ基本的なことを行います。実行されたプロセスのファイル記述子をリダイレクトします。違いは方法にあります。パイプは、あるプロセスの標準出力を別のプロセスの標準入力に接続しますが、リダイレクトはファイルとの間でリダイレクトします(>標準出力からファイルへ、ファイルから標準入力へ<)。


1
Linuxや/dev/fd。たとえば、を実行するとecho foo > >(somecommand)、に展開されecho foo > /dev/fd/3ます。まだリダイレクトですが、プロセスへのリダイレクトです。
user1686
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.