mktemp - 产生唯一的临时文件名
总览 (SYNOPSIS)
mktemp [-q ] [-u ] template
描述 (DESCRIPTION)
mktemp 根据 给定的 文件名模板, 改变 其中的 一部分, 从而 生成 临时文件名. 该文件名 是 唯一的, 可以 让 其他程序 使用. 模板 为 任意 文件名, 后接 六个 `X' 例如 /tmp/temp.XXXXXX 这些 `X' 将被 当前进程号 以及/或者 某个 唯一的 字母组合 替代.
如果 成功 产生了 唯一文件名, 就 以访问模式 0600 (除非 使用了 -u 选项) 创建 文件, 并且 在 标准输出 显示 这个 文件名.
mktemp 用于 让 shell 脚本程序 使用 可靠的 临时文件. 多数 shell 程序 的 传统做法 是 程序名 加上 PID 做 后缀, 产生的文件名 就是 临时文件名. 这种 命名策略 容易 预测, 产生的 竞争条件 易于 遭到 攻击. 使用 相同 命名策略 的 另一个 方法 是 建立 临时目录, 这种 做法 相对 安全 一些. 它 可以 保证 临时文件 不被 破坏, 但是 容易 遭到 简单的 拒绝服务 攻击. 所以 建议 改用 mktemp
选项 (OPTIONS)
有效选项有:
- -q
- 出错时 不显示 信息. 用于 禁止 错误信息 输出到 标准错误.
- -u
- 以 ``不安全'' 模式 运行. 在 退出前 会 删除 临时文件. 它 比 Fn mktemp 3 稍微 好些, 但 仍然 会 引入 竞争条件. 不鼓励 使用 这个 选项.
返回值 (RETURN VALUES)
成功时 返回 0, 否则 返回 1.
例子 (EXAMPLES)
下列的 sh(1) 片断 展示了的 简单用法, 如果 无法 获得 可靠的 临时文件, 程序 就 退出.
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
echo "program output" >> $TMPFILE
照上例, 我们 打算 让 脚本程序 自己 捕获 这个 错误.
TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
mktemp - 产生唯一的临时文件名的更多相关文章
- PHP多文件上传(二维数组$_FILES('文件域的名称'),move_uploaded_file(‘临时文件名’,‘新的文件名’))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Window下,在TEMP路径下生成一个临时文件名
BOOL GetFullTempFileName(const TCHAR* strPrefix, std::wstring& strFullName) { TCHAR strTempFolde ...
- 【Linux C中文函数手册】文件内容控制函数
文件内容控制函数 1)clearerr 清除文件流的错误旗标 相关函数 feof表头文件 #include<stdio.h>定义函数 void clearerr(FILE * stream ...
- linux基本使用
(待完善,想到哪就写到哪,目前内容大幅度参考中文man手册) 最重要的命令(man) 在 Linux 下遇到问题,最重要的是要自己寻求帮助, google是个好东西 man 是 Linux 的帮助手册 ...
- stdio - 标准输入输出库函数
SYNOPSIS 总览 #include <stdio.h> FILE *stdin; FILE *stdout; FILE *stderr; DESCRIPTION 描述 标注 I/O ...
- FILE文件操作
http://www.jb51.net/article/37688.htm fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FI ...
- c语言中的文件流
一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- C语言文件操作函数大全
http://blog.csdn.net/mu0206mu/article/details/18980913 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include&l ...
随机推荐
- Vuex入门(转)
参考:https://segmentfault.com/a/1190000015782272 https://www.cnblogs.com/y896926473/p/6709733.html 如果你 ...
- sqli-libs(7)
导出文件GET字符型注入 0x01介绍 导出到文件就是可以将查询结果导出到一个文件中,如常见的将一句话木马导出到一个php文件中,sqlmap中也有导出一句话和一个文件上传的页面 常用的语句是: s ...
- yii 1.1简单文件缓存
缓存组件配置在config\main.php文件,简单配置下文件缓存 'components'=>array( 'cache' => array( 'class' => 'syste ...
- mybatis 注解方式插入,主键由uuid函数生成
@SelectKey(keyProperty = "record.id", resultType = String.class, before = true, statement ...
- inode节点号
查看分区信息命令 df -Th 查看文件inode节点号 ls -i b.txt 查看系统中与b.txt 的inode节点号相同的所有文件,即硬链接 find / -inum xxxx(b.tx ...
- cmd 中文显示错误,解决办法
cmd窗口左上角控制按钮(就是图标)上单击-默认-选项-默认编码-936 追问 默认值是936的,但是属性里的当前代码页是437呀,怎么办 囧oz 追答 默认-选项-默认编码-936 不是属性,是 ...
- 【Spring】---【AOP】
转发几篇文章 专治不会看源码的毛病--spring源码解析AOP篇 Spring3:AOP 理解AOP 什么是AOP? 转自: http://www.cnblogs.com/xiexj/p/73668 ...
- Activity启动流程(三)
这里对启动Activity过程中涉及到的ActivityStack.TaskRecord.ActivityRecord.ActivityStackSupervisor进行简单的分析,实际上一张时序图就 ...
- Jenkins Html Rport 使用frame报错解决办法
对于Blocked script execution in '<URL>' because the document's frame is sandboxed and the 'allow ...
- es笔记---新建es索引
es对索引的一堆操作都是用restful api去进行的,参数时一堆json,一年前边查边写搞过一次,这回搞迁移,发现es都到6.0版本了,也变化了很多,写个小笔记记录一下. 创建一个es索引很简单, ...