
/dev/null
書き込まれたものをすべて「破棄する」特別なファイルがあると読みましたが、直接書き込むと HDD が使用されるのでしょうか? それとも RAM はどうでしょうか?
例えば:
wget http://speedtest.wdc01.softlayer.com/downloads/test500.zip -o /dev/null
同様に、Windows の場合NUL
も書き込みは同じ動作をしますか?
答え1
書き込みは/dev/null
HDD に何ら影響を与えません。Windows の場合も同様ですNUL
。
一つだけは異なるのは、 はNUL
「特別な」名前であるのに対し、 は/dev/null
そうではないことです。
Linux(または他のUnix)で使用する場合/dev/null
、OSはその名前のファイルを探します。ない見つかった場合は、実際に というファイルが作成され/dev/null
、データがディスクに書き込まれます。これは、/dev
ファイルシステムのマウントを忘れた場合などに発生する可能性があります。
存在するはずの場合/dev/null
、OS はそれがマジックナンバー 1 と 3 (メジャーとマイナー) を持つ文字デバイス ファイルであることを検出し、そのデバイスに書き込むための特別なドライバーが起動し、データを読み取らずに破棄します。
null
実際に、好きな場所に独自のファイルを作成できます(好きな名前を付けることができます)。
sudo mknod --mode=666 my_null c 1 3
そしてこれも機能します:
echo "dump this!" > ./my_null
なぜそうするのか分かりませんが? ;-)
答え2
/dev/null
従来のファイルとは異なります。
ディレクトリ/dev/
は、devfs(デバイスファイルシステム) 疑似ファイルシステム。ファイルシステムの形式を使用するdevfs各デバイスをファイルとして表示するデバイス マネージャーとして機能します。
この疑似/仮想ファイルシステムはハードドライブ上にはありません。メモリ。
内のファイルは/dev
、ソフトウェアとプロセスにデバイスへのアクセスを提供するためにカーネルによって生成されます。
null
ディレクトリ内のファイル/dev/
にはサイズがなく、作成日はシステムの起動時間と同じで、すべてのユーザーに対して読み取りおよび書き込み権限があります。