stat

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 创建,也就是快捷键方式。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页