other languages
other sections
MKTEMP(1) | General Commands Manual | MKTEMP(1) |
NAME¶
mktemp
—
產生唯一的臨時檔名
總覽 (SYNOPSIS)¶
mktemp
[-q
-u
描述 (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 |