Получить список всех файлов и их атрибутов в OS X

2853
Michael Prescott

Каков наилучший и самый быстрый способ получить список всех файлов в OS X, включая скрытые и системные файлы вместе с их атрибутами? Я не боюсь терминала или сценариев, но если есть замечательное приложение, похожее на аудит, мне было бы интересно сравнить это с моими опциями.

2

3 ответа на вопрос

2
Geoff Fritz

Зависит от того, какие атрибуты вам нужны, но стандартным способом Unix будет:

find / -type f -print0 | xargs -0 stat 

Вы упоминаете аудит, поэтому что-то вроде tripwire может лучше соответствовать вашим потребностям.

Я также рекомендовал бы добавить `> all_my_files.txt` в конце. Таким образом, вы можете просмотреть данные позже. ricbax 14 лет назад 1
Для меня результаты без расширенных атрибутов. Graham Perrin 11 лет назад 0
Почему труба к жестким Xargs? Почему бы не `find / path / to / search / -type f -exec stat {} \;`? Hennes 10 лет назад 1
1
Marnix A. van Ammers

Чтобы вывести список расширенных атрибутов и файловых флагов для всех файлов на всех устройствах:

sudo find / -exec ls -ldO@ {} \; 

(это заглавная буква O в "-ldO @").

Чтобы включить списки контроля доступа (ACL), -eопция ls:

sudo find / -exec ls -ldeO@ {} \; 

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

Для включения в список устройств, отличных от загрузочного тома, можно -xвыбрать find:

sudo find -x / -exec ls -ldeO@ {} \; 
0
user31894

Вы можете использовать mdfind .

Найти файлы, соответствующие одному запросу.

По умолчанию mdfind не выполняет поиск в директорах системы. Chealion 14 лет назад 0
так что это означает, что вы можете установить что-то, чтобы он мог искать системные каталоги, верно? user31894 14 лет назад 0
`mdfind` перечисляет некоторые системные файлы, которых нет в меню Spotlight и Finder, но есть файлы, которые даже не индексируются Spotlight. Вы также можете включить некоторые дополнительные скрытые файлы в результаты `mdfind`, установив для` kMDItemFSInvisible` значение true. user495470 11 лет назад 0