1.stat命令,可以獲取檔案的詳細資訊
命令列輸入:stat filename
2.stat函式
標頭檔案:
#include
#include
#include
介面:extern int stat (const char *__restrict __file,
struct stat *__restrict __buf)
引數:1.第乙個引數是要獲取資訊的檔案的名字
2.第二個引數是stat型別的結構體指標,用於儲存獲取的資訊
返回值:
成功則返回0,失敗則返回-1,並且將errno設定為對應的錯誤資訊
測試**struct stat ;
struct timespec ;
結果//實現ls -l stat.txt
#include
#include
#include
#include
#include
#include
#include
#include
intmain
(int argc,
char
* ar**)
struct stat buf;
//stat(ar**[1],&buf); //獲取檔案資訊,並儲存到buf
lstat
(ar**[1]
,&buf)
;//檔案型別與許可權
char stmode[11]
=;memset
(stmode,
'-',10)
;if(s_isreg
(buf.st_mode)
) stmode[0]
='-'
;//普通檔案
elseif(
s_isdir
(buf.st_mode)
) stmode[0]
='d'
;//目錄檔案
elseif(
s_ischr
(buf.st_mode)
) stmode[0]
='c'
;//字元裝置
elseif(
s_isblk
(buf.st_mode)
) stmode[0]
='b'
;//塊裝置
elseif(
s_isfifo
(buf.st_mode)
) stmode[0]
='p'
;//管道
elseif(
s_islnk
(buf.st_mode)
) stmode[0]
='l'
;//鏈結符號
elseif(
s_issock
(buf.st_mode)
) stmode[0]
='s'
;//socket檔案
//解析許可權
if(buf.st_mode & s_irusr)
stmode[1]
='r';if
(buf.st_mode & s_iwusr) stmode[2]
='w';if
(buf.st_mode & s_ixusr) stmode[3]
='x';if
(buf.st_mode & s_irgrp)
stmode[4]
='r';if
(buf.st_mode & s_iwgrp) stmode[5]
='w';if
(buf.st_mode & s_ixgrp) stmode[6]
='x';if
(buf.st_mode & s_iroth)
stmode[7]
='r';if
(buf.st_mode & s_iwoth) stmode[8]
='w';if
(buf.st_mode & s_ixoth) stmode[9]
='x'
;//獲取時間
struct tm *filetime =
localtime
(&buf.st_atim.tv_sec)
;char timebuf[20]
=;sprintf
(timebuf,
"%d月 %d %02d:%02d"
, filetime->tm_mon+
1, filetime->tm_mday,
filetime->tm_hour,filetime->tm_min)
;printf
("%s %ld %s %s %ld %s %s\n"
, stmode, buf.st_nlink,
getpwuid
(buf.st_uid)
->pw_name,
getgrgid
(buf.st_gid)
->gr_name,
buf.st_size,
timebuf, ar**[1]
);//getpwuid() 獲取使用者名稱, getgrgid() 獲取組名
return0;
}
解析Linux下的stat命令
如圖所示會顯示3種不同型別的時間,分別是 最近訪問時間 access time 最近更改時間 modify time 最近改動時間 change time 最近訪問時間 access time 表示最後一次訪問 僅僅是訪問 檔案的時間 最近更改時間 modift time 表示最後一次修改檔案的時間...
linux作業系統下的 stat命令
有些時候,我們需要在linux中使用stat命令來檢視檔案的詳細資訊。我們先來看下stat的情況 如圖所示,會出現3個型別的時間,分別是access,modify,change。下面我們就對這3個時間進行詳細解釋下 access time 表示我們最後一次訪問 僅僅是訪問,沒有改動 檔案的時間 mo...
linux命令stat,檢視檔案詳細資訊
可以檢視檔案的各類具體資訊 檔案許可權的數字形式0664 uid gid的許可權的數字形式等 lsattr test.sh 檢視檔案的其他屬性 唯讀屬性 只可以追加寫屬性等 linux chattr命令用於改變檔案屬性。這項指令可改變存放在ext2檔案系統上的檔案或目錄屬性,這些屬性共有以下8種模式...