書き込み/削除に/dev/nullの代わりに/dev/zeroを使用する必要がある場合はいつですか?

書き込み/削除に/dev/nullの代わりに/dev/zeroを使用する必要がある場合はいつですか?

FHS薬によると/dev

これには以下が含まれます。

The following devices must exist under /dev.

/dev/null
      All data written to this device is discarded. A read from this device will return an EOF condition.

/dev/zero
      This device is a source of zeroed out data. All data written to this device is discarded. A read from this device will return as many bytes containing the value zero as was requested.
...

次の両方を確認してください。

All data written to this device is discarded

私はたくさんのチュートリアルを読んで、彼らは/dev/nullいつもデータを破棄した。しかし、どちらも書く目的が同じであるため(廃棄)

質問

  • /dev/zero以上の使用を強制する必要がある場合/dev/null書く/捨てる目的?

ところで、他の違いは実際にはほとんど読む- 私たちは:

ベストアンサー1

/dev/nullLinuxを使用している場合は、リダイレクトを「強制」しません/dev/zero。すでに知っているように、どちらの方法でも同じ結果が得られます。

つまり、/dev/nullデータを削除するには常ににリダイレクトする必要があります。書き込みは/dev/nullデータを捨てることであることを誰もが理解しているからです。

一方、書き込みも/dev/zeroデータを捨てますが、これが何をしたいのかすぐにはわかりません。

/dev/zeroそれ以外にも、BSDなどの他のUnicesで書き込みが許可されているかどうかを心配しています。私は/dev/zeroPOSIXがそれを要求しないと思います。/dev/nullはい。したがって、意図された目的で使用することは、/dev/null移植性を最大化することです。他のことを行うことは、何の利点もなく移植性を犠牲にすることです。

おすすめ記事