Как мне найти индекс любого каталога?

15

Я не могу найти в Google буквально ничего, что помогло бы мне ответить на этот вопрос. Я предполагаю, что это передает какой-то другой параметр ls -i?

Strobe_
источник

Ответы:

25

Да, аргумент -i будет печатать номер инода каждого файла или каталога, который выводит команда ls. Поскольку вы хотите напечатать номер инода каталога, я бы предложил использовать аргумент -d только для вывода списка каталогов. Для печати номера индекса в каталоге / path / to / dir используйте следующую командную строку:

ls -id /path/to/dir

От man ls:

   -d, --directory
          list  directory entries instead of contents, and do not derefer‐
          ence symbolic links
   -i, --inode
          print the index number of each file
stoeff
источник
18

Это работает также с stat:

DIR=/
stat -c '%i' $DIR

От man stat:

   -c  --format=FORMAT
          use the specified FORMAT instead of the default; output  a  new‐
          line after each use of FORMAT
[...]

   The valid format sequences for files:    
       %i     inode number
Кристиан Чиупиту
источник
2
Я хотел бы добавить, что команда stat из FreeBSD , NetBSD , OpenBSD и OS X работает немного по-другому и stat -f '%i' $DIRдолжна использоваться.
Кристиан Чиупиту
3

Вы можете найти inode файла и директории с -iопцией

ls -id /home/user/dir

Вы можете получить информацию о потребленном иноде вашей системы.

df -hi

дворняжка
источник