關於/dev/console,/dev/tty和/dev/null

UNIX和Linux中比較重要的三個設備文件是:/dev/console,/dev/tty和/dev/null。 


/dev/console 

這個設備代表的是系統控制檯,錯誤信息和診斷信息通常會被髮送到這個設備。 


每個UNIX系統都會有一個指定的終端或顯示屏用來接收控制檯信息。 



/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 



/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 

發佈了18 篇原創文章 · 獲贊 6 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章