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 ...
随机推荐
- 用flask进行web开发
经理管理一个餐厅,推出每天都有特色菜的营销模式.他想根据一周中的每一天有一种特色菜. 客人想知道当天的特色菜是什么.另外再添加一个介绍页面.bios路径下,显示餐厅主人,厨师,服务生的简介. pyth ...
- [CSP-S模拟测试]:最小距离(最短路)
题目传送门(内部题97) 输入格式 第一行三个整数$n,m,p$,第二行$p$个整数$x_1\sim x_p$表示特殊点的编号.接下来$m$行每行三个整数$u,v,w$表示一条连接$u$和$v$,长度 ...
- spring cloud:服务网关 Spring Cloud GateWay 入门
Spring 官方最终还是按捺不住推出了自己的网关组件:Spring Cloud Gateway ,相比之前我们使用的 Zuul(1.x) 它有哪些优势呢?Zuul(1.x) 基于 Servlet,使 ...
- JNI写本地日志文件
调试JNI库 我喜欢反编译APK 然后替换.so文件 然后再编译成APK 其中写日志的话 用fopen("/sdcard/lei.txt","wb+")
- rosbag 那些事
..bag文件转.txt 将file_name.bag文件中topic_name话题的消息转换到Txt_name.txt文件中: rostopic echo -b file_name.bag -p / ...
- 通过nginx访问本地图片
listen 80; server_name image.demo.com; #charset koi8-r; #access_log logs/host.access.log main; locat ...
- ssh 多秘钥管理和坑
概述 很久之前就想研究一下 ssh 的多秘钥管理,今天正好有时间就研究了一下,挺简单的,记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: Git - 生成 SSH公钥 , Linux 下多 ...
- Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解
目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...
- 【转载】inno setup 水波纹效果,检测安装vcredist_x86.exe等
以下inno setup脚本,实现了:1.水波纹效果 2.安装时检测是否安装其他版本,并在欢迎页面添加文字提示 4.检测安装vcredist_x86.exe 3.卸载时添加提示 ; 脚本由 Inno ...
- [LeetCode] 272. Closest Binary Search Tree Value II 最近的二叉搜索树的值 II
Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...