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