萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux touch 指令完整教學:修改檔案時間戳記與建立空檔

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 決定。
  • 早於 1970-01-01 會報錯。

進階應用

  • 批次修改目錄下所有檔案時間:find . -type f -exec touch -t 202301010000 {} +
  • 測試備份軟體增量備份邏輯:修改 mtime 觸發備份。
  • 配合 ls -l、stat 驗證時間戳變更。

touch 雖簡單,但精確掌控檔案時間元資料是系統管理與自動化腳本的基礎技能。

copyright © 萬盛學電腦網 all rights reserved