Linux 使用 touch 設定檔案修改時間

備份、測試... 很常會使用到時間,在 Linux CLI 想要將檔案的時間 設定成 未來的時間,或者指定的時間,要怎麼做呢?

Linux 使用 touch 設定檔案修改時間

Linux 常常使用 touch 來建立空檔案,或者將某個檔案「修改時間」設定為現在,要指定時間(過去、未來)、設定檔案 GMT 時間都可以~

  • 註:修改完,可以用 stat 查看詳細的檔案資訊

stat 操作範例

  1. touch test.txt
  2. stat test.txt
    File: test.txt
    Size: 0             Blocks: 0          IO Block: 4096   普通空白檔案
    Device: 24h/36d Inode: 104235      Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/     test)   Gid: ( 1000/     test)
    Access: 2019-01-06 09:28:25.312318447 +0800
    Modify: 2019-01-06 09:28:25.312318447 +0800
    Change: 2019-01-06 09:28:25.312318447 +0800
    Birth: -

使用 touch 修改時間

touch --help 可以查看詳細參數

下述只有寫 touch 參數,stat 就自行查看囉~

  • touch -m test.txt # 修改 modify time 為現在
  • touch -a test.txt # 修改 access time 為現在

touch 指定時間可以使用 -t、-d 的參數,兩者支援的輸入格式不同

  • -t STAMP:use [[CC]YY]MMDDhhmm[.ss] instead of current time
    • CC:年份的前兩位
    • YY:年份的後兩位
  • -d STRING:parse STRING and use it instead of current time
  • -t、-d 都會同時修改 Access 與 Modify time

操作範例

  • touch -t 1901120958.27 test.txt # 2019-01-12 09:58:27
  • touch -t 201901120958.27 test.txt # 2019-01-12 09:58:27
    • 19、2019 都是可以用的
  • touch -d '10-December-2013' test.txt # 2013-12-10
  • touch -d 2018-12-30 test.txt # 2018-12-10
  • touch -d GMT3 test.txt # 時區修改,改為 GMT3 時區

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料