一. /dev/null
/dev/null屬於字符特殊文件,它屬於空設備,是一個特殊的設備文件,它會丟棄一切寫入其中的數據,寫入它的內容都會永遠丟失,而且沒有任何可以讀取的內容。
我們用file命令查看下,說明類型是字符特殊文件。
[root@localhost ~]# file /dev/null /dev/null: character special
嘗試讀取
[root@localhost ~]# cat /dev/null
什麼也讀取不到,就像一個黑洞一樣。
所以我們一般會把/dev/null當成一個垃圾站,不要的東西丟進去。比如來清除文件中的內容。
示例:
[root@localhost oa]# ls >> a.txt [root@localhost oa]# cat a.txt a.txt passwd time.sh [root@localhost oa]# cat /dev/null > a.txt [root@localhost oa]# cat a.txt
也可以把一個文件內容讀到/dev/null裏面。不過當文件不存在的時候回報錯。我們可以在前面加上數字2。
[root@localhost oa]# cat test.txt >/dev/null cat: test.txt: 沒有那個文件或目錄 [root@localhost oa]# cat test.txt 2>/dev/null
一般標準輸出和標準錯誤輸出都是屏幕,因此錯誤信息還是會在屏幕上輸出。 這個數字代表的是標準輸出。
0:表示標準輸入流(stdin),
1:表示標準輸出(stdout)。
2:表示標準錯誤輸出(stderr)
上面就是將標準錯誤( 2 )輸出重定向到/dev/null,所以屏幕上不會再顯示錯誤提示了。
二./dev/random
/dev/random也是一個特殊文件,是用於產生隨機數據流的。
我們使用cat 命令可以讀取/dev/random,由於返回的是二進制數據流,可以用od命令將其轉換爲十六進制後查看。
不過這個過程比較緩慢,可以使用/dev/urandom來代替: