一.概述
Linux使用/tmp目錄來存放不需要永久保留的文件。 mktemp命令專門用來創建臨時文件,並且其創建的臨時文件是唯一的。
shell會根據mktemp命令創建臨時文件,但不會使用默認的umask值(管理權限的)。
它會將文件的讀寫權限分配給文件屬主,一旦創建了文件,在shell腳本中就擁有了完整的讀寫權限,其他人不可訪問(除了root)。
二.mktemp命令用法如下:
1.mktemp命令可以在闖將臨時文件時指定文件的命名格式,在后面加幾個X,就會生成幾個字符的文件名,需要注意X最少為3個
2.如果指定了命名格式,即用了XXXX,則會在當前目錄生成文件,如果沒有指定,則會在/tmp目錄下創建一個名為(tmp.+任意十個字符)的臨時文件
默認情況:
[root@mail ~]# mktemp
/tmp/tmp.r1A46FTGmj
[root@mail ~]# mktemp XXXXX
gC73N
-t 參數:
-t 參數會強制將臨時文件創建在系統的 臨時文件目錄下,而不是當前目錄,且創建時mktemp命令會返回臨時文件的全路徑
[root@mail ~]# mktemp -t XXXXX
/tmp/EPlRT
-d 參數:
創建一個臨時目錄而不是臨時文件。
[root@mail ~]# mktemp -d XXXXX
TYgOR
[root@mail ~]# ll
drwx------. 2 root root 6 Feb 21 16:54 TYgOR
-u 參數:
僅返回一個文件名,並不會真的創建文件,可以用來生成隨機數
[root@mail ~]# mktemp -u XXXXXXXXXX
3DOSGBrWNi