Можно ли в любом случае перечислить файлы, набрав в командной строке команду, в которой перечислены все имена файлов, имена папок и их разрешения в CentOS?
Можно ли в любом случае перечислить файлы, набрав в командной строке команду, в которой перечислены все имена файлов, имена папок и их разрешения в CentOS?
Ответы:
Посмотрите на дерево , возможно, вам придется сначала установить его. По умолчанию дерево не показывает разрешения, чтобы показать разрешения рядом с именем файла запуска
tree -p
который будет рекурсивно перечислять все папки и каталоги в текущем каталоге, включая разрешения.
ls -lR
перечисляет содержимое каталогов рекурсивно. Вывод трудно обрабатывать автоматически, но для ручного просмотра он может быть хорош, потому что это то, с чем вы знакомы.
Команда find
перечисляет файлы рекурсивно. Вы можете настроить его вывод, например, следующая команда печатает разрешения, как ls -l
и перед каждым именем файла:
find -printf '%M %p\n'
Этот вывод может быть обработан механически, если в именах файлов нет новых строк. Если вы замените \n
(новая строка) на \000
(нулевой байт), вы можете обработать вывод с помощью инструментов, которые поддерживают разделенные нулями записи.
Оба ls
и find
только печатают традиционные разрешения Unix, а не списки контроля доступа. Для рекурсивного перечисления всех прав доступа к файлам, включая информацию ACL, запустите
getfacl -R .
Вывод может быть обработан механически (сортируются специальные символы); в частности, его можно использовать setfacl --restore
для репликации разрешений в другое дерево с теми же именами файлов.
Вы хотите find
для этого.
find some/dir -ls > output.txt