Freebsd
如何在 BSD 上創建 /dev/null?
/dev/null
在我的系統上刪除了一個錯誤編寫的腳本。我確實在這裡找到了答案並嘗試了一下。但是,一旦我向 new 寫入內容/dev/null
,系統就會崩潰。恐怕這個答案不適合 BSD。任何人都可以幫忙嗎?
這是 FreeBSD 10.3
在 FreeBSD 上:
mknod /dev/null c 15 0 root:wheel chmod 0666 /dev/null
如您所見,數字 15 和 0 不能移植到其他系統。
創建設備節點條目的命令
mknod
幾乎適用於所有 Unix 系統。設備編號完全取決於 unix 變體,因此您需要在文件中查找它們。在某些系統上,man 4 null
(null
第 4 節“特殊文件”中的手冊頁)會告訴您設備號是什麼。(設備在 BSD 和 Linux 上的第 4 節中,但在其他 Unix 變體上,節號可能會有所不同,例如在 Solaris 上是第 7 節。)如果手冊頁沒有告訴您,請查找
MAKEDEV
命令,通常位於/dev
. 這通常是一個 shell 腳本,您可以在其中輕鬆找到設備編號,或將其作為cd /dev && ./MAKEDEV null
.一些現代 unix 系統不使用
MAKEDEV
,因為設備節點是自動創建的。在帶有 udev 的 Linux 系統(一些嵌入式系統除外)上就是這種情況,在帶有devfs的 FreeBSD 上也是如此。如何重新創建通常自動創建的條目取決於自動設備創建系統。在 FreeBSD 上,您可以簡單地將設備名稱賦予mknod
命令:mknod /dev/null
.