Рекурсивный список файлов с именами файлов, именами папок и разрешениями

9

Можно ли в любом случае перечислить файлы, набрав в командной строке команду, в которой перечислены все имена файлов, имена папок и их разрешения в CentOS?

user1038814
источник
Привет, спасибо за ответ. Да, например, если у меня есть следующая структура: Папка A> Файл 1, Файл 2, Папка AA [Файл AA1, Файл AA2] и т. Д., Поэтому я хочу перечислить все папки и все файлы в этих папках вместе с их разрешениями в текстовый файл. Надеюсь это имеет смысл?
user1038814

Ответы:

11

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

tree -p

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

Ульрих Дангел
источник
9

ls -lRперечисляет содержимое каталогов рекурсивно. Вывод трудно обрабатывать автоматически, но для ручного просмотра он может быть хорош, потому что это то, с чем вы знакомы.

Команда findперечисляет файлы рекурсивно. Вы можете настроить его вывод, например, следующая команда печатает разрешения, как ls -lи перед каждым именем файла:

find -printf '%M %p\n'

Этот вывод может быть обработан механически, если в именах файлов нет новых строк. Если вы замените \n(новая строка) на \000(нулевой байт), вы можете обработать вывод с помощью инструментов, которые поддерживают разделенные нулями записи.

Оба lsи findтолько печатают традиционные разрешения Unix, а не списки контроля доступа. Для рекурсивного перечисления всех прав доступа к файлам, включая информацию ACL, запустите

getfacl -R .

Вывод может быть обработан механически (сортируются специальные символы); в частности, его можно использовать setfacl --restoreдля репликации разрешений в другое дерево с теми же именами файлов.

Жиль "ТАК - перестань быть злым"
источник
5

Вы хотите findдля этого.

find some/dir -ls > output.txt
Игнасио Васкес-Абрамс
источник
-1

lsэто команда список компьютерных файлов в Unix

ls -lэлементов списка в директории
ls -Rрекурсивно список файлов

ls -lR
Аби
источник
Это было в ответе Жиля. Также ваше объяснение ls -lне объясняет, что это -lвообще такое.
jesse_b