ls no diretório inicial muito lento

ls no diretório inicial muito lento

Há algum tempo, criei acidentalmente centenas de milhares de arquivos em meu diretório pessoal, que posteriormente excluí.

Desde então, porém, executar ls no meu diretório pessoal tem sido extremamente lento (levando dezenas de segundos para imprimir). Também tem sido lento em outros diretórios (como levar 1s para imprimir) e a conclusão da guia tem sido lenta em todos os lugares (também dezenas de segundos).

Qual pode ser o problema?

Editar: conforme sugerido nos comentários, a saída do

encontre ~/ -maxprofundidade 1 | Banheiro

é 67 e a saída de df -h é

/dev/sda2        74G  8.4G   62G  12% / 
none            4.0K     0  4.0K   0% /sys/fs/cgroup 
udev            3.9G   12K  3.9G   1% /dev 
tmpfs           795M  1.1M  794M   1% /run 
none            5.0M     0  5.0M   0% /run/lock 
none            3.9G  4.9M  3.9G   1% /run/shm 
none            100M   52K  100M   1% /run/user
/dev/sda1       825G  408G  376G  53% /home
AFS             8.6G     0  8.6G   0% /afs
/dev/sdb2       1.9T  584G  1.3T  32% /media/sj1/ResearchData1 
/dev/sdc1       932G  409G  524G  44% /media/sj1/ResearchData2 

Responder1

Eu tive o mesmo problema e o motivo foi um link para uma pasta da unidade de rede que não funcionava mais.

Para ver se este é o seu caso, obtenha uma lista dos links com:

find . -maxdepth 1 -type l -ls

Tente lscom cada um, aquele que está quebrado também irá travar ls, então pressione Ctrl-C para abortá-lo.

Depois de removê-lo, rmtudo começa a carregar instantaneamente.

Responder2

Tente ls -1 -f /directory se tivermos um grande número de arquivos no diretório.

  • -1lista o nome do arquivo um por linha.
  • -fdesativa a classificação.

Responder3

a criação de centenas de milhares de arquivos pode ter criado muitas extensões de sistema de arquivos que não são necessariamente removidas quando os arquivos são removidos. Obtenha uma "pontuação de fragmentação" com:

sudo e4defrag -c ~/

e se a pontuação for ruim (acima de 50, digamos), use o mesmo comando sem o sinalizador '-c' para desfragmentar o sistema de arquivos.

Responder4

A maioria dos sistemas de arquivos não compacta diretórios após exclusões. O que funcionou para mim é a resposta para issopergunta mais antiga:

  • Criar uma nova pasta
  • Copie arquivos e pastas existentes para a nova pasta
  • Exclua a pasta lenta
  • Renomeie o novo nome da pasta para o nome da pasta antiga

informação relacionada