您的評價:
收藏該經驗
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樣式來得簡潔明瞭。很多設計員應該都知道乙個樣式對應乙...