other languages
other sections
MKTEMP(1) | General Commands Manual | MKTEMP(1) |
NAME¶
mktemp
—
產生唯一的臨時文件名
總覽 (SYNOPSIS)¶
mktemp
[-q
]
[-u
] template
描述 (DESCRIPTION)¶
mktemp
根據 給定的
文件名模板, 改變
其中的 一部分, 從而
生成 臨時文件名.
該文件名 是 唯一的,
可以 讓 其他程序 使用.
模板 爲 任意 文件名,
後接 六個 ‘X
’
例如 /tmp/temp.XXXXXX. 這些
‘X
’ 將被
當前進程號 以及/或者
某個 唯一的 字母組合
替代.
如果 mktemp
成功
產生了 唯一文件名, 就
以 訪問模式 0600 (除非
使用了 -u
選項)
創建 文件, 並且 在
標準輸出 顯示 這個
文件名.
mktemp
用於 讓 shell
腳本程序 使用 可靠的
臨時文件. 多數 shell 程序
的 傳統做法 是 程序名
加上 PID 做 後綴, 產生的
文件名 就是
臨時文件名. 這種
命名策略 容易 預測,
產生的 競爭條件 易於
遭到 攻擊. 使用 相同
命名策略 的 另一個
方法 是 建立 臨時目錄,
這種 做法 相對 安全
一些. 它 可以 保證
臨時文件 不被 破壞,
但是 容易 遭到 簡單的
拒絕服務 攻擊. 所以
建議 改用 mktemp
.
選項 (OPTIONS)¶
有效選項有:返回值 (RETURN VALUES)¶
mktemp
成功時 返回 0,
否則 返回 1.
例子 (EXAMPLES)¶
下列的 sh(1) 片斷 展示了mktemp
的
簡單用法, 如果 無法
獲得 可靠的 臨時文件,
程序 就 退出.
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
另見 (SEE ALSO)¶
mkstemp(3), mktemp(3)歷史 (HISTORY)¶
源於 OpenBSD[中文版維護人]¶
徐明 <xuming@users.sourceforge.net>[中文版最新更新]¶
2003/05/13《中國Linux論壇man手冊頁翻譯計劃》¶
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。中文 man 手冊頁計劃:../../man-pages-zh/manpages-zh
November 20, 1996 | Linux 4.19.0-6-amd64 |