結構體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...