Linux的mktemp命令
2016-12-13 本文已影响41人
SnailTyan
文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
Linux系统有特殊的目录,专供临时文件使用。Linux使用/tmp目录来存放不需要永久保留的文件。mktemp命令专门用来创建临时文件,并且其创建的临时文件是唯一的。shell会根据mktemp命令创建临时文件,但不会使用默认的umask值(管理权限的)。它会将文件的读写权限分配给文件属主,一旦创建了文件,在shell脚本中就拥有了完整的读写权限,其他人不可访问(除了root)。mktemp命令用法如下:
- 默认情况
默认情况下,mktemp会在本地当前目录创建一个临时文件,创建临时文件时只需要创建模板文件,模板可以包含任意的文件名,文件末尾可以根据需要添加n
个X
。Demo如下:
# 创建临时文件
$ mktemp test.XXXX
test.LUTA
$ mktemp test.XXXXXX
test.YgW9gf
# 保存创建的临时文件
$ test=$(mktemp test.XXXXXX)
$ echo $test
test.vTqiVc
- -t选项
-t
选项会强制mktemp命令在系统的临时目录中创建临时文件,创建时mktemp命令会返回临时文件的全路径。Demo如下:
$ mktemp -t test.XXXXXX
/var/folders/ky/fvshg4_93p177q7pnm718vph0000gn/T/test.XXXXXX.O3dKTv6E
- -d选项
-d选项告诉mktemp命令创建一个临时目录而不是临时文件。Demo如下:
# 创建临时目录
$ mktemp -d test.XXXXXX
test.CJmaBe
# 查看test.CJmaBe是否是目录
$ ls -F
test.CJmaBe/ test.LUTA test.YgW9gf test.vTqiVc
参考资料
- Linux命令行与shell脚本大全