shell編程之——cat /dev/null作用


本文出自 https://blog.csdn.net/bad_good_man/article/details/49150275

轉載用於學習參考,方便查閱,尊重原創 !

在學習shell編程的過程中,都會看到這條命令:

cat /dev/null > messages

相信初學者很多都很困惑這是什么意思,為什么要這么用,現解釋如下,雖然很基礎,但是任何高手都是從最基礎的東西開始慢慢積累的。

言歸正傳

這條命令的意思是:清空messages文件。

可以把/dev/null看作"黑洞". 它非常等價於一個只寫文件. 所有寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什么也讀不到.

因此, /dev/null 對命令行和腳本都非常的有用.

舉例:

 
        
cat /dev/null > messages

這個腳本的作用為:清除message文件中的內容。

 

Linux中重定向 

原文地址 https://www.linuxprobe.com/refre-gd-he.html

重定向

系統設定的輸入輸出
  • 默認輸出設備:標准輸出,STDOUT,1
  • 默認輸入設備:標准輸入,STDIN,0
  • 標准錯誤輸出:STDERR,2
標准輸入:鍵盤 標准輸出和錯誤輸出:顯示器
linux中的I/O重定向
  • 標准輸入 (stdin): 代碼為0,使用<或<<;
  • 標准輸出 (stdout): 代碼為1,使用>或>>;
  • 標准錯誤輸出(stderr): 代碼為2,使用2>或2>>;
  • ">" ">>"
>: 覆蓋輸出 >>:追加輸出 # set -C 禁止對已經存在文件使用覆蓋重定向;強制覆蓋輸出,則使用 >| # set +C 關閉上述功能
  • "2>" "2>>"
2>: 重定向錯誤輸出 2>>: 追加方式 將正確的與錯誤的分別存入不同的文件中 # ls / /varr > /tmp/var3.out 2> /tmp/err.out # ls /varr > /tmp/var4.out 2> /tmp/var4.out /dev/null垃圾桶黑洞裝置 &>: 重定向標准輸出或錯誤輸出至同一個文件(或者2>&1)
  • "<"
輸出重定向(將原來需要由鍵盤輸入的數據,改由文件內容來取代) # tr 'a-z' 'A-Z' < /etc/fstab
  • "<<"
Here Document(代表結束的輸入字符) # cat << END # cat >> /tmp/myfile.txt << EOF
/dev/null, 軟件設備,bit bucket,數據黑洞,將內容輸出定向到該設備下無任何返回內容

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM