關于文件 atime mtime gtime 專題–2016-07-27

Linux文件組成部分:元數據(metadata)和數據(date

元數據的查看方式:使用stat命令;

數據的查看方式:文本格式使用 cat nano查看及修改即可;

stat命令:

功能說明:顯示文件或文件系統的狀態

語法:

stat  [OPTION] …  FILE…

參數:

 

舉例:

[root@wCentos7 testdir]#  stat  stat.txt  ====>顯示stat.的文件屬性
  File: ‘stat.txt’
  Size: 0          Blocks: 0          IO Block: 4096   regular empty file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 18:59:23.691076633 +0800
#文件訪問時間狀態(atime)
Modify: 2016-07-27 18:59:23.691076633 +0800
#文件修改時間狀態(mtime)
Change: 2016-07-27 18:59:23.691076633 +0800
#文件屬性改變狀態(ctime)
Birth: -
 注意:由于文件是剛剛建立的,三個時間是一樣的

 

驗證一下操作會對文件的屬性帶來三個時間上的變化

1. cat文件內容,看看文件屬性變化如何?

2. nano看看文件變化如何?

3. 給文件追加部分內容,看看文件屬性變化如何?

4. nano添加文件內容看看文件屬性變化如何?

5. 修改文件權限,看看文件屬性變化如何?

6. touch 下文件看看文件屬性變化如何?

 

 

測試一: cat文件內容,看看文件屬性變化如何?

cat文件內容,atime時間變為當前系統時間

(實際應用中,文件的訪問時間沒有什么太大的意義,可以設置文件的訪問時間不需要變化

注意:centos 6后以后atime 的時間不會由于  cat而改變時間:

  atime 時間變化一天以前 時  當atime的時間比mtime 要舊 時

 

[root@wCentos7 testdir]# cat stat.txt 
[root@wCentos7 testdir]# stat stat.txt 
  File: ‘stat.txt’
  Size: 0          Blocks: 0          IO Block: 4096   regular empty file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:10:48.000064317 +0800
Modify: 2016-07-27 18:59:23.691076633 +0800
Change: 2016-07-27 18:59:23.691076633 +0800
 Birth: -

測試二:nano看看文件變化如何?

nano沒有修改文件內容,文件屬性沒有任何的變化,所有的屬性都沒有變化

[root@wCentos7 testdir]# nano stat.txt 
[root@wCentos7 testdir]# stat stat.txt 
  File: ‘stat.txt’
  Size: 0          Blocks: 0          IO Block: 4096   regular empty file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:10:48.000064317 +0800
Modify: 2016-07-27 18:59:23.691076633 +0800
Change: 2016-07-27 18:59:23.691076633 +0800
 Birth: -

 

測試三:給文件追加部分內容,看看文件屬性變化如何?

追加部分內容進入stat.txt文件,修改時間與改變時間都變成當前系統時間

  (追加內容 導致文件大小變化,也導致文件 mtime時間變化,文件屬性本身有變化,所以文件改變時間也會更新)

[root@wCentos7 testdir]# echo "wo shi hao ren " > stat.txt 
[root@wCentos7 testdir]# stat stat.txt 
  File: ‘stat.txt’
  Size: 16         Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:10:48.000064317 +0800
Modify: 2016-07-27 19:22:33.231051624 +0800
Change: 2016-07-27 19:22:33.231051624 +0800
 Birth: -

 

 

 

測試四:nano添加文件內容看看文件屬性變化如何?

[root@wCentos7 testdir]# nano  stat.txt  ->修改文件內容
[root@wCentos7 testdir]# stat   stat.txt  ->查看文件狀態
  File: ‘stat.txt’
  Size: 52         Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:27:08.464046670 +0800
Modify: 2016-07-27 19:27:27.441046329 +0800
Change: 2016-07-27 19:27:27.441046329 +0800
 Birth: -

(修改文件內容后,三個文件時間都在變化,文件修改時間和文件改變時間是一致的,并且和大于文件訪問時間)

[root@wCentos7 testdir]# cat   stat.txt  -> 查看文件內容
wo
shi hao ren ni shi bu shi de a dksajf aklsjf ;l 
[root@wCentos7 testdir]# stat   stat.txt  ->再來查看文件狀態
  File: ‘stat.txt’
  Size: 52         Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:28:08.989045581 +0800
Modify: 2016-07-27 19:27:27.441046329 +0800
Change: 2016-07-27 19:27:27.441046329 +0800
 Birth: -

cat文件內容后,文件訪問時間在變化,其它的文件時間沒有變化)

 

測試五:修改文件權限,看看文件屬性變化如何?

 

[root@wCentos7 testdir]# chmod 777 stat.txt -->修改文件權限
[root@wCentos7 testdir]# stat stat.txt  -->查看其文件屬性
  File: ‘stat.txt’
  Size: 52         Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:28:08.989045581 +0800
Modify: 2016-07-27 19:27:27.441046329 +0800
Change: 2016-07-27 19:34:52.197038324 +0800
 Birth: -
(修改文件權限后,只改變了文件的屬性,故只有mtime的時間改變了)

 

 

測試六:touch 下文件看看文件屬性變化如何?

[root@wCentos7 testdir]# touch stat.txt 
[root@wCentos7 testdir]# stat stat.txt 
  File: ‘stat.txt’
  Size: 52         Blocks: 8          IO Block: 4096   regular file
Device: 805h/2053d Inode: 3140        Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_runtime_t:s0
Access: 2016-07-27 19:39:29.247033338 +0800
Modify: 2016-07-27 19:39:29.247033338 +0800
Change: 2016-07-27 19:39:29.247033338 +0800
 Birth: -
(touch下文件后,文件的三個時間都改變了,由于touch命令的會修改文件mtime的時間,故ctime的時間也會改變)

 

 

 

進過以上測試,我可以得出以下理論:

1.修改atime的時間,只要涉及到打開文件的操作就會修改atime的時間,不過實際中atime的時間修改太過頻繁,所以在實際企業應用中可能會禁止修改atime的時間。

2.修改文件內容,追加新的內容,追加空白內容也會修改文件的修改時間 mtime,也會導致文件ctime的時間改變。

3.ctime,文件權限變化,文件大小變化,或其他文件狀態變化都會導致文件ctime時間變化,不過atime的時間變化不會影響ctime的時間變化。 

 

 

 

 

 

 

 

 


 

 

 

 

 

原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/27682

(0)
linux_rootlinux_root
上一篇 2016-08-04
下一篇 2016-08-04

相關推薦

  • 什么叫Linux

    什么叫linux:     Linux是一套免費使用和自由傳播的類Unix操作系統,它主要用于基于Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的Unix兼容產品。 誰編寫的linux: Linux的出現,最早…

    Linux干貨 2017-03-27
  • Flex Ant自動構建

    1.  Flex SDK Ant        Flex開發者會遇到很多,比如自動構建,在一個有著N多模塊,N處源碼,構建過程復雜的Flex項目開發中,依賴人力手工構建項目非常不現實(機械重復且枯燥無味的過程,相信哪位開發人員都會避之唯恐不及,而且對于人力是非常大的浪費),而通過使用Ant,我們可以將這些工作…

    Linux干貨 2016-03-22
  • 103-corosync-pacemaker-crmsh

    一、概述: 1.1 什么是AIS和OpenAIS?

    2016-11-26
  • centos 7.3二進制安裝mariadb10.2.8

    1 rpm -qa mariadb* 2 getent passwd mysql useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql 3 tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/cd /usr/local/ln -s mariadb…

    Linux干貨 2017-10-16
  • Linux文件查找的使用方法

    文件查找的方法 locate命令       非實時查找(數據庫查找): locate查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.db    依賴于事先構建的索引;索引的構建是在系統較為空閑時自動進行(周期性任務);管理員手動更新數據庫(updated…

    Linux干貨 2016-08-15
  • Raspberry pi設置自動撥號,搭建無線路由環境

    Raspberry pi設置自動撥號,搭建無線路由環境 前言  raspberry pi(樹莓派), 是一款針對電腦業余愛好者、教師、小學生以及小型企業等用戶的迷你電腦,由于可以燒錄Linux操作系統,因此可以衍生出各種各樣的使用途徑,諸如控制版,爬蟲機器,個人vps,門禁系統…..本文主要介紹如何在raspberry pi上面完成pppoe撥號上…

    2017-03-28
欧美性久久久久