/dev/null
および/dev/zero
にリダイレクトしようとすると、出力が破棄されます。 /dev/null
と/dev/zero
の両方がすべての入力を受け入れて破棄するようです。では、/dev/null
と/dev/zero
の違いは何ですか?
はい、すべての入力を受け入れて破棄しますが、それらの出力は同じではありません。
/dev/null
は出力を生成しません。/dev/zero
は、NULL(ゼロ値)バイトの連続ストリームを生成します。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
は、ダミーファイルの作成またはスワップに使用されます。
また訪問: