一、介绍
文件属性也是文件的元数据,包括文件的时间戳、文件所有权以及文件权限、inode等等。利用stat、fstat、lstat接口可以获取文件有关的信息,大部分提取从文件i节点(inode)。
stat()会返回文件的相关信息
lstat()和stat()类似,区别在于如果文件属于符号链接,那么返回的信息针对的是符号链接本身
而不是连接指向的文件本身,那么这一点可以看出stat如果是连接文件那么返回的是指向的文件信息
fstat()则返回由某个打开文件描述符所指代文件的相关信息。
stat()和lstat()无需对文件本身拥有权限,但是所在的目录要用搜索权限也就是读权限
二、接口函数
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int stat(const char *pathname, struct stat *buf);
参数:
pathname:文件名
buf:得到的信息保存到sturct stat 结构体指针
返回值:
正确返回0,错误-1并设置errno
int lstat(const char *pathname, struct stat *buf);
参数:
pathname:文