文件的元數據
在Linux的文件系統中,數據可分為兩大類:數據和元數據
- 數據:泛指普通文件中的實際數據
- 元數據:用來描述一個文件的特征的系統數據
這樣抽象的描述并不能很清楚地表示元數據的定義,所以下面將借助stat命令進行舉例說明:
stat命令
stat – display file or file system status(用于展示文件或文件系統的狀態)
- 用法:stat [OPTION]… FILE…
- 示例:
- 解釋說明:利用stat命令,可以顯示文件的元數據
-
- File:文件名
-
- Size:文件大?。▎挝唬築)
-
- Blocks:文件所占扇區個數,為8的倍數(通常的 Linux 的扇區大小為 512 B,連續八個扇區組成一個block)
-
- IO Block:每個數據塊的大?。▎挝唬築)
-
- regular file:普通文件(此處顯示文件的類型)
-
- Inode:文件的Inode號《參考鏈接:理解inode》
-
- Links:硬鏈接次數
-
- Access:權限
-
- Uid:(屬主id/屬主名)
-
- Gid:(屬組id/屬組名)
-
- Access:最近訪問時間
-
- Modify:數據改動時間
-
- Change:元數據改動時間
以上的參數均屬于文件的元數據,元數據即用來描述數據的數據
時間戳
此處著重說明一下文件的時間戳:
- Access:Access time(atime),是指取用文件的時間,所謂取用,常見的操作有:使用編輯器查看文件內容,使用cat命令顯示文件內容;使用cp命令把該文件(即來源文件)復制成其他文件;或者在這個文件上運用grep、sed、more、less、tail、head等命令,凡是讀取文件的操作,均改變文件的Access time
- Modify:Modify time(mtime),是指修改文件內容的時間,只要文件內容有改動(如使用轉向輸出或轉向附加的方式)或存盤的操作,就會改變文件的Modify time,平常我們使用ls –l查看文件時,顯示的時間就是Modify time
- Change:Change time(ctime),是指文件屬性或文件位置改動的時間,如:使用chmod、chown、mv指令集;使用ln做文件的硬是連接,都會改變文件的Change time
touch命令
為了更形象地描述時間戳,下面將引入touch命令,通過具體的例子來進行區分:
touch – change file timestamps(修改文件的時間戳)
- 用法:touch [OPTION]… FILE…
- 常用參數:
-c:指定的文件路徑不存在時不予創建
-a: 僅修改access time
-m:僅修改modify time
注意:Change time不能手動指定
-t:修改Access time和Modify time為指定時間,格式為:[[CC]YY]MMDDhhmm[.ss](年月日時分.秒) - 示例:
- 首先使用touch命令創建一個空文件(touch + 文件名,當文件不存在時,可以用于創建空文件)
- 使用touch -a 123.txt,修改123.txt的Access時間為當前系統時間
這時我們發現文件的Change time一同被改變了,因為Access time屬于文件元數據中的一項,當Access time被修改時,文件的屬性也被改動 - 使用touch -m 123.txt,將123.txt的Modify時間改為當前系統時間
這時我們發現文件的Change time一同被改變了,原因和上面相同,當Modify time被修改時,文件的屬性也被改動 - 使用touch -t 1801120000.00 123.txt,將文件的訪問和修改時間改為2018年1月12日0點0分0秒
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91013