cos'è un carattere jolly per selezionare tutte le directory in una directory


13

voglio impostare bit appiccicoso per tutte le directory in una directory esclusi i file. c'è qualche jolly per farlo?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

Risposte:


24

Utilizzare */per abbinare solo le directory.

chmod g+s /var/www/*/

Per abbinare tutte le directory e le sottodirectory utilizzate **/*/(a condizione che tu abbia globstarabilitato in bash):

shopt -s globstar
chmod g+s /var/www/**/*/

2
Funziona bene, ma si interromperà non appena la lunghezza della riga di comando estesa supera il limite di lunghezza della riga di comando. -> cyberciti.biz/faq/argument-list-too-long-error-solution
— Bonsi Scott

1
si, ne sono ben consapevole. Tuttavia, l'OP ha richiesto un "carattere jolly".
— dogbane,

si! ho chiesto il jolly, grazie.
— Necktwi,

so che ha chiesto una soluzione jolly. Ho solo sottolineato che avrebbe fallito in qualche circostanza. A parte questo, nessuna critica da vedere qui (ho commentato ancora votato, perché è una soluzione funzionante per la maggior parte dei casi) ^^
— Bonsi Scott

13

puoi usare trova, vedi esempio sotto

find /var/www/ -type d -exec chmod g+s {} \;

3
Questo è carino, ma non è un jolly, ma ha il vantaggio di non fallire a causa di molte directory
— Bonsi Scott

Si noti che questo è ricorsivo per impostazione predefinita. Se si desidera applicare il comando solo al livello superiore, è possibile utilizzare l' -maxdepth findargomento.
— Kris Harper,

0

Questo NON è un carattere jolly, quindi mi scuso per una non risposta, tuttavia ...
ls -al |grep ^d | awk '{print$NF}'elencherò tutte le directory nella directory corrente, spetta a te decidere se vuoi elaborarle .e ..rimuoverle.

echo $(ls -al |grep ^d | awk '{print$NF}') lo fa comportarsi come un jolly


Questo si interromperà se i tuoi file hanno spazi vuoti iniziali o finali o nuove righe.
— Chris Down,
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.