Получить информацию о файле по индоду - PullRequest
4 голосов
/ 20 ноября 2008

Мне нужен сценарий bash, чтобы узнать подробности о файле, когда я знаю inode. Система - Linux.

Ответы [ 3 ]

9 голосов
/ 21 ноября 2008

Если вы имеете дело исключительно с файловой системой ext2 / 3, вы можете использовать debugfs для поиска inode в файлах, что может быть значительно быстрее, чем использование find для больших файловых систем с большим количеством файлов.

debugfs -R "ncheck $inode" /dev/device 2> /dev/null | tail -1 | awk '{print $2}'

Найти все еще действительно лучший выбор, хотя я ничего не знаю об этом, это не зависит от файловой системы.

6 голосов
/ 20 ноября 2008

Примерно так:

find $SEARCHPATH -maxdepth $N -inum $INUM -exec ls -l {} \;

Поскольку имя файла связано с индексом, а не наоборот, вам нужно сделать это методом грубой силы. -Maxdepth - чтобы сузить его, если у вас есть представление о том, где оно должно быть. Вы также можете объявить -xdev, если вы ищете дерево, содержащее несколько файловых систем.

0 голосов
/ 20 ноября 2008

Вы можете использовать find с комбинацией -inum и -xdev. Это дает вам имена файлов (они могут иметь более одного имени), и из них вы можете найти любую нужную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...