Tag: inode

打印文件/导演信息(inode)

我想打印目录的一些信息。 我的代码是: #include #include #include #include #include #include #include #include #include int main (int argc, char *argv[]) { struct stat fileStat; int fd=0; if ( ( fd = open (argv[1] , O_RDONLY) ) == -1){ perror ( “open ” ); exit (1) ; } if(fstat(fd, &fileStat)printf(“File Size: \t\t%d bytes\n”,fileStat.st_size); printf(“Number of Links: \t%d\n”,fileStat.st_nlink); —>printf(“File inode: […]

如何确定使用stat()文件是否是符号链接?

我基本上必须为一个类编写一个UNIX ls命令的克隆,而且几乎所有东西都在工作。 我似乎无法弄清楚如何做的一件事是检查文件是否是符号链接。 从stat()的手册页中,我看到定义了一个mode_t值, S_IFLNK 。 这就是我试图检查一个文件是否是一个sym-link,没有运气(注意,stbuf是stat()返回inode数据的缓冲区): switch(stbuf.st_mode & S_IFMT){ case S_IFLNK: printf(“this is a link\n”); break; case S_IFREG: printf(“this is not a link\n”); break; } 我的代码ALWAYS打印this is not a link即使它是,并且我知道一个事实,所述文件是一个符号链接,因为实际的ls命令这样说,再加上我创建了sym-link … 谁能发现我可能做错了什么? 谢谢您的帮助!