sottocartelle chown con il proprietario e il gruppo della cartella corrente


8

In uno script bash, desidero ricorsivamente chown tutte le sottocartelle di una cartella arbitraria con l'utente e i proprietari del gruppo di quella determinata cartella.

Il mio approccio è qualcosa di simile all'utilizzo stat -c "%U %G" .

Ma questo restituisce solo uno schema di username[whitespace]groupname

Ovviamente potrei semplicemente provare diversi strumenti per sostituire lo spazio bianco con un :ma preferirei usare un modo più "integrato" se ce n'è uno, per applicare la proprietà corrente alle sottocartelle.

Risposte:


6

chown, ad esempio chmod, può utilizzare un riferimento:

chown [OPTION]... --reference=RFILE FILE...

Change the owner and/or group of each FILE to OWNER and/or GROUP.  With
--reference, change the owner and group of each FILE to those of RFILE.

Così:

chown --reference=/some/folder -R /some/folder

8

In realtà non è necessario analizzare l'output per rimuovere lo spazio bianco - l'hai aggiunto al tuo comando! Puoi semplicemente formattarlo come preferisci (con chownla sintassi dei due punti) in primo luogo:

$ stat -c "%U:%G" .
zanna:unicorns

Quindi passalo a chowncon la sostituzione del comando:

chown -R $(stat -c "%U:%G" .) .

A volte sono solo cieco per l'ovvio. Grazie!
Jankapunkt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.