Macbook / Linux восьмеричный дамп каталога [закрыто]

Я читаю книгу "Среда программирования Unix". В ней при обсуждении каталогов часто используется команда od для получения восьмеричного дампа содержимого каталогов. Но где-то с 1984 года использование od для каталога было отключено на MacBook (возвращает 'is a directory'). Похоже, что он также был отключен для каталогов в linux.

Какие-нибудь альтернативные команды я могу использовать?

4
задан 3 October 2011 в 01:36
2 ответа

Ядро OS X запрещает операции чтения (2) для каталогов , поэтому вы никогда не сможете использовать инструменты пространства пользователя для чтения записей каталога напрямую .

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

В старых системах Unix было много умного, но это определенно было неудобно - единственный способ создать каталоги в в те дни это было через mkdir (1) команду , которая была setuid-root, потому что создание каталогов должно было выполняться с помощью системного вызова mknod (2) . Таким образом, программы обычно вызывают system ("mkdir / path / to / foo"); chdir ("/ path / to / foo"); для создания нового каталога.

3
ответ дан 3 December 2019 в 03:47

Согласно http://www.unix.com/unix-advanced-expert-users/35034-using-od-directory.html это ограничение gnu od, и есть "проблема" с ней и в версии FreeBSD (на чем, я думаю, основан Дарвин.)

Это может зависеть от файловой системы, судя по тому, что написано на сайте. Он также сказал, что это работает с каталогами при использовании в Solaris.

По сути, похоже, что инструкции зависят от того, какую версию UNIX вы используете. Я не могу найти обходного пути, чтобы заставить это работать с каталогом.

0
ответ дан 3 December 2019 в 03:47

Теги

Похожие вопросы