千家信息网

Linux基础命令---mktemp

发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,mktemp创建临时文件或者目录,这样的创建方式是安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1 、语法mktemp [ 选
千家信息网最后更新 2024年12月01日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

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