首先可以使用stat 命令來查詢檔案的inode資訊,其中包括ctime atime mtime
1.檔案的容易理解:
檔案的 Access time,atime 是在讀取檔案或者執行檔案時更改的任何對inode的訪問都會使此處改變。
檔案的 Modified time,mtime 是在寫入檔案時隨檔案內容的更改而更改的。
檔案的 Change time,ctime 是在寫入檔案、更改所有者、許可權或連結設定時隨 Inode 的內容更改而更改的。只要stat出來的內容發生改變就會發生改變。mtime的改變必然導致ctime的改變。
2.檔案夾的:
檔案夾的 Access time,atime 是在讀取檔案或者執行檔案時更改的(我們只cd進入一個目錄然後cd ..不會引起atime的改變,但ls一下就不同了)。
檔案夾的 Modified time,mtime 是在檔案夾中有檔案的建立、刪除才會改變(如果只是改變檔案內容不會引起mtime的改變,換句話說如果ls -f <directory>的結果發生改變mtime就會被重新整理。這裡可能有人要爭論了:我進入dd這個檔案夾vi了一個檔案然後退出,前後ls -f <directory>的結果沒有改變但是檔案夾的mtime發生改變了……這點請主意vi命令在編輯檔案時會在本檔案夾下產生一 個”.file.swp”臨時檔案,該檔案隨著vi的退出而被刪除……這就導致了mtime的改變 [Auxten:p]不信你可以用nano修改檔案來實驗)。
檔案夾的 Change time,ctime 基本同檔案的ctime,其體現的是inode的change time。
這裡還要補充一點:mount -o noatime(mount -o remount,atime / 可以線上重新掛載根目錄)可以選擇不記錄檔案的atime的改變,這意味著什麼呢?當你建立了這個檔案後 這個檔案的atime就定格了,除非你用touch或者touch -a強制重新整理檔案的atime。這樣在可以在一定程度上提升檔案系統的讀寫效能,特別是網站這種系統中在fstab裡面加上noatime是個好主意 O(∩_∩)O
如我的 /dev/sda3 / ext3 noatime 0 1
Auxten原創 不當之處歡迎指正 江湖規則:轉載註明http://hi.baidu.com/auxten
===============================================================
ls -lc filename 列出檔案的 ctime (ls -l --time=ctime)
ls -lu filename 列出檔案的 atime (ls -l --time=atime)
ls -l filename 列出檔案的 mtime (ls -l --time=mtime)