Dan Lukes wrote:

[...]

find /path/to/adr -type f -print0 | xargs -0 chmod 600

find /path/to/adr -type d -print0 | xargs -0 chmod 700

Ano, toto je asi obecne nejefektivnejsi reseni. Ja bych ale asi pouzil
variantu s -exec

$ find adr -type ... -exec chmod ...

A proto me to neda se nezeptat, jak se co do efektivnosti budou lisit
pristupy find s -exec a find + xargs?

Znacne, i kdyz absolutni rozdil bude hodne zaviset na poctu memenych
souboru a hardwarove konfiguraci pocitace. V pripade "exec" pro KAZDY
nalezeny soubor spoustis chmod - to jest pro kazdy provadis fork a exec,
parsing parametru a pak vlastni zmenu. V pripade "xargs" provadis pro
kazdy soubor jen vlastni zmenu - fork,exec i getopt se provadi jen
jednou vzdy pro pomerne velkou skupinu souboru.

Ja bych k tomu jen doplnil kratkou citaci z manualu, podle ktere ten rozdil mezi xargs a exec neni az tak jednoznacny, zalezi vic na tom, jestli se pouzije -exec {} \;, nebo -exec {} +

-exec utility [argument ...] {} +
  Same as -exec, except that ``{}'' is replaced with as many path-
  names as possible for each invocation of utility.     This behaviour
  is similar to that of xargs(1).

Mirek
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem