天天看點

Linux&shell之顯示資料

寫在前面:案例、常用、歸類、解釋說明。(By Jim)

2>将STDEER輸入到一個檔案

1>将STDOUT輸入到一個檔案

&>将STDEER和STDOUT輸入到同一個檔案

在腳本中重定向輸入

<a></a>

(從檔案testfile中讀取資料)

建立自己的重定向

(第二行将被寫入檔案當中)

重定向檔案描述符

(中間的三行将被寫入檔案testout中,描述符3重定向到檔案描述符1的目前位置,也就是STDOUT)

建立輸入檔案描述符

(貌似執行完了,又回到請求頁面了,如果沒有exec 6&lt;&amp;0,就會直接執行完畢了)

關閉檔案描述符

如果建立新的輸入輸出檔案描述符,shell将在腳本退出時自動關閉它們。但有時需要在腳本結束前手動關閉檔案描述符。

&amp;-

exec 3&gt;&amp;-

(最後一句将不會寫入檔案,并且報錯,因為檔案描述符3已經關閉)

列出開放檔案描述符

lsof指令列出整個Linux系統上所有的開放檔案描述符。

-p可以指定程序ID(PID)

-d可以指定要顯示的檔案描述符編号

禁止指令輸出

有時候不希望顯示任何腳本輸出,解決的辦法,是将STDERR重定向到稱為空檔案null file的特殊檔案。

使用臨時檔案

mktemp指令可以輕松在/tmp檔案夾中建立一個唯一的臨時檔案。

它僅向檔案所有者配置設定讀取和寫入權限,并使您成為檔案的所有者。

mktemp testing.XXXXXX

就會建立一個臨時檔案

結果:

This script writes to temp file test.tspEXq

Done creating temp file.The contents are:

This is the first line

This is the second line

This is the last line

在/temp中建立臨時檔案

-t選項強迫mktemp在系統的臨時檔案夾中建立檔案。但使用該特性時,mktemp指令傳回用于建立臨時檔案的完整路徑名

[root@localhost shellscript]# mktemp -t test.XXXXXX

/tmp/test.v44fqo

建立臨時目錄

-d選項讓mktemp指令建立一個臨時目錄而不是一個檔案。

記錄消息

有時很有必要将輸出同時發送到螢幕和日志檔案。tee指令即可。

tee指令就像管道的T型接頭。它将STDIN的資料同時發送到兩個目的地。一個是STDOUT,另一個是tee指令行指定的檔案名:

如果希望向檔案添加資料,則必須使用-a選項:

(既能顯示在螢幕上,又能儲存到日志中)

本文轉自TBHacker部落格園部落格,原文連結:http://www.cnblogs.com/jiqing9006/p/3237722.html,如需轉載請自行聯系原作者

繼續閱讀