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

Я хочу получить дерево каталогов всех файлов на сервере, для которого у меня есть разрешение на чтение. как я могу это сделать!?

0
задан 10 December 2017 в 17:23

1 ответ

На ум приходят два метода, find и tree. Я думаю, что из двух tree лучше подходит для вашего вопроса.

Find
find имеет то преимущество, что это базовый пакет, который можно найти в любом дистрибутиве Linux. Одним из недостатков является то, что он не будет генерировать древовидное представление. И это не будет легким. Вместо этого добавьте соответствующие -perm тесты. Следующий пример найдет все каталоги в / с правами пользователя, группы и других прав на чтение и отправит стандартную ошибку в /dev/null

find / -type d -perm /u=r -perm /g=r -perm /o=r 2>/dev/null

Дерево
Хотя tree не может быть установлен по умолчанию, он находится в репозиториях. Это создает вид дерева. Если пользователь, выполняющий tree, не имеет разрешения на чтение, простой grep -v error удалит каталог из вывода. Однако удаление ошибок может привести к постороннему форматированию. -d Список только каталогов. -p Напечатайте тип файла и разрешения для каждого файла (согласно ls -l). grep -v печатает строки, не соответствующие шаблону, error.

tree -d -p / | grep -v error
1
ответ дан 10 December 2017 в 17:23

Другие вопросы по тегам:

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