Команда Linux find с несколькими командами -exec с использованием chown и chmod

Следующая команда выполняется, но два -exec Команды не выполняются - поэтому файл перемещается, но права доступа и владелец файла не меняются.

find ~/Downloads/ -name "2014-12-24*" -exec sudo mv {} ~/docs/ \; -exec sudo chown {} apache:apache \; -exec sudo chmod {} 400 \;

1 ответ

Решение

Ваша проблема в том, что вы двигаетесь, скажем, Downloads/2014-12-24-first в ~/docs/2014-12-24-first, а затем пытается изменить владельца и разрешения на Downloads/2014-12-24-first; который не будет работать, потому что вы уже переместили файл в ~/docs,

Попробуйте переупорядочить ваш -execтак chmod/chown во-первых, и mv прошлой.

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