Como exibir arquivos recursivamente corretamente (incluindo diretórios ocultos)

8

Esse enigma é causado pela execução git pulldo root.

Existem várias razões para eu fazer isso ... Quero que meu dispositivo atualize o código ao inicializar e rc.localseja executado pela raiz.

Tudo funciona muito bem ( npm installtende a falhar quando executado pelo root, mas esse é um tópico totalmente diferente), o problema surge quando tento usar o repositório git com um usuário não root posteriormente ... alguns dos arquivos git têm foi escrito pela raiz, então agora não posso mais usá-lo (permissão negada).

Então, eu gostaria de recursivamente chown, mas não parece haver nada que realmente funcione em todos os pequenos arquivos git. Eu tentei a -Rbandeira e o ./**/*caminho.

Meu palpite é que nenhuma dessas técnicas entra em diretórios de ponto.

Steven Lu
fonte
1
Qual shell você está usando? Em bashvocê precisa definir shopt -s dotglobpara corresponder arquivos ocultos por *ou **.
jimmij
1
@jimmij bom saber, graças (provavelmente você pode colocar isso como uma resposta)
Steven Lu
Você chown -R *, em vez de chown -R .?
Peter Cordes

Respostas:

16

O comando a seguir funciona para mim no Ubuntu. Ele mudou toda a propriedade de arquivos e diretórios de forma recusativa

sudo chown -R someuser:somegroup YourDir
Valarpirai
fonte
Eu tentei sudo chown -R me:me .e quando ls -altodos os meus arquivos ainda pertencem à raiz. Por que isso não funciona?
Richard
@ Richard você tentou usar um caminho absoluto ou ./?
Vdegenne #
0

Eu uso em treevez disso:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

Também tome cuidado para não executar chown recursivo ou chmod no diretório '/' ou em outro diretório do sistema.

Eduard Florinescu
fonte