参考手册:http://man7.org/linux/man-pages/man2/stat.2.html

基本使用方式:

int stat(const char *pathname, struct stat *statbuf);
int lstat(const char *pathname, struct stat *statbuf);

pathname是文件路径,statbuf是文件状态。
lstat的更高级的用处是可以识别文件链接。

stat的结构:

     struct stat {dev_t     st_dev;         /* ID of device containing file */ino_t     st_ino;         /* Inode number */mode_t    st_mode;        /* File type and mode */nlink_t   st_nlink;       /* Number of hard links */uid_t     st_uid;         /* User ID of owner */gid_t     st_gid;         /* Group ID of owner */dev_t     st_rdev;        /* Device ID (if special file) */off_t     st_size;        /* Total size, in bytes */blksize_t st_blksize;     /* Block size for filesystem I/O */blkcnt_t  st_blocks;      /* Number of 512B blocks allocated *//* Since Linux 2.6, the kernel supports nanosecondprecision for the following timestamp fields.For the details before Linux 2.6, see NOTES. */struct timespec st_atim;  /* Time of last access */struct timespec st_mtim;  /* Time of last modification */struct timespec st_ctim;  /* Time of last status change */#define st_atime st_atim.tv_sec      /* Backward compatibility */#define st_mtime st_mtim.tv_sec#define st_ctime st_ctim.tv_sec};

简单实例:

#include <stdio.h>
#include <sys/stat.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysmacros.h>int main(int argc, char* argv[]) {struct stat sb;if (argc != 2) {fprintf(stderr, "Usage: %s <pathname>\n", argv[0]);exit(EXIT_FAILURE);}if (stat(argv[1], &sb) == -1) {perror("stat() error\n");exit(EXIT_FAILURE);}printf("ID of containing device: [%lx, %lx]\n",(long)sb.st_dev, (long)sb.st_dev);return 0;
}

Linux获取文件信息相关推荐

  1. linux生成文件清单,Linux 获取文件名称生成列表 txt - create_filelist

    Linux 获取文件名称生成列表 txt - create_filelist 1. find /home/strong/MOTChallenge/MOT16/MOT16/train/MOT16-04/ ...

  2. linux生成一个list文件,Linux 获取文件名称生成列表 txt - create_filelist

    Linux 获取文件名称生成列表 txt - create_filelist 1. find /home/strong/MOTChallenge/MOT16/MOT16/train/MOT16-04/ ...

  3. 通过 WMI 从 Linux 获取 Windows 信息/尝试运行程序

    有一个工具可以通过 WMI 从 Linux 获取 Windows 信息,所以我试了一下. 如果这个和ZABBIX能很好的连接起来,看来可以实现真正的无代理(不是通过SNMP). 安装方法如下 1 2 ...

  4. C语言下,获取文件信息 http://qimo601.iteye.com/blog/1517413

    http://qimo601.iteye.com/blog/1517413 C语言下,获取文件信息 博客分类: C/C++ C语言文件信息文件大小  C语言下,如何获取文件的生成时间,日期和文件大小等 ...

  5. linux目录为root所有文件,linux获取文件所有目录/文件夹的例子linux操作系统 -电脑资料...

    下面我给大家整理了两种比较实用的方法,如我们可以使用dirname来获取文件路径或者使用shell命令来获取路径,希望例子对大家有帮助, 方式一:使用" dirname" 去获得( ...

  6. 拖放获取文件信息的bat代码

    参考:岁月如歌-通过拖曳获取文件信息的bat代码 拖放获取文件信息的bat代码 使用命令行配合7z解压文件时由于每次解压的文件不同,因此搜索了一下拖放识别文件信息的方法,以此方式来减轻工作量 获取文件 ...

  7. Qt总结之一:遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名(一)

    一.采用递归和QDir实现文件夹下所有文件遍历的方法 #include <QDir> bool FindFile(const QString & path) {QDir dir(p ...

  8. Qt之HTTP之模仿迅雷——根据URL获取文件信息(上)

    一.简述  最近再看Qt实现HTTP下载时,看了一下迅雷下载,发现迅雷做的很好,不论是界面还是下载速度都非常不错,今天看到迅雷9新建下载任务一个神奇效果,复制下载url到输入框,迅雷能够自动解析下载文 ...

  9. Qt 之 模仿迅雷 根据Url获取文件信息——上

    一.简述 最近再看Qt实现HTTP下载时,看了一下迅雷下载,发现迅雷做的很好,不论是界面还是下载速度都非常不错,今天看到迅雷9新建下载任务一个神奇效果,复制下载url到输入框,迅雷能够自动解析下载文件 ...

最新文章

  1. Office 365系列(7)------ Exchange 2013与Office 365 Hybrid混合部署Step by Step参考
  2. java静态变量和实例变量的区别6_java静态变量的与实例变量的区别
  3. 推荐几本Python电子书
  4. 互联网IP地址的分配
  5. SQL语言之DQL语言学习(八)多表查询/链接查询 SQL92学习
  6. 让用户故事真的像故事那样
  7. 代码段编辑器SnippetEditor 2.1
  8. 一年赚4.5亿,网红盲盒公司泡泡玛特再战IPO
  9. Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)
  10. 关于Socket踩过的一些坑
  11. [Zeppelin]Zeppelin安装与初体验
  12. 安卓一键新机_新机速递:vivo S7,如7而至;更有Nokia携手一键直达登场
  13. 新能源汽车动力电池(热管理)热流体仿真分析-基于SCDM和STAR-CCM+热仿真分析课程(评论发链接)
  14. Openstack 经典面试问题和解答
  15. 逆火效应:该对谁负责?
  16. linux man shell,Linux Shell man 命令详细介绍
  17. 学习Python一定要吃透这68个内置函数,强烈建议收藏(文末附本周送书和抽奖)...
  18. 一张自拍即可实现变老变年轻,带你感受时光流逝之美
  19. QQ聊天机器人--基于酷Q写的插件
  20. 设置成功的开源计划办公室(OSPO)的指南

热门文章

  1. 动态规划之回文串问题
  2. 买表(【CCF】NOI Online能力测试3 入门组)
  3. OCR——PaddleOCR之文字识别的学习笔记
  4. 数据标注——VoTT的学习笔记
  5. python中出现UserWarning: libuv only supports millisecond timer resolution怎么解决
  6. 东大oj-1591 Circle of friends
  7. deepsort代码解读
  8. IntellijIDEA配置Tomcat
  9. 敏捷开发般若敏捷系列之七:重新认识敏捷与CMMI
  10. 2019/5/10开始咯