[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: =?ibm866?q?=E8=A5=AB=AB/chmod?=



Dmitry E. Oboukhov пишет:
> нужно в одном скрипте сделать чтобы права на все файлы в каталогах и
> подкаталогах стали 0644, а на все каталоги 0755.
> 
> find /path -type d -exec chmod 0755 "{}" ";"
> find /path -type t -exec chmod 0644 "{}" ";"
> 
> прекрасно справляется с этой задачей, но работает очень медленно
> (подкаталоги содержжат тысячи файлов).
> 
> сперва я сделал так:
> 
> find /path -type d|xargs chmod 0755
> find /path -type t|xargs chmod 0644
> 
> работает существенно быстрее (на порядок примерно), но спотыкается на
> файлах содержащих пробелы в имени :-\
> 
> вернулся к первому варианту, но быстродействие его угнетает.
> 
> кто-нибудь может предложить что-то более дельное?
> 
> --- Mutt/1.5.13 (2006-08-11)
>  * Origin: Простые задачи решают без нас! (2:5004/75.151)

// Только если скрипт запускается из-под рута

# сначала высавим все права как для файлов
chmod -R 0644 /path
# затем уже ищем каталоги
find /path -type d -exec chmod 0755 "{}" ";"

должно работать быстрее, т.к. каталогов обычно меньше



Reply to: