【linux】/dev/null作用和/dev/random

  一.  /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來代替:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章