web-dev-qa-db-ja.com

/ dev / nullと/ dev / zeroの違い

/dev/nullおよび/dev/zeroにリダイレクトしようとすると、出力が破棄されます。 /dev/null/dev/zeroの両方がすべての入力を受け入れて破棄するようです。では、/dev/null/dev/zeroの違いは何ですか?

30
Pandya

はい、すべての入力を受け入れて破棄しますが、それらの出力は同じではありません。

  • /dev/null出力を生成しません
  • /dev/zeroは、NULL(ゼロ値)バイトの連続ストリームを生成します。

cat /dev/nullcat /dev/zeroを実行すると、違いを確認できます。

  • cat /dev/null > fileを試すと、空のfileが見つかります。

  • ファイル(cat /dev/zero > file)のサイズが増加し続けるのを見ながら、watch -n 1 du -h fileを試してください。これは、/dev/zeroから読み取ると、\0(null)文字のストリームが無限に続くためです。

ddを使用して、違いをより適切に視覚化します。

$ dd if=/dev/null of=file count=10
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000276193 s, 0.0 kB/s
$ dd if=/dev/zero of=file count=10
10+0 records in
10+0 records out
5120 bytes (5.1 kB) copied, 0.00090775 s, 5.6 MB/s

/dev/zeroは、ダミーファイルの作成またはスワップに使用されます。

また訪問:

56
Pandya