天天看點

Linux基礎指令---mktemp

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                                  //看不到臨時檔案,因為沒有建立

繼續閱讀