o que é curinga para selecionar todos os diretórios em um diretório


13

Eu quero definir bit pegajoso para todos os diretórios em um diretório excluindo arquivos. existe algum curinga para fazer isso?

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

Respostas:


24

Use */para corresponder apenas aos diretórios.

chmod g+s /var/www/*/

Para corresponder a todos os diretórios e subdiretórios, use **/*/(desde que você tenha globstarativado no bash):

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

2
Funciona bem, mas será interrompido assim que o comprimento da linha de comando expandida exceder o limite de comprimento da linha de comando. -> cyberciti.biz/faq/argument-list-too-long-error-solution
Scott

1
sim, eu estou bem ciente disso. No entanto, o OP solicitou um "curinga".
dogbane

sim! eu pedi curinga, thanq.
Necktwi

Eu sei que ele pediu uma solução curinga. Eu apenas apontei que isso falharia sob alguma circunstância. Outras que, não critc para ver aqui (I # ve comentou ainda upvoted, porque é uma solução de trabalho para a maioria dos casos) ^^
Bonsi Scott

13

você pode usar find, veja o exemplo abaixo

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

3
Isso é bom, mas ainda assim não é um curinga - mas tem a vantagem de não falhar devido a muitos diretórios
Bonsi Scott

Observe que isso é recursivo por padrão. Se você deseja que seu comando seja aplicado apenas no nível superior, use o -maxdepth findargumento
Kris Harper #

0

Este NÃO é um curinga, por isso peço desculpas por não responder, no entanto ...
ls -al |grep ^d | awk '{print$NF}'listarei todos os diretórios no diretório atual, cabe a você decidir se deseja processar .e.. ou tira-los.

echo $(ls -al |grep ^d | awk '{print$NF}') faz com que se comporte como um curinga


Isso será interrompido se os arquivos tiverem espaços em branco à esquerda ou à direita ou novas linhas.
Chris Down
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.