como navegar em diretórios com montes de arquivos

1

Meu sistema de arquivos Linux possui dezenas de milhares de arquivos por diretório. Visualizar uma lista de todos os arquivos leva alguns minutos para o meu sistema calcular, o que é muito lento. Mas não tenho certeza de quais arquivos estão em cada diretório, por isso, quero exibir uma lista dos primeiros, como o que o comando head faz para arquivos grandes. Existe um comando que faça isso com eficiência?

Editar: canalizar ls para outra coisa não é bom porque ls leva alguns minutos para ser concluído antes de canalizar a saída. Eu preciso de um comando que retorne apenas os primeiros registros.

hoju
fonte
Por que tantos arquivos em um diretório?
Mouviciel 30/11/2009
Isso importa? De qualquer forma, é baixado o conteúdo da web.
Hoju

Respostas:

3

Tente o ls -fque não classifica.

PP.
fonte
Uau, isso é muito mais rápido, e fazer também ls -f | sort | lessé muito mais rápido! Loucura.
BeepDog
0

Para cada um dos diretórios, você pode fazer o seguinte por um script de shell

Tente isso, isso fornece uma página cheia de entradas

ls | more

Você pode enviar isso para algum arquivo, se desejar, para consultá-lo mais tarde, para que use este

ls | more > filenames.txt

obrigado

Mahesh Velaga
fonte
+1 apesar moreutilizado pouco antes um redirecionamento
mouviciel
"menos é mais" - se você lessusá-lo em vez demore
Dennis Williamson
Há também a "maioria" (alguém tinha dificuldade em nomear seu programa :)
alfplayer
0

Se você quiser listar N primeiras entradas, eu apenas criaria um pequeno programa C que faz uma chamada aberta e depois N chama o readdir


fonte
é o mesmo que encabeçar a lista de arquivos. e cabeça ou ls são programas C
Prefiro não criar meu próprio script, porque gostaria de uma solução que funcione em algumas máquinas, sem ter que copiar meu script.
Hoju
0

Depende do sistema de arquivos, mas geralmente é mais rápido listar apenas os nomes de arquivos (observe o objeto do diretório) versus todos os metadados do arquivo (salva uma estatística () por arquivo).

Você já tentou ls -R?

Caso contrário, pode ser necessário executar o programa de localização GNU em segundo plano periodicamente e usar o banco de dados gerado para rastreá-lo.

Nate
fonte
0

Você pode usar head:

ls -l | head
Dennis Williamson
fonte