我可以使用Inodes获取目录中的所有文件属性吗?

时间:2018-03-17 19:35:07

标签: c unix gcc

我需要在目录中打印所有可能的文件属性,例如文件大小,类型等。下面的代码使用dirent结构,它没有所有文件信息,如文件大小。 d_type返回一些整数,但我可以找到一个图表来查找这些数字的含义。我正在打印inode和文件的名称。我可以使用inode通过c命令获取有关该文件的更多信息吗?

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <dirent.h> 
#include <sys/stat.h>
#include <errno.h>

int main(int ac, char *av[])
{


  DIR *d;
  struct dirent *dir;
  d = opendir("/home/CS/user/unix/Project4/TestDirectory");
  if (d) {
    while ((dir = readdir(d)) != NULL) {
       printf("Name: %s \n", dir->d_name);
       printf("- Inode: %lu\n", dir->d_ino);
       printf("- reclen: %u\n", dir->d_reclen);
       printf("- type: %u\n", dir->d_type);

    }
    closedir(d);
  }
  return(0);

}

0 个答案:

没有答案