man 2 stat 查看帮助文档
int stat(const char *pathname, struct stat *statbuf);
pathname:文件名
statbuf:返回文件属性的结构体信息
int fstat(int fd, struct stat *statbuf);
fd:已打开文件的文件指针
statbuf:返回文件属性的结构体信息
int lstat(const char *pathname, struct stat *statbuf);
pathname:链接文件名
statbuf:返回文件属性的结构体信息
实列获取文件Inode号:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int main()
{
int flag = -1;
struct stat FileInfo;
flag = stat("./hell.txt",&FileInfo);
printf("Inode:%ld\n", FileInfo.st_ino);
return 0;
}
st_mode:
是个16bit数,用它可以得道文件的类型跟模式。
man 7 inode 查看struct stat详情
S_IFMT 0170000 是掩码,0170000 是8进制数
只有文件类型需要S_IFMT这个宏做掩码。
指针常量总结:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *FileName = (char*)mallocd(32);
FileName = "hell.txt"; //把指向开辟空间的指针指向一个字符串常量。
free(FileName); //出现段错误
return 0;
}
符号链接:
可以由 ln -s 创建,也就是快捷键方式。