Чи все-таки я можу перерахувати файли, ввівши команду в оболонці, в якій перераховані всі назви файлів, назви папок та їх дозволи в 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