Windows: Як знайти ім'я файлу для ручки файлу?


2

Я працюю з програмним забезпеченням під назвою logstash, який обробляє файли журналів і зберігає прогрес у файлі, подібному до цього:

82484791-1419-65536 0 0 26507948
82484791-1420-65536 0 0 26071030
82484791-1421-65536 0 0 3065829
82484791-1422-65536 0 0 3973980
82484791-1425-65536 0 0 4301931

Я хочу побачити імена файлів, які були оброблені.

Згідно з документацією це слід тлумачити як:

Файли Sincedb - текстові файли з чотирма стовпцями:

Номер inode (або еквівалент). Основний номер пристрою файлу   система (або еквівалент). Незначний номер пристрою файлової системи (або   еквівалент). Поточне зміщення байта у файлі.

На linux я можу перетворити inode на ім'я файлу, використовуючи:

find /path/to/mountpoint -inum <inode number>

або

debugfs -R 'ncheck <inode number>' /dev/sda2 2>/dev/null

Що таке еквівалент Windows? Як перетворити дескриптори файлових вікон / файлів у імена файлів і каталогів?


@KshitizSharma - Рекомендації програмного забезпечення не на тему. Я зв'язав вас з API, щоб ви могли написати власну програму.
Ramhound

Відповіді:


2

Дескриптори файлів і ручки файлів ефемерні: вони існують лише під час роботи програми і можуть бути повторно використані. Знайти їх у лог-файлі досить безглуздо.

Linux inodes є ні файлові дескриптори. Вони є частиною структури файлової системи на диску в загальних файлових системах, таких як Ext2 і Ext3. Оскільки вони настільки важливі для Linux, Linux змоделює inode-номери під час доступу до файлової системи Microsoft FAT.

Це призводить до наступної проблеми: Windows не використовує inodes, оскільки типові файлові системи Microsoft не використовують inodes. Досить неясно, що таке "або еквівалентне" значення. Якби мені довелося вгадати, я думаю Номер оновлення послідовності (USN) але не вірте моєму слову.


Дякую за вашу відповідь. Я буду дивитися в USN. Що у цьому файлі має бути постійним, тому що logstash підтримує функцію відновлення. Тобто, якщо вона зупинена, вона може бути запущена знову і вона підбере обробку, звідки вона вийшла (з того ж байтового зміщення всередині файлу).
Kshitiz Sharma
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.