linux文件的三個主要的修改時間

Linux文件有3個修改時間,很多朋友都喜歡弄混淆,也包括我在內,現在列出來供參考。 
  1)modification time (mtime,修改時間):這個時間指的是文件內容修改的時間,而不是文件屬性的修改,當數據內容修改時,這個時間就會改變,用命令ls -l默認顯示的就是這個時間: 
  2)status time (ctime,狀態時間):當一個文件的狀態改變時,這個時間就會改變,例如更改了文件的權限與屬性等,它就會改變。 
  3)access time (atime,訪問時間):當讀取文件內容時,就會更改這個時間,例如使用cat 去讀取/etc/man.config,那麼該文件的atime就會改變。   例如: 
  # ls -l --full-time /etc/man.config 
  -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執行之後再查看atime,該時間已經更改   # 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 
  更改文件權限:# chmod o-r /etc/man.config   查看ctime,已經更改。 
  # ls -l --time=ctime --full-time /etc/man.config 




   2014年執業醫師資格考試 醫學綜合筆試  臨牀執業醫師  口腔執業醫師  中醫執業醫師    
  




  -rw-r-----  1 root root 4522 2010-03-15 14:28:34.000000000 +0800 /etc/man.config 
  如果對文件內容進行編輯,那麼mtime就會改變了。 
  如果要一起查看文件的三個時間情況,可以用命令stat進行查看   # 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   時間與上面的時間完全吻合。 
  文件的時間很重要,因爲如果誤判文件時間,可能會造成某些程序無法正常運行,萬一我們發現一個文件的時間是未來的時間(很多時候會有這個問題,我們在安裝的時候提到的GMT時間就是那個意思),那麼怎樣才能讓次時間變成現在的時間呢?我們只需要一個touch命令即可。   touch的用法爲:   touch [-actmd] 文件   參數: 
  -a:僅修改access time   -c:僅修改時間而不建立文件 
  -t:後面可以接時間,格式爲:[YYMMDDhhmm]   -m:僅修改mtime 
  -d:後面可以接日期,也可以使用--date="日期或時間" 






  




  例如:將man.config的日期調整爲兩天前,則:   #touch -d "2 days ago" /etc/man.config   結果atime和mtime將會改變而ctime不會改變。 
  通過touch命令,可以輕鬆的修改文件文件的日期與時間,並且也可以建立一個空文件,不過要注意的是,即使複製一個文件並複製所有屬性頁沒有辦法複製ctime屬性。 
  touch命令常用的情況是   1)建立一個空文件 
  2)將某個文件日期修改爲當前日期(mtime和atime)
發佈了144 篇原創文章 · 獲贊 75 · 訪問量 182萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章