特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > linux的statfs命令

linux的statfs命令

時間: 佳洲1085 分享

linux的statfs命令

  linux下的statfs主要是用來獲取磁盤空間,下面由學習啦小編為大家搜集整理了linux的statfs命令的相關知識,希望對大家有幫助!

  linux的statfs命令詳解

  statfs 主要用來獲得磁盤的空間

  sun 系統(tǒng)下為 statvfs, linux系統(tǒng)下為statfs

  用法:

  #include <sys/vfs.h> /* 或者 <sys/statfs.h> */

  int statfs(const char *path, struct statfs *buf);

  int fstatfs(int fd, struct statfs *buf);

  參數:

  path: 位于需要查詢信息的文件系統(tǒng)的文件路徑名。

  fd: 位于需要查詢信息的文件系統(tǒng)的文件描述詞。

  buf:以下結構體的指針變量,用于儲存文件系統(tǒng)相關的信息

  struct statfs {

  long f_type; /* 文件系統(tǒng)類型 */

  long f_bsize; /* 經過優(yōu)化的傳輸塊大小 */

  long f_blocks; /* 文件系統(tǒng)數據塊總數 */

  long f_bfree; /* 可用塊數 */

  long f_bavail; /* 非超級用戶可獲取的塊數 */

  long f_files; /* 文件結點總數 */

  long f_ffree; /* 可用文件結點數 */

  fsid_t f_fsid; /* 文件系統(tǒng)標識 */

  long f_namelen; /* 文件名的最大長度 */

  };

  linux的statfs命令簡單測試程序

  test.c#include <sys/statfs.h>

  #include <stdio.h>

  int main(int argc,char **argv)

  {

  struct statfs diskInfo;

  statfs(argv[1], &diskInfo);

  unsigned long long blocksize = diskInfo.f_bsize; //每個block里包含的字節(jié)數

  unsigned long long totalsize = blocksize * diskInfo.f_blocks; //總的字節(jié)數,f_blocks為block的數目

  printf("Total_size = %llu B = %llu KB = %llu MB = %llu GB\n",

  totalsize, totalsize>>10, totalsize>>20, totalsize>>30);

  unsigned long long freeDisk = diskInfo.f_bfree * blocksize; //剩余空間的大小

  unsigned long long availableDisk = diskInfo.f_bavail * blocksize; //可用空間大小

  printf("Disk_free = %llu MB = %llu GB\nDisk_available = %llu MB = %llu GB\n",

  freeDisk>>20, freeDisk>>30, availableDisk>>20, availableDisk>>30);

  return 0;

  }

3632279