mktemp 命令

时间:2024-01-18 12:42:08

Linux mktemp命令用于建立暂存文件。

mktemp建立的一个暂存文件,供shell script使用。

mktemp命令专门用来创建临时文件,并且其创建的临时文件是唯一的。shell会根据mktemp命令创建临时文件,但不会使用默认的umask值(管理权限的)。它会将文件的读写权限分配给文件属主,一旦创建了文件,在shell脚本中就拥有了完整的读写权限,其他人不可访问(除了root)

参数:

  • -q  执行时若发生错误,不会显示任何信息。
  • -u  暂存文件会在mktemp结束前先行删除。
  • [文件名参数]  文件名参数必须是以"自订名称.XXXXXX"的格式。

使用方法:

默认情况:

  • 默认情况下,mktemp会在本地当前目录创建一个临时文件,创建临时文件时只需要创建模板文件,模板可以包含任意的文件名,文件末尾可以根据需要添加nX。Demo如下:
[root@master ~] # tempfile=$(mktemp test.XXXX)
[root@master ~] # echo $tempfile
test.coCi

[root@master ~] # mktemp test.XXX   // 不能少于三个X
  test.eIB

  • -t 选项:

  -t选项会强制mktemp命令在系统的临时目录中创建临时文件,创建时mktemp命令会返回临时文件的全路径。

[root@master ~] # mktemp -t test.XXXX
/tmp/test.1OKR
[root@master ~] # mktemp -t test.XXXXX
/tmp/test.jSwmV
[root@master ~] # mktemp -t test.XXXX
/tmp/test.sQTP
  • -d 选项

-d选项告诉mktemp命令创建一个临时目录而不是临时文件