约 4589 字

约 23 分钟

#Bash 的 mktemp 命令

mktemp [OPTION]... [TEMPLATE]

功能

安全的创建临时文件或目录,并打印名称。

类型

可执行文件(/usr/bin/mknod),属于 coreutils。

参数

  • OPTION 选项:
    • -d, --directory - 创建临时目录,而不是临时文件
    • -u, --dry-run - 只打印临时文件名,而不创建文件
    • -q, --quiet - 不打印失败信息
    • --suffix=SUFF - 在文件名 TEMPLATE 后面添加后缀 SUFF
    • -p DIR, --tmpdir[=DIR] - 相对于 DIR 目录创建临时文件
    • -t - 相对于环境变量 TMPDIR 表示的目录创建临时文件;已废弃
    • --help - 显示帮助
    • --version - 显示版本
  • TEMPLATE - 临时文件名模板,末尾至少 3 个 X 表示临时名称;例如 my_temp.XXX
    • 不指定 TEMPLATE 参数时,默认格式为 tmp.XXXXXXXXXX,并默认设置 --tmpdir=/tmp
    • 指定 TEMPLATE 参数时,不自动设置 --tmpdir 选项

#示例

$ mktemp                        # 创建临时文件
/tmp/tmp.MWGmRyLisU
$ mktemp my_temp.XXX            # 在当前目录创建临时文件
my_temp.EQ4
$ mktemp -p /tmp my_temp.XXX    # 在 /tmp 目录创建自定义格式的临时文件
/tmp/my_temp.PZj
$ trap 'rm -f /tmp/tmp.MWGmRyLisU my_temp.EQ4 /tmp/my_temp.PZj' EXIT  # 在 shell 退出时自动删除临时文件

#相关命令

命令说明
touch创建普通文件或刷新访问时间
mkdir创建目录
mkfifo创建命名管道
mknod创建设备文件
link创建硬链接
ln创建硬链接或符号链接

#推荐阅读

#手册

更新: 2026/4/8

作者: PlanC

创建: 2025/11/18