<オール>
Linux
パイプはデータをディスクに保存しません。 /bin/エコー フー | grep bar はファイルを作成しません。 strace -f sh -c '/bin/echo foo | grep bar' を試す パイプラインの実行時にシェルによって行われたすべてのシステム コールを表示します。 echo シェル組み込みなので、 /bin/echo をお勧めします シェルに実行可能ファイルを実行させます。
/tmp ディスク上にある必要はありません。 tmpfs にマウントできます (つまり、仮想メモリによってサポートされます)。再起動すると /tmp が空になることに注意してください その場合は /var/tmp を使用してください 残しておきたいもののために。
あなたがやっていることは、ファイルにデータを入れている場合、それはパイプを使用していません。ファイルが通常のファイルではなく fifo である場合、それは単なる名前付きランデブーであり、データは含まれていません。 ls -l を使用して確認してください。
また、ユーザーが所有するプロセス内のパイプを通過しているものをユーザーが見ないようにしたい場合は、ほとんど SOL であることに注意してください。strace mmaped 共有メモリの読み取り/書き込みを除いて、プロセスがプロセス外のものと対話するすべてのことを検査できます。 ltrace さらに侵襲的です。ローカル ユーザーが root を持つシステムでプログラムが実行される場合、それらを停止することはまったくできません。 Unix では、ルートは何でもでき、その目的のための強力なツールがあります。