Linux 使用 touch 往前 更改檔案修改時間

touch filename 會將檔案時間改為目前時間,要如何將檔案時間改為30秒以前呢?

Linux 使用 touch 往前 更改檔案修改時間

touch 可以使用 -d 的語法指定"檔案修改時間"

  • 範例:將檔案時間設定為30秒以前:touch -d "-30 seconds" filename

測試語法:

  1. 使用 uptime 看現在時間
  2. 修改檔案時間 (touch -d)
  3. 再來 ls -l 看檔案時間
  4. uptime; touch -d "-30 seconds" filename; ls -l filename

往前30秒

  • $ uptime; touch -d "-30 seconds" filename; ls -l filename
    16:20:04 up 6 days, 9:39, 1 user, load average: 0.39, 0.43, 0.41
    -rw-r--r-- 1 xxx xxx 6 8月 6 16:19 filename

往後30秒 (ls -l filename 看不到未來時間)

  • $ uptime; touch -d "30 seconds" filename; ls -l filename
    16:20:07 up 6 days, 9:39, 1 user, load average: 0.36, 0.42, 0.41
    -rw-r--r-- 1 xxx xxx 6 8月 6 2015 filename

30秒後 (ls -l filename 才看的到時間)

  • ls -l filename
    -rw-r--r-- 1 xxx xxx 6 8月 6 16:20 2016 filename

一次產生 120個檔案,每個時間間隔1秒

  • for i in $(seq 1 1 120); do touch -d "-$i seconds" last-modified-${i}-seconds-ago ; done

作者: Tsung

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

發表迴響

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