UNIX和Linux中比較重要的三個設備文件是:/dev/console,/dev/tty和/dev/null。shell
0spa
/dev/console進程
這個設備表明的是系統控制臺,錯誤信息和診斷信息一般會被髮送到這個設備。it
每一個UNIX系統都會有一個指定的終端或顯示屏用來接收控制檯信息。console
1登錄
/dev/tty終端
若是一個進程有控制終端的話,那麼/dev/tty就是這個控制終端的別名。gc
像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
over~