-
mktemp
建立臨時檔案或者目錄,這樣的建立方式是安全的。此指令的适用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、文法
mktemp [選項] [TEMPLATE]
2、選項清單
--version
顯示指令版本資訊
--help
顯示幫助資訊
-d | --directory
建立目錄
-u | --dry-run
不要建立任何東西,隻要列印一個名字(不安全)
-q | --quiet
發生錯誤的時候不顯示提示資訊
--suffix=SUFF
附加SUFF到模闆中。SUFF不能包含斜杠。如果模闆不以X結尾,則使用此選項。
--tmpdir[=dir]
指定臨時檔案的路徑,如果tmpdir後面沒有路徑,那麼使用變量$TMPDIR;如果這個變量也沒指定,那麼臨時檔案建立在/tmp目錄下。使用此選項,模闆不能是絕對名稱。與“-t“不同,模闆可能包含斜杠,但mktemp隻建立最終元件
-p DIR
使用DIR作為字首
-t
将模闆解釋為一個相對于目錄$TMPDIR(如果設定)的單個檔案名元件;否則通過-p指定的目錄;或者使用/tmp(-t已經棄用)
TEMPLATE
臨時檔案名,名字中必須包含至少3個字母X。如果沒有指定,那麼預設是tmp. XXXXXXXXXX
3、執行個體
1)建立臨時檔案
[root@localhost weijie]# mktemp wj123.XXXX //名字包含4個X
wj123.kpET
You have new mail in /var/spool/mail/root
[root@localhost weijie]# mktemp wj123.XXXXXX //名字包含6個X
wj123.oH2o4P
[root@localhost weijie]# ls
1.c wj123.kpET wj123.oH2o4P
2)建立臨時目錄
[root@localhost weijie]# mktemp -d wjtp //名字中沒有X
mktemp: 模闆"wjtp" 中X 太少
[root@localhost weijie]# mktemp -d wjtpxxx //名字中沒有X,這裡可以看到X必須是大寫的
mktemp: 模闆"wjtpxxx" 中X 太少
[root@localhost weijie]# mktemp -d wjtpXXX //建立成功
wjtpflR
[root@localhost weijie]# ls -l
總用量 4
-rw-r--r-- 1 root root 0 9月 7 09:11 1.c
-rw------- 1 root root 0 9月 7 14:47 wj123.kpET
-rw------- 1 root root 0 9月 7 14:47 wj123.oH2o4P
drwx------ 2 root root 4096 9月 7 14:50 wjtpflR
3)在/tmp中建立臨時檔案
[root@localhost weijie]# mktemp --tmpdir wj234.XXX //tmpdir沒有指定路徑,在tmp下建立
/tmp/wj234.BNy
4)在指定目錄下建立臨時目錄
[root@localhost weijie]# mktemp --tmpdir=/weijie wj234.XXX //在tmpdir指定的路徑下建立
/weijie/wj234.q1C
1.c wj123.kpET wj123.oH2o4P wj234.q1C wjtpflR
5)使用選項-u建立
[root@localhost weijie]# mktemp -u wj123.XXXXXX //使用-u選項
wj123.dSgIKl
[root@localhost weijie]# ls //看不到臨時檔案,因為沒有建立