代码改变世界
[登录 · 注册]
  • 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       //名字包含4X

    wj123.kpET

    You have new mail in /var/spool/mail/root

    [root@localhost weijie]# mktemp wj123.XXXXXX     //名字包含6X

    wj123.oH2o4P

    [root@localhost weijie]# ls

    1.c  wj123.kpET wj123.oH2o4P

    2)创建临时目录

    [root@localhost weijie]# mktemp -d wjtp         //名字中没有X

    mktemp: 模板"wjtp" 太少

    [root@localhost weijie]# mktemp -d wjtpxxx      //名字中没有X,这里可以看到X必须是大写的

    mktemp: 模板"wjtpxxx" 太少

    [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

    You have new mail in /var/spool/mail/root

    4)在指定目录下创建临时目录

    [root@localhost weijie]# mktemp --tmpdir=/weijie wj234.XXX    //tmpdir指定的路径下创建

    /weijie/wj234.q1C

    [root@localhost weijie]# ls

    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                                  //看不到临时文件,因为没有创建

    1.c  wj123.kpET  wj123.oH2o4P  wj234.q1C  wjtpflR

  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文:https://www.cnblogs.com/wj78080458/p/9854213.html
Copyright 2008-2020 晋ICP备12007731号-1