天天看點

14.7建立臨時檔案

  linux系統中使用/tmp目錄存放不需要一直儲存的檔案。linux發行版本配置了系統在啟動時自動删除/tmp目錄的所有檔案。

  系統上的任何使用者賬戶都有權限在/tmp目錄中讀和寫。

  mktemp指令可以在/tmp目錄中建立一個唯一的臨時檔案。shell會建立這個檔案,但不需要預設的umask值。它會将檔案的讀和寫權限配置設定給檔案的屬主。并将你設定成檔案的屬主。一旦建立了檔案,你就在腳本中有完整的讀寫權限,但其他人沒法通路它(除去root使用者)

  mktemp指令建立檔案時,格式:mktemp test.XXXXXX

模闆可以包含任意文本檔案名,在檔案名末加.XXXXXX。

  mktemp指令會用6個字元碼替換這6個XXXXXX,保證檔案名在目錄中是唯一的。

[email protected]:/tmp$ mktemp liuxj_test.XXXXXX
liuxj_test.1YIATw      

  mktemp指令的輸出正是它所建立的檔案的名字。

将輸出一邊發送到顯示器一邊發送到日志檔案,可用特殊的tee指令

tee指令将STDIN過來的資料同時發給STDOUT和另一個目的地是tee指令行所指定的檔案名

tee filename      

由于tee會将從STDIN過來的資料重定向,你可以用它和管道指令來一起将任何指令的輸出重定向:

date | tee testfile      

注意:預設情況下,tee指令會在每次使用的時候覆寫輸出檔案内容:

如果你想将資料追加到檔案中,必須用-a選項:

date | tee -a testfile      

例子:

tempfile=test17file

echo "This is the start of the test" | tee $tempfile
echo "This is the second line of the test"|tee -a $tempfile
echo "This is the end of the test"| tee -a $tempfile      

轉載于:https://www.cnblogs.com/Caden-liu8888/p/6340264.html

繼續閱讀