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


27

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


6
rm -f /dev/zero ; echo -n 111111111111 > /dev/zero*逃げる*
joeytwiddle

回答:


51

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

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

とを実行するcat /dev/nullと、違いを確認できますcat /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 ダミーファイルまたはスワップの作成に使用されます。

次もご覧ください:


参照してくださいthecodelesscode.com/case/6
小次郎

2
注目に値する:mmapping /dev/zerowith MAP_PRIVATEは、匿名メモリマッピングを取得するための「ポータブル」な方法です(のような拡張機能がない場合MAP_ANON)。
-nneonneo

6
カジュアルな読者におそらく明らかでないだけでどのように /dev/null 出力を生成しません:それはすぐにEOF信号。
ピーター-モニカの復活

すべてを提供するデバイスはありますか?
アーロンフランケ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.