Как отслеживать открытие и закрытие файлов?

Для таких команд, как chown , у которых есть собственная рекурсия, быстрее всего использовать эту опцию:

 chown -R owner:group * .[^.]*

Внимание! В некоторых оболочках форма chown -R owner: group *. * заменяет владельца в корневом каталоге /. Поскольку . * означает ../../../../ root, ../bin ... и т. Д. . Все пути. Однако наиболее широко используемая оболочка, bash , не применяется . и .. , расширяющиеся шаблоны.

Однако полезно знать, что основная проблема, которая замедляет использование find , заключается в том, что вы вызываете chmown для каждого найденного каталога и файла. Гораздо быстрее использовать:

find . -type f -exec chown <owner>:<group> {} +
find . -type d -exec chown <owner>:<group> {} +

, поскольку каждый раз chown вызывается с таким количеством параметров, которое помещается в командной строке.

Это изменение работает и для других команд, у которых нет встроенной опции рекурсии, например chown . И он работает (и повышает скорость) в ситуациях, когда есть такая опция рекурсии, но вы не можете ее использовать (например, при использовании chmod , и вы хотите только изменить каталоги).

3
04.06.2015, 00:35
0 ответов

Теги

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