O que o * no bash fará?

0

Minha pergunta é bem simples: se devo inserir 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 permissão recursiva e alterada para cada arquivo / pasta. O sinalizador N significa remover a ACL dos arquivos.

E agora *? Isso significa todos os arquivos em / Volumes / Externo ou todos os arquivos no meu Mac?

Shane Hsu
fonte

Respostas:

4

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

Para responder sua pergunta específica: O comando alterará as permissões em todos os arquivos e diretórios dentro de forma /Volumes/Externalrecursiva. Isso significa que todos os sistemas de arquivos montados nesse diretório também serão alterados recursivamente.

Jannik Jochem
fonte
1
Como é chmod rm ... Ela irá remover todos os ACL nesses arquivos ...
Shane Hsu
É claro que você está certo, de alguma forma eu ler rmem vez de chmod...
Jannik Jochem