日期:2014-05-16  浏览次数:20681 次

Linux 文件时间的讲究

LINUX有很多细节,今天遇到了文件时间的问题,特此记下来,一备后日回忆起来记下。

?

一個檔案記錄的時間參數有三種,分別是

  • modification time (mtime)
    當該檔案的『內容資料』變更時,就會更新這個時間!內容資料指的是檔案的內容,而不是檔案的屬性或權限喔!

  • status time (ctime)
    當該檔案的『狀態 (status)』改變時,就會更新這個時間,舉例來說,像是權限與屬性被更改了,都會更新這個時間啊。

  • access time (atime)
    當『該檔案的內容被取用』時,就會更新這個讀取時間 (access)。舉例來說,我們使用 cat 去讀取 /etc/man.config , 就會更新該檔案的 atime 了。

举例:

// 测试atime

txy@txy-desktop:~$ ls -l --time=atime mount
-rw-r--r-- 1 txy txy 43 2009-12-13 16:27 mount
txy@txy-desktop:~$ cat mount
一些文本
txy@txy-desktop:~$ ls -l --time=atime mount
-rw-r--r-- 1 txy txy 43 2009-12-15 21:57 mount

?

// 测试ctime
txy@txy-desktop:~$ ls -l --time=ctime mount
-rw-r--r-- 1 txy txy 43 2009-12-12 00:17 mount
txy@txy-desktop:~$ chmod 777 mount
txy@txy-desktop:~$ ls -l --time=ctime mount
-rwxrwxrwx 1 txy txy 43 2009-12-15 21:59 mount

?

// 测试mtime

txy@txy-desktop:~$ ls -l
总计 1
-rwxrwxrwx 1 txy txy?? 43 2009-12-12 00:17 mount

txy@txy-desktop:~$ vim mount? // 这里随便修改一点,然后保存
txy@txy-desktop:~$ ls -l mount
-rwxrwxrwx 1 txy txy 45 2009-12-15 22:00 mount



?

?

?

那可以使用『 find /var -mtime -4 』。那如果是『4天前的那一天』就用『 find /var -mtime 4 』。有沒有加上『+, -』差別很大喔!我們可以用簡單的圖示來說明一下:

find 相關的時間參數意義
圖5.2.1、find 相關的時間參數意義

圖中最右邊為目前的時間,越往左邊則代表越早之前的時間軸啦。由圖5.2.1我們可以清楚的知道:

  • +4代表大於等於5天前的檔名:ex> find /var -mtime +4
  • -4代表小於等於4天內的檔案檔名:ex> find /var -mtime -4
  • 4則是代表4-5那一天的檔案檔名:ex> find /var -mtime 4