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

682
skibumdreamer

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

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

2

1 ответ на вопрос

1
BenjiWiebe

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

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

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