O que o * no bash fará?

0

A minha pergunta é bem simples, se eu for digitar essas duas linhas no OS X Terminal, o que deve acontecer?

xupengjunde-iMac:Shane Shane$ cd /Volumes/External
xupengjunde-iMac:External Shane$ sudo chmod -RN *

O sinalizador R no chmod significa recursivo, alterando a permissão para cada arquivo / pasta. O sinalizador N significa remover a ACL nos arquivos.

Agora, e sobre * ? Isso significa todos os arquivos em / Volumes / External ou todos os arquivos no meu Mac?

    
por Shane Hsu 12.07.2013 / 14:43

1 resposta

4

O Bash expande * para a lista de todos os arquivos e diretórios no diretório atual, exceto os ocultos (aqueles que começam com . ). Consulte TLDP para obter uma explicação completa.

Para responder à sua pergunta específica: O comando alterará as permissões em todos os arquivos e diretórios dentro de /Volumes/External recursivamente. Isso significa que qualquer sistema de arquivos montado neste diretório também será alterado recursivamente.

    
por 12.07.2013 / 14:47