.
... начать поиск в текущем каталоге
-type f
... найти файлы типа "файл" (в отличие от "каталог", "ссылка" и т.д.)
-exec ... \;
.. . для каждого файла найден, запустите команду ...
chmod
... команда для exec
будет chmod
(права доступа изменения для файла)
644
... права доступа будет изменен на (читать, писать) для владельца файла и (читать) для всех остальных.
{}
... эта часть будет заменена на фактическое имя файла на find
Зачем нам нужны {} и \; ? в чем их смысл?
{}
будет заменен на имя файла, найденное find
.
\;
прекращает действие -exec
действие find
. Нам это нужно, потому что команда в -exec
может быть до тех пор, пока вы этого хотите, а после этого -exec
вы можете захотеть найти другие действия или предикаты. Таким образом, вам нужны некоторые средства для определения того, что одна часть -exec
заканчивается, а затем выполняется другое действие поиска. На практике это определяется одним из двух терминаторов: ;
или +
с несколько иным значением (читайте справочную страницу для поиска). Но так как ;
является метасимволом в оболочке, нам нужно защитить его от оболочки, убегая от него (или помещая его в кавычки).
Вы по крайней мере [читаете документацию?] (Http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html) –