LINUX.ORG.RU
решено ФорумAdmin

Что быстрее?


0

1

Здравствуйте уважаемые Гуру.

представим что в каталоге /home/temp огромное количество файлов и подкаталогов...

Подскажите пожалуйста, что быстрее:

chmod -R 0777 /home/temp или find /home/temp -name '*' -exec chmod 0777 {} \;

может кто сравнивал?



Последнее исправление: Amazik (всего исправлений: 1)

Конечно же быстрее будет

IFS=$'\n'; for i in «$(find /home/temp -name '*')»; do chmod 0777 «$i»; done

anonymous
()

chmod -R быстрее. Сравнивал на 7 миллионах файлов...

anonymous
()

Первое, естественно. Второе на каждый файл или директорию будет делать по fork() и exec(), что безумно затратно.

AITap ★★★★★
()
Ответ на: комментарий от AITap

А если стоит задача также и владельца поменять?

Что быстрее: chmod -R 0777 /home/temp chown -R temp:temp /home/temp

или

find /home/temp -name '*' -exec chown temp:temp {} \; -exec chmod 0770 {} \;

?

Amazik
() автор топика
Ответ на: комментарий от AITap

Спасибо...

К чему я спрашиваю, при работе команд chmod -R 0777 /home/temp && chown -R temp:temp /home/temp жесткий диск загружен на 100% длительное время, при этом другие пользователи практически ничего не могут делать... есть ли возможность как то ограничить 50%(условно) всей скорости диска на конструкцию chmod -R 0777 /home/temp && chown -R temp:temp /home/temp, чтобы при этом другие пользователи работали нормально? Может сталкивались с подобной задачей?

Amazik
() автор топика
Ответ на: комментарий от leave

Да, но есть в этих xargs пробел посреди строчки? это же лишние телодвижения придется городить, причем частно не особо тривиальные.
Тем более exec'ов можно много, а xargs один.

Prius
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.