mktemp命令
mktemp命令
mktemp
命令用于安全地创建一个临时文件或目录,并输出其名称,TEMPLATE
在最后一个组件中必须至少包含3
个连续的X
,如果未指定TEMPLATE
,则使用tmp.XXXXXXXXXX
作为名称在当前目录下创建相应的临时文件,X
为生成的随机数,尾部的X
将替换为当前进程号和随机字母的组合,文件的名称取决于模板中X
的数量以及与现有文件冲突的数量,mktemp
可以返回的唯一文件名的数量取决于所提供的X
的数量,十个X
将导致mktemp
测试大约26**10
个组合,mktemp
命令创建的临时文件不会使用默认的umask
管理权限值,其会将文件的读写权限分配给文件属主,一旦创建了文件,在shell
脚本中就拥有了完整的读写权限,除root
外其他人不可访问,即在创建文件时即有u+rw
权限,创建文件夹时有u+rwx
权限。
语法#
mktemp [OPTION] [TEMPLATE]
参数#
-d, --directory
: 创建目录,而不是文件。-u, --dry-run
: 在mktemp
退出之前,临时文件将被取消链接,相当于不创建任何文件或文件夹,仅输出名称,不建议使用该选项。-q, --quiet
: 执行时若发生错误,不会输出任何信息。--suffix=SUFF
: 将STUFF
附加到TEMPLATE
,SUFF
不能包含斜线,如果TEMPLATE
不以X
结尾,则默认此选项。-p <DIR>, --tmpdir <DIR>
: 生成临时文件时使用指定的目录作为目标。-t
: 将目标文件存储在临时目录,该目录首先会选择用户的TMPDIR
环境变量,其次是用户指定的-p
参数选择的目录,最后的选择即/tmp
目录,创建后会输出临时文件的全路径。--help
: 输出帮助选项。--version
: 输出版本信息。
示例#
在当前目录创建临时文件。
mktemp tmp.XXX
# tmp.g6k
创建指定文件类型的临时文件。
mktemp tmp.XXX --suffix=.txt
# tmp.gSI.txt
在指定目录创建临时文件。
mktemp --tmpdir=/home tmp.XXX
# /home/tmp.HxB
每日一题#
https://github.com/WindrunnerMax/EveryDay
参考#
https://www.jianshu.com/p/31660ac1650f
https://www.cnblogs.com/xingmuxin/p/8440689.html
https://www.runoob.com/linux/linux-comm-mktemp.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理