/dev/console,/dev/tty和/dev/null

/dev/consoleshell

這個設備表明的是系統控制檯,錯誤信息和診斷信息一般會被髮送到這個設備。ide

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

/dev/ttyit

若是一個進程有控制終端的話,那麼/dev/tty就是這個控制終端的別名。console

像cron這樣的進程是沒有控制終端的,所以它也就沒法打開/dev/tty。class

tty這個詞源於Teletypes,最先是源於電傳打印機。登錄

若是你登陸了一個shell,那麼/dev/tty就是你當前使用的終端。你也能夠用tty命令查看/dev/tty設備實際連接到的設備是哪一個。終端

/dev/tty其實就是相似於「符號連接」同樣的東西。像個人tty輸出就是:gc

[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

文件描述符

下面就是這些文件描述符及它們一般所對應的文件名: 文件                                     文件描述符 輸入文件—標準輸入                  0 輸出文件—標準輸出                  1 錯誤輸出文件—標準錯誤           2 系統中實際上有1 2個文件描述符,可是正如咱們在上表中所看到的, 0、一、2是標準輸入、 輸出和錯誤。能夠任意使用文件描述符3到9。

相關文章
相關標籤/搜索