Linux下如何檢視檔案秒級修改及訪問時間

2021-06-10 06:49:24 字數 2850 閱讀 8975

linux下如何檢視檔案秒級修改及訪問時間,今天遇到這個問題,記錄之。

通過 stat 命令即可。

[root@tomora etc]# stat /etc/resolv.conf

file: 「/etc/resolv.conf」

size: 64              blocks: 16         io block: 4096   一般檔案

device: 805h/2053d      inode: 10475534    links: 2

access: (0644/-rw-r--r--)  uid: (    0/    root)   gid: (    0/    root)

access: 2011-02-23 09:09:11.000000000 +0800

modify: 2010-09-17 15:02:42.000000000 +0800

change: 2010-09-17 15:02:42.000000000 +0800

以下部分**:

看到了嗎?在預設的情況下,ls顯示的是該檔案的mtime,也就是這個檔案的內容上次更改的時間。我的系統是在6/25安裝的,因此,這個檔案產生但狀態更改的時間就回溯到那個

時間點。因為剛才的範例中使用到這個檔案,所以,它的atime就會變成剛剛使用的時間了。

檔案的時間很重要,因為如果誤判檔案時間,可能會造成某些程式無法順利執行。那麼,萬一我發現了乙個檔案來自將來(很多時候會有這個問題的。我們在安裝的時候,提到的

gmt時間就是那個意思),該如何讓該檔案的時間變成「現在」的時刻呢?很簡單,用touch命令即可。

[root@linux ~]# touch [-acdmt] 檔案

引數:-a : 僅修改access time。

-c : 僅修改時間,而不建立檔案。

-d : 後面可以接日期,也可以使用 --date="日期或時間"

-m : 僅修改mtime。

-t : 後面可以接時間,格式為 [yymmddhhmm]

範例:範例一:新建乙個空的檔案。

[root@linux ~]# cd /tmp

[root@linux tmp]# touch testtouch

[root@linux tmp]# ls -l testtouch

-rw-r--r--  1 root root       0 jul 19 20:49 testtouch

# 注意,這個檔案的大小是0。在預設的狀態下,如果touch後面接檔案,

# 則該檔案的3個時間(atime/ctime/mtime)都會更新為當前時間。若該檔案不存在,

# 則會主動建立乙個新的空檔案。例如上面這個例子。

範例二:將 ~/.bashrc複製成為bashrc,假設複製完全的屬性,檢查其日期。

[root@linux tmp]# cp ~/.bashrc bashrc

[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rwxr-xr-x  1 root root 395 jul  4 11:45 bashrc  <==這是mtime

-rwxr-xr-x  1 root root 395 jul 19 20:44 bashrc  <==這是atime

-rwxr-xr-x  1 root root 395 jul 19 20:53 bashrc  <==這是ctime

# 在這個案例中,我們使用了 ; 命令分隔符,它的用法我們會在bash shell中提到。

# 此外,ll是ls -l的命令別名,這個也會在bash shell中再次提及,

# 當前可以簡單地想成,ll就是ls -l的簡寫。至於 ; 則是同時發出兩個命令,

# 且讓兩個命令「按順序」執行的意思。上面的結果中可以看到,該檔案更改的日期

# jul 4 11:45,但是atime與ctime不一樣。

範例三:修改案例二的bashrc檔案,將日期調整為兩天前。

[root@linux tmp]# touch -d "2 days ago" bashrc

[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rwxr-xr-x  1 root root 395 jul 17 21:02 bashrc

-rwxr-xr-x  1 root root 395 jul 17 21:02 bashrc

-rwxr-xr-x  1 root root 395 jul 19 21:02 bashrc

# 與上乙個範例比較,本來是19日的變成了17日了(atime/mtime)。

# 不過,ctime並沒有跟著改變。

範例四:將上個範例的bashrc日期改為2005/07/15 2:02。

[root@linux tmp]# touch -t 0507150202 bashrc

[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc

-rwxr-xr-x  1 root root 395 jul 15 02:02 bashrc

-rwxr-xr-x  1 root root 395 jul 15 02:02 bashrc

-rwxr-xr-x  1 root root 395 jul 19 21:05 bashrc

# 注意,日期在atime與mtime都改變了,但ctime則是記錄當前的時間。

更多參考:

誤刪除/dev/dsk 和/dev/rdsk 下的檔案怎麼辦?

Linux下如何檢視檔案秒級修改及訪問時間

linux下如何檢視檔案秒級修改及訪問時間,今天遇到這個問題,搜尋一下並記錄之。通過 stat 命令即可。如oracle告警日誌檔案的具體時間資訊 oracle smsdbrac2 monitor stat opt oracle admin smsdb bdump alert smsdb2.log ...

linux下檢視檔案

主要有 file cat head tail more less umask wc file通過探測檔案內容判斷檔案型別,使用許可權是所有使用者。用法 file options 檔名 options 主要引數 v 在標準輸出後顯示版本資訊,並且退出。z 探測壓縮過的檔案型別。l 允許符合連線。f n...

Linux下如何檢視版本

如何得知自己正在使用的linux是什麼版本呢,下面的幾種方法將給你帶來答案!1.檢視核心版本命令 1 root q1test01 cat proc version linux version 2.6.9 22.elsmp bhcompile crowe.devel.redhat.com gcc ve...