Linux的mktemp命令

文章作者: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ù)需要添加nX。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

參考資料

  1. Linux命令行與shell腳本大全
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容