linux的stat命令_fstat函數

大家好,又見面了,我是你們的朋友全君。

linux 系統中,可以通過 stat 命令來查看文件的屬性。實際上,這個命令內部是通過調用 stat() 函數來獲取文件屬性的。stat 函數是 Linux 中的一個系統調用,用于獲取文件的相關信息。(可以通過“man 2 stat”命令查看詳細信息):

代碼語言:C 代碼運行次數:0 運行 復制

#include <sys/stat.h> #include <unistd.h> int stat(const char *pathname, Struct stat *buf);

pathname:用于指定需要查看屬性的文件路徑。

buf:是一個指向 struct stat 類型結構體指針。調用 stat 函數時,需要傳入一個 struct stat 變量的指針,獲取到的文件屬性信息將被記錄在這個結構體中。

返回值:成功時返回 0;失敗時返回 -1,并設置錯誤碼。

示例代碼:獲取文件的 inode 節點編號以及文件大小,并將它們打印出來。

代碼語言:C 代碼運行次數:0 運行 復制

#include <sys/stat.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(void){     struct stat file_stat;     int ret;     /* 獲取文件屬性 */     ret = stat("./test_file", &file_stat);     if (-1 == ret)     {         perror("stat error");         exit(-1);     }     /* 打印文件大小和 inode 編號 */     printf("file size: %ld bytesn"            "inode number: %ldn",            file_stat.st_size,            file_stat.st_ino);     exit(0); }

測試驗證:

linux的stat命令_fstat函數 從圖中可以得知,此文件的大小為 4060 個字節,inode 編號為 656929。

接下來編譯測試程序,并運行:

linux的stat命令_fstat函數

發布者:全棧程序員棧長,轉載請注明出處:https://www.php.cn/link/daccd87747bf3626e603e5750195c368 原文鏈接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享