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)¶
有效選項有:- -q
- 出錯時 不顯示 信息. 用於 禁止 錯誤訊息 輸出到 標準錯誤.
- -u
- 以 “不安全” 模式 運行. mktemp 在 退出前 會 刪除 臨時檔案. 它 比 mktemp(3) 稍微 好些, 但 仍然 會 引入 競爭條件. 不鼓勵 使用 這個 選項.
返回值 (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手冊頁翻譯計劃》¶
http://cmpp.linuxforum.netNovember 20, 1996 | Debian |