Linux的多個time屬性

2021-06-27 23:15:03 字數 4325 閱讀 7834

您的評價:

收藏該經驗

linux檔案的change time和modify time很多人很容易搞混淆,有些unix參考書都會寫錯(特別是翻譯的),將ctime理解為create time(建立時間),那是瞎說的,linux檔案系統不會記錄create time的,除非檔案建立過後,沒modify,沒change,那麼檔案的建立時間和modify時間及change時間相同。

quote:

[root@test200 temp]# stat libnids-1.16.tar.gz

file: `libnids-1.16.tar.gz'

size: 72309 blocks: 152 io block: 4096 regular file

device: 302h/770d inode: 4113144 links: 1

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

access: 2008-05-27 15:13:03.000000000 +0800

modify: 2004-03-10 12:25:09.000000000 +0800

change: 2008-05-27 14:18:18.000000000 +0800

access time是文件最後一次被讀取的時間。因此閱讀乙個文件會更新它的access時間,但它的modify時間和change時間並沒有變化。cat、more 、less、grep、sed、tail、head這些命令都會修改檔案的access時間。

change time是文件的索引節點(inode)發生了改變(比如位置、使用者屬性、組屬性等);

modify time是文字本身的內容發生了變化。[文件的modify時間也叫時間戳(timestamp).]

quote:

st_atime

time when file data was last accessed. changed by the

following functions: creat(), mknod(), pipe(),

utime(2), and read(2).

st_mtime

time when data was last modified. changed by the fol-

lowing functions: creat(), mknod(), pipe(), utime(),

and write(2).

st_ctime

time when file status was last changed. time of last modification of file status information.changed by the

following functions: chmod(), chown(), creat(),

link(2), mknod(), pipe(), unlink(2), utime(), and

write().

chmod, chown,create,mv等動作會將linux檔案的change time修改為系統當前時間

ls命令看到的是modify time

用vi等工具編輯乙個檔案儲存後,modify time會被修改。

用ls -l命令不會修改檔案的access time,但cat命令會修改access time。

quote:

ls -lu (show files access time and sort by name)

ls -lc (show files change time and sort by name )

ls -l (show files modify time and sort by name )

如果加上-t引數,則按相應的時間排序後顯示。加上--time-style=long-iso,則會把檔案的相應年月日時分秒time全部顯示出來。

touch命令能改變檔案的access時間和modify時間為任意指定的時間。

modify time只能改變為系統時間,不能改變為任意時間。甚至用c程式來直接讀寫inode,也不會修改change time

您的評價:

收藏該經驗

linux檔案的change time和modify time很多人很容易搞混淆,有些unix參考書都會寫錯(特別是翻譯的),將ctime理解為create time(建立時間),那是瞎說的,linux檔案系統不會記錄create time的,除非檔案建立過後,沒modify,沒change,那麼檔案的建立時間和modify時間及change時間相同。

quote:

[root@test200 temp]# stat libnids-1.16.tar.gz

file: `libnids-1.16.tar.gz'

size: 72309 blocks: 152 io block: 4096 regular file

device: 302h/770d inode: 4113144 links: 1

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

access: 2008-05-27 15:13:03.000000000 +0800

modify: 2004-03-10 12:25:09.000000000 +0800

change: 2008-05-27 14:18:18.000000000 +0800

access time是文件最後一次被讀取的時間。因此閱讀乙個文件會更新它的access時間,但它的modify時間和change時間並沒有變化。cat、more 、less、grep、sed、tail、head這些命令都會修改檔案的access時間。

change time是文件的索引節點(inode)發生了改變(比如位置、使用者屬性、組屬性等);

modify time是文字本身的內容發生了變化。[文件的modify時間也叫時間戳(timestamp).]

quote:

st_atime

time when file data was last accessed. changed by the

following functions: creat(), mknod(), pipe(),

utime(2), and read(2).

st_mtime

time when data was last modified. changed by the fol-

lowing functions: creat(), mknod(), pipe(), utime(),

and write(2).

st_ctime

time when file status was last changed. time of last modification of file status information.changed by the

following functions: chmod(), chown(), creat(),

link(2), mknod(), pipe(), unlink(2), utime(), and

write().

chmod, chown,create,mv等動作會將linux檔案的change time修改為系統當前時間

ls命令看到的是modify time

用vi等工具編輯乙個檔案儲存後,modify time會被修改。

用ls -l命令不會修改檔案的access time,但cat命令會修改access time。

quote:

ls -lu (show files access time and sort by name)

ls -lc (show files change time and sort by name )

ls -l (show files modify time and sort by name )

如果加上-t引數,則按相應的時間排序後顯示。加上--time-style=long-iso,則會把檔案的相應年月日時分秒time全部顯示出來。

touch命令能改變檔案的access時間和modify時間為任意指定的時間。

modify time只能改變為系統時間,不能改變為任意時間。甚至用c程式來直接讀寫inode,也不會修改change time

time元素和pubdate屬性

time元素代表24小時中的某個時刻和某個日期,表示時刻時允許帶時差,它可以定義很多格式的時間 datetime屬性中日期與時間之間需要用t文字分隔,t表示時間 我生日是晚上八點 時間加上z文字表示給機器編碼時使用utc時間標準 我生日是晚上八點 加上時差,表示向機器編碼另一地區時間,如果是編碼本地...

Linux命令詳解 time

命令 time 執行命令並計時 格式 time p command arguments.說明 執行命令列 command arguments.命令列執行結束時在標準輸出中列印執行該命令列的時間統計結果,其統計結果包含以下資料 1 實際時間 real time 從command命令列開始執行到執行終止...

class屬性多個樣式的用法

今天看到乙個非常好用的樣式用法,給已經在睡夢中甦醒的你們來一段 頭腦風暴。大家都知道現在div css布局的使用已經不是可以用潮流來概括的了,換個詞應該是 普及。以前的 布局現在是少之極少,因為 布局會產生太多的字元數,而且 版面沒有div css樣式來得簡潔明瞭。很多設計員應該都知道乙個樣式對應乙...