Как искать файлы с определенным разрешением

Как мне искать файлы с определенным разрешением. Например, у меня есть 10000 файлов, и я хочу найти те, которые имеют флаг READ ONLY. В другом случае я хочу искать другого, у которого есть конкретный владелец. Или в другом, чтобы увидеть файлы, которые только для чтения и исполняемые.

8
задан 1 August 2012 в 03:20

1 ответ

Вероятно, проще всего использовать команду find, которая позволяет рекурсивно осуществлять поиск по дереву каталогов. Например, если вы особенно хотите найти файлы, доступные только для чтения, вы можете набрать

find <specify location> -type f -perm -444

Для файлов, принадлежащих конкретному пользователю, вы можете использовать

find <location> -type f -user mike

Для исполняемых файлов. (для всех) вы можете использовать

find <location> -type f -perm -777

Для тех, которые являются исполняемыми и доступны только для чтения, вы должны использовать 555 вместо 777 в примере выше. Вы также можете искать файлы, принадлежащие группе, заменив -user mike на -group mike.

Чтобы свести на нет условия поиска и искать абсолютно противоположное, вы можете использовать восклицательный знак, например, так:

find <location> -type f ! -perm -444 

Примечание. ) означает, что будут найдены все файлы, которые имеют флаг только для чтения, а не только те, которые 444; чтобы найти 444 точно и только это, просто удалите черту (например, -perm 444).

Примечание 2. Можно также искать комбинации разрешений, используя -a для и и -o для или; например, чтобы найти именно эти разрешения, введите:

find <location> -type f -perm 744 -o -perm 666

Каталоги можно искать с помощью -type d.

См. man find для других доступных перестановок.

0
ответ дан 1 August 2012 в 03:20

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

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