Como listar recursivamente todos os arquivos e diretórios ocultos?


13

Quero listar todos os arquivos e diretórios ocultos e salvar o resultado no arquivo.

Existe algum comando para isso?

Respostas:


13

Se estiver usando o GNU find, você pode fazer

find /path -path '*/.*' -ls | tee output-file

Editar

Para evitar mostrar itens não ocultos contidos em diretórios ocultos

find /path -name '.*' >output-file

(como observado, teepode ser evitado se você não precisar ver a saída e a -lsopção deve ser usada apenas se necessário).


2
Ou em >vez de | tee, se não quiser ver toda a saída no terminal.
rozcietrzewiacz

Você também não precisa -lsdisso, que pode ser uma informação extra confusa para analisar o pensamento.
Caleb

Isso também lista o conteúdo de diretórios ocultos, que não é o que a pergunta pede (provavelmente - é um pouco ambígua).
Gilles 'SO- stop be evil'

@ Gilles: na verdade, é ambíguo.
Editou

Note que o primeiro não é específico ao GNU. -pathé POSIX desde 2008. -lsnão é padrão, mas é bastante comum.
Stéphane Chazelas

10

Para listar os arquivos e diretórios ocultos no diretório atual, incluindo .e ..:

echo .*

Para listar os arquivos e diretórios ocultos no diretório atual e seus subdiretórios recursivamente:

find . -name '.*'

Se você deseja salvar os resultados em um arquivo, use um redirecionamento:

find . -name '.*' >output-file.txt

1

Com zsh(usando o qualificador glob D ):

print -rl ./**/.*(D)

Para incluir arquivos não ocultos em diretórios ocultos:

setopt extendedglob
print -rl ./**/*~^*/.*(D)

0

Você pode colocar o mesmo argumento várias vezes na mesma linha de comando:

find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli

O tee -acomando é capaz de exibir a saída do comando (ou stdout ) simultaneamente enquanto a grava em um arquivo. As -aopções evitam o atropelamento e, em vez disso, anexam as informações ao arquivo de saída de destino.

/storage/????-????/é um caminho de exemplo. É o caminho para o cartão MicroSD dos telefones celulares Android mais recentes (também há um aplicativo de terminal para Android, com menos comandos, mas ainda assim muitos e aumentado significativamente desde o Android 6.0). O cartão MicroSD era anteriormente /storage/extSdCard. Agora, é o número de série do volume.

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.