GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit oprávnění pro složku a její podsložky/soubory v jednom kroku?

Zaškrtněte volbu -R

chmod -R <permissionsettings> <dirname>

V budoucnu můžete ušetřit spoustu času tím, že nejprve zkontrolujete manuálovou stránku:

man <command name>

Takže v tomto případě:

man chmod

Ostatní odpovědi jsou správné, v tom chmod -R 755 nastaví tato oprávnění všem souborům a podsložkám ve stromu. Ale proč byste to proboha chtěli ? Pro adresáře to může dávat smysl, ale proč nastavovat prováděcí bit u všech souborů?

Mám podezření, že opravdu chcete nastavit adresáře na 755 a soubory buď ponechat, nebo je nastavit na 644. K tomu můžete použít find příkaz. Například:

Chcete-li změnit všechny adresáře na 755 (drwxr-xr-x ):

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

Chcete-li změnit všechny soubory na 644 (-rw-r--r-- ):

find /opt/lampp/htdocs -type f -exec chmod 644 {} \;

Někteří splainin':

  • chmod 755 {} určuje příkaz, který bude proveden find pro každý adresář
  • chmod 644 {} určuje příkaz, který bude proveden find pro každý soubor
  • {} je nahrazena cestou
  • ; středník říká find že toto je konec příkazu, který má provést
  • \; středník je escapován, jinak by byl interpretován shellem namísto find

Linux
  1. Jak hledat soubory podle velikosti a přípony?

  2. Jak mohu rekurzivně najít všechny soubory v aktuálních a podsložkách na základě shody zástupných znaků?

  3. jak mohu vyhledat soubory a zazipovat je do jednoho souboru zip

  1. Odstraňte soubory .DS_STORE v aktuální složce a všech podsložkách z příkazového řádku na Macu

  2. Jak najdu soubory a součet jejich velikostí?

  3. Jak zjistit, zda jsou ve složce soubory, a podle toho ukončit (v KSH)

  1. Chcete-li změnit oprávnění pro adresář a soubory

  2. Jak najít a zkopírovat určitý typ souborů z jednoho adresáře do druhého v Linuxu

  3. Jak nastavit oprávnění linux pro složku WWW?