![寫入“/dev/null”或“NUL”會影響硬碟嗎?](https://rvso.com/image/1490205/%E5%AF%AB%E5%85%A5%E2%80%9C%2Fdev%2Fnull%E2%80%9D%E6%88%96%E2%80%9CNUL%E2%80%9D%E6%9C%83%E5%BD%B1%E9%9F%BF%E7%A1%AC%E7%A2%9F%E5%97%8E%EF%BC%9F.png)
我讀到的/dev/null
是一個特殊文件,它“丟棄”寫入其中的所有內容,但是直接寫入它是否會以任何方式使用硬碟?或是RAM怎麼樣?
例如:
wget http://speedtest.wdc01.softlayer.com/downloads/test500.zip -o /dev/null
同樣,對於 Windows,寫入的NUL
行為是否也相同?
答案1
寫入/dev/null
不會以任何方式影響 HDD。 Windows 也是如此NUL
。
一件事是是不同的是,這NUL
是一個“特殊”名稱,而/dev/null
不是。
當您/dev/null
在 Linux(或任何 Unix)上使用時,作業系統會尋找具有該名稱的檔案。如果是的話不是找到一個,然後它將建立一個名為的實際檔案/dev/null
並將資料寫入磁碟;如果您忘記掛載/dev
檔案系統或其他原因,則可能會發生這種情況。
如果/dev/null
確實存在,那麼作業系統將檢測到它是一個字元設備文件,帶有幻數 1 和 3(主要和次要),並且用於寫入該設備的特殊驅動程式啟動......並且丟棄您的數據而不讀取它。
實際上,您可以在任何您喜歡的地方建立自己的null
檔案(並根據您的喜好命名):
sudo mknod --mode=666 my_null c 1 3
然後這也將起作用:
echo "dump this!" > ./my_null
我不知道你為什麼要這麼做? ;-)
答案2
/dev/null
與傳統文件不同。
該/dev/
目錄是一個掛載點開發檔案系統(設備檔案系統)偽檔案系統。使用檔案系統的形式開發檔案系統充當裝置管理員,將每個裝置顯示為檔案。
此偽/虛擬檔案系統不在硬碟機上。它是在記憶。
中的檔案/dev
由核心生成,以提供軟體和進程對設備的存取。
null
該目錄下的檔案/dev/
沒有大小限制,其建立日期與系統啟動時間相同,並且對所有使用者都有讀寫權限。