UNIX和Linux中比較重要的三個設備文件是:/dev/console,/dev/tty和/dev/null。
0
/dev/console
這個設備代表的是系統控制檯,錯誤信息和診斷信息通常會被髮送到這個設備。
每個UNIX系統都會有一個指定的終端或顯示屏用來接收控制檯信息。
1
/dev/tty
如果一個進程有控制終端的話,那麼/dev/tty就是這個控制終端的別名。
像cron這樣的進程是沒有控制終端的,因此它也就無法打開/dev/tty。
tty這個詞源於Teletypes,最早是源於電傳打印機。
如果你登錄了一個shell,那麼/dev/tty就是你當前使用的終端。你也可以用tty命令查看/dev/tty設備實際鏈接到的設備是哪個。
/dev/tty其實就是類似於“符號鏈接”一樣的東西。像我的tty輸出就是:
[root@wupengchong dev]# tty
/dev/pts/0
2
/dev/null
這是個空設備,也稱爲“位桶bit bucket”。所有寫向這個設備的輸出都將被丟棄,而如果你讀/dev/null,則會立即得到一個文件尾標誌而返回。
在cp命令裏,可以用/dev/null來作爲拷貝空文件的源文件。
在shell中,通常將不需要的東西重定向到/dev/null中。
這裏要提一下/dev/zero,它和null是有區別的。通俗的講,/dev/null是一個飯桶,你可以無窮無盡的往裏塞垃圾,它不會埋怨。而/dev/zero是一個輸入設備,它給你無窮無盡的提供0(就是null),它可以用於向文件或設備寫入無窮無盡的0.
/dev/zero和/dev/null的用法比較:
$dd if=/dev/zero of=mydoc.txt bs=1k count=1
$find . -name “*.c” 2>/dev/null
關於/dev/console,/dev/tty和/dev/null
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.