詳解Linux文件三個主要的修改時間
Linux文件有3個修改時間,很多朋友都喜歡弄混淆,也包括我在內(nèi),現(xiàn)在列出來供參考。
1)modification time (mtime,修改時間):這個時間指的是文件內(nèi)容修改的時間,而不是文件屬性的修改,當(dāng)數(shù)據(jù)內(nèi)容修改時,這個時間就會改變,用命令ls -l默認(rèn)顯示的就是這個時間:
2)status time (ctime,狀態(tài)時間):當(dāng)一個文件的狀態(tài)改變時,這個時間就會改變,例如更改了文件的權(quán)限與屬性等,它就會改變。
3)access time (atime,訪問時間):當(dāng)讀取文件內(nèi)容時,就會更改這個時間,例如使用cat 去讀取/etc/man.config,那么該文件的atime就會改變。
例如:
# ls -l --full-time /etc/man.config mtime
-rw-r--r-- 1 root root 4522 2007-11-17 18:47:54.000000000 +0800 /etc/man.config
# ls -l --time=atime --full-time /etc/man.config
-rw-r--r-- 1 root root 4522 2010-03-15 14:20:20.000000000 +0800 /etc/man.config
# ls -l --time=ctime --full-time /etc/man.config
-rw-r--r-- 1 root root 4522 2008-07-11 16:21:55.000000000 +0800 /etc/man.config
-----------------------------------------------------------------------------------
#cat /etc/man.config執(zhí)行之后再查看atime,該時間已經(jīng)更改
# ls -l --time=atime --full-time /etc/man.config
-rw-r--r-- 1 root root 4522 2010-03-15 14:24:30.000000000 +0800 /etc/man.config
更改文件權(quán)限:# chmod o-r /etc/man.config
查看ctime,已經(jīng)更改。
# ls -l --time=ctime --full-time /etc/man.config
-rw-r----- 1 root root 4522 2010-03-15 14:28:34.000000000 +0800 /etc/man.config
如果對文件內(nèi)容進(jìn)行編輯,那么mtime就會改變了。
如果要一起查看文件的三個時間情況,可以用命令stat進(jìn)行查看
# stat /etc/man.config
File: `/etc/man.config'
Size: 4522 Blocks: 24 IO Block: 4096 regular file
Device: 807h/2055d Inode: 1049307 Links: 1
Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-03-15 14:24:30.000000000 +0800
Modify: 2007-11-17 18:47:54.000000000 +0800
Change: 2010-03-15 14:28:34.000000000 +0800
時間與上面的時間完全吻合。
文件的時間很重要,因為如果誤判文件時間,可能會造成某些程序無法正常運(yùn)行,萬一我們發(fā)現(xiàn)一個文件的時間是未來的時間(很多時候會有這個問題,我們在安裝的時候提到的GMT時間就是那個意思),那么怎樣才能讓次時間變成現(xiàn)在的時間呢?我們只需要一個touch命令即可。
touch的用法為:
touch [-actmd] 文件
參數(shù):
-a:僅修改access time
-c:僅修改時間而不建立文件
-t:后面可以接時間,格式為:[YYMMDDhhmm]
-m:僅修改mtime
-d:后面可以接日期,也可以使用--date="日期或時間"
例如:將man.config的日期調(diào)整為兩天前,則:
#touch -d "2 days ago" /etc/man.config
結(jié)果atime和mtime將會改變而ctime不會改變。
通過touch命令,可以輕松的修改文件文件的日期與時間,并且也可以建立一個空文件,不過要注意的是,即使復(fù)制一個文件并復(fù)制所有屬性頁沒有辦法復(fù)制ctime屬性。
touch命令常用的情況是
1)建立一個空文件
2)將某個文件日期修改為當(dāng)前日期(mtime和atime)
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解