1. 程式人生 > >IC數字前端設計開發13 (Linux的mktemp命令)

IC數字前端設計開發13 (Linux的mktemp命令)

mktemp 命令:用於建立暫存檔案,提供給shell指令碼安全的使用臨時檔案

引數

-d 建立一個替代目錄檔案
-p<目錄> 指定使用目錄作為生成臨時檔名時的字首
-q 不顯示錯誤資訊
-u 結束時刪除暫存檔案

Linux系統有特殊的目錄,專供臨時檔案使用。Linux使用/tmp目錄來存放不需要永久保留的檔案。mktemp命令專門用來建立臨時檔案,並且其建立的臨時檔案是唯一的。shell會根據mktemp命令建立臨時檔案,但不會使用預設的umask值(管理許可權的)。它會將檔案的讀寫許可權分配給檔案屬主,一旦建立了檔案,在shell指令碼中就擁有了完整的讀寫許可權,其他人不可訪問(除了root)。mktemp命令用法如下:

  • 預設情況

預設情況下,mktemp會在本地當前目錄建立一個臨時檔案,建立臨時檔案時只需要建立模板檔案,模板可以包含任意的檔名,檔案末尾可以根據需要新增nX。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

參考資料

  1. Linux命令列與shell指令碼大全