IC數字前端設計開發13 (Linux的mktemp命令)
阿新 • • 發佈:2018-12-09
mktemp 命令:用於建立暫存檔案,提供給shell指令碼安全的使用臨時檔案
引數
-d 建立一個替代目錄檔案
-p<目錄> 指定使用目錄作為生成臨時檔名時的字首
-q 不顯示錯誤資訊
-u 結束時刪除暫存檔案
Linux系統有特殊的目錄,專供臨時檔案使用。Linux使用/tmp目錄來存放不需要永久保留的檔案。mktemp命令專門用來建立臨時檔案,並且其建立的臨時檔案是唯一的。shell會根據mktemp命令建立臨時檔案,但不會使用預設的umask值(管理許可權的)。它會將檔案的讀寫許可權分配給檔案屬主,一旦建立了檔案,在shell指令碼中就擁有了完整的讀寫許可權,其他人不可訪問(除了root)。mktemp命令用法如下:
- 預設情況
預設情況下,mktemp會在本地當前目錄建立一個臨時檔案,建立臨時檔案時只需要建立模板檔案,模板可以包含任意的檔名,檔案末尾可以根據需要新增n
個X
。Demo如下:
# 建立臨時檔案
$ mktemp test.XXXX
test.LUTA
$ mktemp test.XXXXXX
test.YgW9gf
# 儲存建立的臨時檔案
$ test=$(mktemp test.XXXXXX)
$ echo $test
test.vTqiVc
- -t選項
-t
選項會強制mktemp命令在系統的臨時目錄中建立臨時檔案,建立時mktemp命令會返回臨時檔案的全路徑。Demo如下:
$ mktemp -t test.XXXXXX /var/folders/ky/fvshg4_93p177q7pnm718vph0000gn/T/test.XXXXXX.O3dKTv6E
- -d選項
-d選項告訴mktemp命令建立一個臨時目錄而不是臨時檔案。Demo如下:
# 建立臨時目錄
$ mktemp -d test.XXXXXX
test.CJmaBe
# 檢視test.CJmaBe是否是目錄
$ ls -F
test.CJmaBe/ test.LUTA test.YgW9gf test.vTqiVc
參考資料
- Linux命令列與shell指令碼大全