文章作者:Tyan
博客:noahsnail.com ?|? CSDN ?|? 簡書
Linux系統(tǒng)有特殊的目錄,專供臨時文件使用。Linux使用/tmp目錄來存放不需要永久保留的文件。mktemp命令專門用來創(chuàng)建臨時文件,并且其創(chuàng)建的臨時文件是唯一的。shell會根據(jù)mktemp命令創(chuàng)建臨時文件,但不會使用默認(rèn)的umask值(管理權(quán)限的)。它會將文件的讀寫權(quán)限分配給文件屬主,一旦創(chuàng)建了文件,在shell腳本中就擁有了完整的讀寫權(quán)限,其他人不可訪問(除了root)。mktemp命令用法如下:
- 默認(rèn)情況
默認(rèn)情況下,mktemp會在本地當(dāng)前目錄創(chuàng)建一個臨時文件,創(chuàng)建臨時文件時只需要創(chuàng)建模板文件,模板可以包含任意的文件名,文件末尾可以根據(jù)需要添加n
個X
。Demo如下:
# 創(chuàng)建臨時文件
$ mktemp test.XXXX
test.LUTA
$ mktemp test.XXXXXX
test.YgW9gf
# 保存創(chuàng)建的臨時文件
$ test=$(mktemp test.XXXXXX)
$ echo $test
test.vTqiVc
- -t選項
-t
選項會強制mktemp命令在系統(tǒng)的臨時目錄中創(chuàng)建臨時文件,創(chuàng)建時mktemp命令會返回臨時文件的全路徑。Demo如下:
$ mktemp -t test.XXXXXX
/var/folders/ky/fvshg4_93p177q7pnm718vph0000gn/T/test.XXXXXX.O3dKTv6E
- -d選項
-d選項告訴mktemp命令創(chuàng)建一個臨時目錄而不是臨時文件。Demo如下:
# 創(chuàng)建臨時目錄
$ mktemp -d test.XXXXXX
test.CJmaBe
# 查看test.CJmaBe是否是目錄
$ ls -F
test.CJmaBe/ test.LUTA test.YgW9gf test.vTqiVc
參考資料
- Linux命令行與shell腳本大全