GNU/Linux >> Znalost Linux >  >> Linux

Jak chmodovat soubory na základě výsledků z příkazu find

Přemýšlejte na chvíli o svém požadavku. Máte (možná máte) nějaké spustitelné soubory (skripty nebo binární soubory) ve stromu adresářů? Pokud ano, chcete odebrat oprávnění ke spuštění (dokonce i sobě), nebo chcete oprávnění ke spuštění ponechat nedotčené? Pokud chcete ponechat oprávnění ke spuštění nedotčené, měli byste použít chmod o-w odstranit (odečíst) w povolení k obřadu od o pouze tamější pole.

Také, jak ukazuje Anthon, find příkaz uvedený v druhé odpovědi spouští chmod program jednou pro každý světově zapisovatelný soubor, který najde. O něco efektivnější je říci

find  top-level_directory  -perm -2  -type f  -exec chmod o-w {} +

Tím se spustí chmod s mnoha soubory najednou, čímž se minimalizuje počet exec.

P.S. Nepotřebujete úvodní nuly na 2 .


find /dir/stuct/path -perm -0002 -type f -exec chmod 664 {} \;

"{}" představuje soubor nalezený funkcí find. "\;" ukončí příkaz, který je třeba provést.


Linux
  1. Úvod do linuxového příkazu chmod

  2. Jak používat Linuxový příkaz find k hledání souborů

  3. Jak najít adresář dat mysql z příkazového řádku v systému Windows

  1. Hledání souborů v příkazovém řádku (jak na to)

  2. Jak používat příkaz Grep k vyhledání textu v souborech

  3. Jak najít soubory v CentOS 8 na příkazovém řádku

  1. Jak najít duplicitní soubory v Linuxu? Nápověda je zde s příkazem fdupes!

  2. Jak odstraním soubory z koše na Ubuntu?

  3. Jak přenést výsledky 'najít' do mv v Linuxu