У меня есть каталог с многочисленными файлами. Часть файлов имеет 755
разрешения, а другая часть имеет 644
разрешения. Я хотел бы конвертировать файлы с 755
разрешениями 644
. Я пробовал следующую строку, запустив ее из самого каталога:
find . -perm 755 -exec chmod 644 {}\;
Однако в результате разрешение изменилось только для самого каталога, и после его изменения я обнаружил, что права доступа к файлам остались неизменными. Я что-то пропустил?
shell
permissions
find
Евгений С
источник
источник
find ./ -type f -exec chmod -x {} \;
вместо этого.Ответы:
Хорошо, похоже, я нашел проблему. Кажется, между и и должен быть обязательный пробел , поэтому команда будет выглядеть так:
{}
\;
Скорее, чем:
Также проблему с изменением прав доступа к каталогу можно решить, добавив
-type f
флаг, поэтому он будет выглядеть следующим образом:источник
+
вместо,\;
чтобы уменьшить количество создаваемых подпроцессов.-type d
найдете каталоги.-type f
найдет файлы.