touch 修改文件的時間戳(包括批量修改)


  在HPC上算DNS,有剛兩個月左右的時間。前幾天收到郵件通知說,在HPC上超過60天的文件將被清理。因此,我需要修改文件的時間戳(time stamp),以免文件被清理。

  linux 文件有三個時間戳,分別是:Access time, Modify time, Change time。 即訪問時間,修改時間,和改變時間。

root@dschen-vm:/home/dschen/Desktop/11# stat 1
  File: 1
  Size: 4096          Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d    Inode: 1204601     Links: 2
Access: (0755/drwxr-xr-x)  Uid: ( 1000/  dschen)   Gid: ( 1000/  dschen)
Access: 2020-05-13 15:34:43.194254878 -0400 Modify: 2020-05-13 15:33:50.000000000 -0400 Change: 2020-05-13 15:34:43.190254895 -0400
 Birth: -

  Access time: 即最近一次訪問文件的時間,只要打開或者進入該文件,這個時間就會更新。

  Modify time:即最近一次修改的時間。

  Change time:最近一次修改屬性的時間。

  利用 ls -l 查詢的時間通常是Modify time。我在這里需要修改的也是Modify time。下面講怎么修改。

  touch 命令可以修改文件的時間戳,如將文件時間戳修改為2020年5月13日12點12分50秒:

touch -t 202005131212.50 file

  這條命令一次只可以修改一個文件,對於我的這種情況,需要修改的文件有非常多,那么就需要用到批量修改:

  (批量修改當前目錄下所有文件/文件夾的時間戳)

find ./ * -exec touch -t 202005131212.12 {} \;

  對於很多文件來講,會需要多一點時間來執行。完成之后,利用

ls -l

  查看文件的時間戳,發現全部都已經修改為我指定的時間了。

 

  本文參考:http://www.piaoyi.org/linux/linux-touch-changetime.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM