Experimente ls -f
, o que não é ordenado.
Meu sistema de arquivos Linux possui dezenas de milhares de arquivos por diretório. A visualização de 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, portanto, quero ver uma lista dos primeiros, como o que o comando head faz para arquivos grandes. Existe um comando que faz isso eficientemente?
Editar: Pipar 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 retornará apenas os primeiros registros.
Para cada um dos diretórios, você pode fazer o seguinte com um script de shell
Tente isso, isso dá uma página cheia de entradas
ls | more
Você pode até mesmo empurrar isso para algum arquivo, se você quiser, para que você possa consultá-lo mais tarde, para isso, use isso
ls | more > filenames.txt
Obrigado
Se você quiser listar N primeiras entradas, Gostaria apenas de criar um pequeno programa em C que faz uma chamada opendir e depois N chama para readdir
Depende do sistema de arquivos, mas geralmente é mais rápido listar apenas os nomes de arquivos (veja o objeto de diretório) em relação a todos os metadados do arquivo (salva um stat () por arquivo).
Você já tentou ls -R
?
Caso contrário, você pode pagar para executar o programa de localização GNU em segundo plano periodicamente e usar o banco de dados gerado para rastreá-lo.
Você pode usar head
:
ls -l | head