Existe um limite de itens para o explorador de arquivos?

Existe um limite de itens para o explorador de arquivos?

Esta é uma pergunta sobre o Xubuntu 14.04.

Para encurtar a história, tive que usar o programa recuperarjpeg para restaurar algumas fotos das quais esqueci de fazer backup após uma nova instalação. Isso resultou em 850 mil arquivos sendo colocados em minha pasta pessoal e agora ele não será carregado. Quando vou para casa/[nome de usuário], ele simplesmente gira, mesmo após a reinicialização, e diz apenas "carregando o conteúdo da pasta". Já se passaram horas. Devo apenas esperar ou há outro aplicativo de pasta que eu possa carregar para tornar esses arquivos acessíveis? São arquivos de imagem muito importantes, por isso não posso correr o risco de perdê-los. Isso também significa que não consigo carregar nada na pasta inicial (documentos, downloads, etc.) na GUI OU no terminal.

Qualquer conselho é apreciado. Não tenho certeza do que fazer nesse ponto. Os arquivos não são meus e se eu não conseguir recuperá-los posso morrer. Obrigado.

Responder1

A solução mais simples seria mover os arquivos para um diretório diferente. Dessa forma, pelo menos a sua $HOMEvontade será carregada. Abra um terminal e execute estes comandos:

mkdir jpeg-dir
find . -maxdepth 1 -type f -iname '*jpg' -or -iname '*jpeg' -exec mv {} jpeg-dir +

Isso moverá todos os arquivos cujo nome termina em jpg, jpeg, JPEG, JPGetc, para ~/jpeg-dir. Isso deve permitir que você carregue seu diretório pessoal normalmente.

No entanto, isso significa que agora você terá problemas para visualizar o jpeg-dirdiretório. Então, agora que você tem tudo em ~/jpeg-dir, você pode criar subdiretórios, cada um contendo, por exemplo, 5.000 arquivos:

cd ~/jpeg-dir
jpegs=(*)
c=0; 
for((i=0;i<${#jpeg[@]};i+=1500)); do 
    let c++ 
    mkdir -p dir"$c"
    mv "${jpegs[@]:$i:1500}" dir"$c"
done

Responder2

O que está acontecendo é que o gerenciador de arquivos está criando uma lista (com ls) e isso vai demorar muito quando houver muitos arquivos.

Então a primeira coisa a fazer é limpar /home/$USER/. Entre no modo console.

cd ~
mkdir tmp

Isso criará um tmpdiretório em seu /home/$USER/.

Agora faça um ls -l | moree pressione Enter para ter uma ideia dos nomes desses arquivos; em geral esses arquivos terão uma extensão específica. Vamos supor que todos terminem em *.ext(substitua pelo que você precisa no comando abaixo). Em seguida, mova todos esses arquivos para ~/tmp/:

 echo !(*.ext) | xargs mv -t ~/tmp/

Tenha cuidado com o que você digita (*.ext)e certifique-se de incluir tudo o que deve permanecer no arquivo /home/$USER/.

Isso proporcionará a você um desktop funcional e um arquivo /home/. Se você fizer uma inspeção lsinterna ~/tmp/, ainda terá problemas.


2ª parte do problema. O método mais fácil seria fazer com que um script colocasse todos esses arquivos em subdiretórios:essea resposta no SO parece ser perfeita para isso.

informação relacionada