Sergiy Kolodyazhnyy Asked: 2018-09-10 16:06:10 +0800 CST2018-09-10 16:06:10 +0800 CST 2018-09-10 16:06:10 +0800 CST How to list files and their inode numbers in current directory? 772 How can I obtain list of items and their inode numbers in the current working directory ? command-line files inode 2 Answers Voted Best Answer Sergiy Kolodyazhnyy 2018-09-10T16:07:19+08:002018-09-10T16:07:19+08:00 ls has -i flag: $ ls -i 1054235 a.out 1094297 filename.txt But if you are feeling adventurous , build ls -i yourself: #include <dirent.h> #include <stdio.h> #include <sys/stat.h> #include <unistd.h> #include <limits.h> void print_dirents(DIR * dir){ struct dirent *entry; while ( (entry=readdir(dir)) != NULL ){ printf("%s,%d\n",entry->d_name,entry->d_ino); } } int main(){ char current_dir[PATH_MAX]; DIR *cwd_p; if ( getcwd(current_dir,sizeof(current_dir)) != NULL){ cwd_p = opendir(current_dir); print_dirents(cwd_p); closedir(cwd_p); } else { perror("NULL pointer returned from getcwd()"); } return 0; } And it works as so: $ gcc lsi.c && ./a.out filename.txt,1094297 a.out,1054235 ..,1068492 .,1122721 lsi.c,1094294 Volker Siegel 2018-09-10T21:19:42+08:002018-09-10T21:19:42+08:00 stat ./* or man stat; stat --format=*f* ./*
ls
has-i
flag:But if you are feeling adventurous , build
ls -i
yourself:And it works as so:
or