touch filename 會將檔案時間改為目前時間,要如何將檔案時間改為30秒以前呢?
Linux 使用 touch 往前 更改檔案修改時間
touch 可以使用 -d 的語法指定"檔案修改時間"
- 範例:將檔案時間設定為30秒以前:touch -d "-30 seconds" filename
測試語法:
- 使用 uptime 看現在時間
- 修改檔案時間 (touch -d)
- 再來 ls -l 看檔案時間
- 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