Linux檔案中的stat結構

2021-08-30 19:41:39 字數 1562 閱讀 4972

結構體stat

linux檔案系統以塊為單位儲存資訊,為了找到某乙個檔案所在的儲存空間的位置用乙個資料結構來對每個檔案進行索引,而stat顯示的就是該結構體資訊,下面我們可以來看下這個結構體。

struct stat {

mode_t     st_mode;       //檔案對應的模式,檔案,目錄等

ino_t      st_ino;       //inode節點號

dev_t      st_dev;        //裝置號碼

dev_t      st_rdev;       //特殊裝置號碼

nlink_t    st_nlink;      //檔案的連線數

uid_t      st_uid;        //檔案所有者

gid_t      st_gid;        //檔案所有者對應的組

off_t      st_size;       //普通檔案,對應的檔案位元組數

time_t     st_atime;      //檔案最後被訪問的時間

time_t     st_mtime;      //檔案內容最後被修改的時間

time_t     st_ctime;      //檔案狀態改變時間

blksize_t st_blksize;    //檔案內容對應的塊大小

blkcnt_t   st_blocks;     //偉建內容對應的塊數量

stat結構體中的st_mode 則定義了下列數種情況:

s_iflnk 0120000     符號連線

s_ifreg 0100000     一般檔案

s_ifblk 0060000     區塊裝置

s_ifdir 0040000     目錄

s_ififo 0010000     先進先出

s_isuid 04000     檔案的擁有者在執行中的id位

s_isgid 02000     檔案的所屬組在執行中的id位

s_isvtx 01000     檔案的sticky位

s_irusr(s_iread) 00400     檔案所有者具可讀取許可權

s_iwusr(s_iwrite)00200     檔案所有者具可寫入許可權

s_ixusr(s_iexec) 00100     檔案所有者具可執行許可權

s_irgrp 00040             使用者組具可讀取許可權

s_iwgrp 00020             使用者組具可寫入許可權

s_ixgrp 00010             使用者組具可執行許可權

s_iroth 00004             其他使用者具可讀取許可權

s_iwoth 00002             其他使用者具可寫入許可權

s_ixoth 00001             其他使用者具可執行許可權

為了方便理解,我們在說一下linux中的三類人:擁有者(u),所屬組(g),其他人(o).

linux檔案的三種許可權:唯讀(r),只寫(w),可執行(x),無許可權(-)

--------------------- 

原文: 

LINUX檔案系統中的stat結構

stat結構的成員在不同的unix中會有所變化.但一般都包含以下所示的內容 st mode 檔案許可權和檔案型別資訊。st ino 與該檔案關聯的inode st dev 儲存檔案的裝置 st uid 檔案屬主的uid號 st gid 檔案屬主的gid號 st atime 檔案上次被訪問的時間 st...

LINUX 檔案和目錄 stat結構

在使用這個結構體和方法時,需要引入 struct stat這個結構體是用來描述乙個linux系統檔案系統中的檔案屬性的結構。可以有兩種方法來獲取乙個檔案的屬性 1 通過路徑 int stat const char path,struct stat struct stat int lstat cons...

stat函式與結構體(檔案資訊)

stat 取得檔案狀態 相關函式 fstat,lstat,chmod,chown,readlink,utime 表頭檔案 include include 定義函式 int stat const char file name,structstat buf 函式說明 stat 用來將引數file nam...