Estou tentando alterar a propriedade e as permissões de alguns arquivos (e diretórios) no diretório atual. Eu tentei isso:
chown username:groupname .
... esperando que isso afetasse todos os arquivos no diretório atual, mas afetasse apenas o diretório em que estou (o que é o oposto do que eu quero fazer). Quero alterá-lo em todos os arquivos sem afetar o diretório atual em que estou.
Como posso chown e chmod todos os arquivos no diretório atual?
man chown
eman chmod
responda facilmente à sua pergunta.chmod
. Está embutido no shell. Também ler a documentação sobre globbing suga a vida de você (passei muito tempo descobrindo todos os recursos do zsh).chown -R user:group .
Respostas:
Você deseja usar
chown username:groupname *
e deixe o shell expandir*
para o conteúdo do diretório atual. Isso alterará as permissões para todos os arquivos / pastas no diretório atual, mas não o conteúdo das pastas.Você também pode fazer o
chown -R username:groupname .
que alteraria as permissões no diretório atual e, em seguida, recuaria dentro dele e de todas as subpastas para alterar as permissões.chown -R username:groupname *
alterará as permissões em todos os arquivos e pastas recursivamente, deixando o diretório atual sozinho. Esse estilo e o primeiro são o que eu me uso com mais frequência.fonte
chown -R username:groupname .
emchown -R username:groupname /
. Fazendo uma tarefa de 2 segundos um pesadelo de 2 dias.-v
todos os meus comandos recursivos, mas com preguiça #chown -R username:groupname directoryname
Eu acho que você quer isso:
chown username:groupname *
Se você também deseja alterar recursivamente os subdiretórios, precisará da opção
-R
(-r
está obsoleta):chown -R username:groupname *
fonte
chown
é ótimo se você é um superusuário. Eu tive um problema em que outra pessoa havia executadomake
no meu diretório e agora possuía alguns arquivos que não consegui modificar. Aqui está minha solução alternativa que lida com arquivos e diretórios, embora deixe os diretórios por aí com sufixo,.mkmeowner
se não puder excluí-los.Exemplos:
mkmeownerone
esteja no seu caminho.mkmeowner:
mkmeownerone:
fonte
mkmeownerone
no CAMINHO de pesquisa.mkmeowner
explodirá se isso não for feito. (3) Aprenda como (por exemplo, quando e onde) usar aspas nos comandos e scripts do shell. Dizer${f}
não é uma alternativa útil; veja isso . ... (continua)expr
é antiquado. É mais eficiente fazer uma correspondência simples de strings no shell; O bash também suporta correspondência de expressão regular. Nesse caso, você pode fazer o teste do nome do arquivo emfind.
(6) Seuexpr match
comando testa se${f}
termina commkmeowner
, não se termina com.mkmeowner
. Portanto, o script não funcionará sozinho. ... (continua)dirorfile
é difícil de ler e entender (comparar comdir_or_file
) e, quando vimkmeowner
, meu primeiro pensamento foi em um gato (mk
+meow
+ner
).