在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