touch 是 Linux 基礎且強大的工具,不僅能建立空檔案,更能精確控制檔案的存取時間、修改時間與狀態改變時間。掌握其參數可應用於建構腳本、測試備份策略、同步時間戳等場景。

touch [選項]... 檔案...
| 參數 | 長參數 | 功能 |
|---|---|---|
-a | --time=atime | 僅修改存取時間 |
-m | --time=mtime | 僅修改修改時間 |
-c | --no-create | 檔案不存在時不建立 |
-r | --reference=檔案 | 參考指定檔案的時間戳 |
-t | 指定時間格式 [[CC]YY]MMDDhhmm[.SS] | |
-d | --date=字串 | 解析人類可讀時間字串 |
touch log2012.log log2013.log # 建立兩個空檔
touch -c log2014.log # log2014.log 不存在時不建立
touch -r log.log log2012.log # log2012.log 時間變為與 log.log 相同
touch -t 201211142234.50 log.log # 設為 2012-11-14 22:34:50
touch -d "2023-01-01 12:00" file.txt # 使用自然語言時間
-t [[CC]YY]MMDDhhmm[.SS]CC:世紀(前兩位年份),YY:年份後兩位。CC 時,YY 解析範圍 1969–2068。MM 月、DD 日、hh 時(24制)、mm 分、SS 秒(0–61 支援閏秒)。TZ 決定。find . -type f -exec touch -t 202301010000 {} +mtime 觸發備份。ls -l、stat 驗證時間戳變更。touch 雖簡單,但精確掌控檔案時間元資料是系統管理與自動化腳本的基礎技能。