Qual Comando é mais rápido entre ls -R e tree? [fechadas]

-1

Eu quero listar todos os arquivos em todos os diretórios e salvá-los em um arquivo de texto para manter um registro por vários motivos.

O QUE EU TENHO

  • A unidade D e a unidade E consistem em mais de 500 GB de dados e mais de 20000 diretórios (aproximadamente).
  • Existem muitas bibliotecas, conjuntos de dados (personalizados) e projetos com muitas pastas em uma pasta (profundidade de até 50 pastas em uma pasta para 4 níveis).

O que eu fiz

  • Eu executei alguns casos de teste para verificar qual é o mais rápido no mesmo diretório e até verifiquei o horário

RESULTADOS

  • eu tenho o comando tree mais rápido para uma pasta com 20 pastas que consistem em arquivos de texto
  • mas recebi o comando ls -R mais rápido para uma pasta semelhante com 30 pastas
  • mas, se o número de níveis for mais, a árvore terá um melhor desempenho.

SOLUÇÕES

  • qual é mais rápido entre esses dois?
  • existe algum comando mais rápido que possa listar os arquivos mais rápido que eu possa usar?

Então, se alguém puder responder isso, então seria ótimo, pois tenho um prazo para mudar o meu sistema operacional, então eu quero ir com o comando mais rápido, para não perder tempo extra.

Obrigado

    
por crash 17.08.2016 / 01:06

1 resposta

2

O tempo é gasto para impressão:

Sim, quando você executa ls -lR ou tree , o atraso é causado porque leva tempo para imprimir a saída no seu terminal.

Isto é, Quando executo time ls -lR / , o tempo gasto é:

real    0m7.693s
user    0m2.217s
sys 0m3.177s

Mas, em vez de imprimi-lo no terminal, se eu redirecioná-lo para um arquivo,

time ls -lR / >somefile

Em seguida, o tempo gasto é:

real    0m2.857s
user    0m1.360s
sys 0m1.487s

O mesmo se aplica a tree (não há muita diferença no tempo)

NOTA: Se você quiser alocar mais recursos e executá-los com maior prioridade, poderá usar o comando nice com a opção -n junto com o comando.

    
por Severus Tux 17.08.2016 / 02:05