Gibt es eine Elementbegrenzung für den Datei-Explorer?

Gibt es eine Elementbegrenzung für den Datei-Explorer?

Dies ist eine Frage zu Xubuntu 14.04.

Um es kurz zu machen: Ich musste das Programm recoverjpeg verwenden, um einige Fotos wiederherzustellen, die ich nach einer Neuinstallation vergessen hatte zu sichern. Dies führte dazu, dass 850.000 Dateien in meinen Home-Ordner verschoben wurden und dieser nun nicht mehr geladen werden kann. Wenn ich zu home/[Benutzername] gehe, dreht es sich einfach, sogar nach einem Neustart, und sagt nur „Ordnerinhalt wird geladen“. Das ist schon Stunden her. Soll ich einfach warten oder gibt es eine andere Ordner-App, die ich laden kann, um diese Dateien zugänglich zu machen? Es sind sehr wichtige Bilddateien, daher kann ich nicht riskieren, sie zu verlieren. Das bedeutet auch, dass ich weder in der GUI NOCH im Terminal irgendetwas im Home-Ordner (Dokumente, Downloads usw.) laden kann.

Jeder Ratschlag ist willkommen. Ich bin mir an diesem Punkt nicht sicher, was ich tun soll. Die Dateien gehören nicht mir und wenn ich sie nicht wiederherstellen kann, sterbe ich vielleicht. Danke.

Antwort1

Die einfachste Lösung wäre, die Dateien in ein anderes Verzeichnis zu verschieben. Auf diese Weise $HOMEwerden sie zumindest geladen. Öffnen Sie ein Terminal und führen Sie diese Befehle aus:

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

Dadurch werden alle Dateien, deren Name auf jpg, jpeg, JPEG, JPGusw. endet, nach verschoben ~/jpeg-dir. Damit sollte Ihr Home-Verzeichnis normal geladen werden können.

Das bedeutet jedoch, dass Sie das Verzeichnis jetzt nicht mehr sehen können jpeg-dir. Nachdem Sie nun alles in haben ~/jpeg-dir, können Sie Unterverzeichnisse erstellen, von denen jedes beispielsweise 5000 Dateien enthält:

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

Antwort2

Was passiert, ist, dass der Dateimanager eine Liste (mit) erstellt lsund das wird sehr, sehr lange dauern, wenn viele Dateien vorhanden sind.

Als Erstes müssen Sie /home/$USER/ aufräumen. Wechseln Sie in den Konsolenmodus.

cd ~
mkdir tmp

Dadurch wird ein tmpVerzeichnis in Ihrem /home/$USER/ erstellt.

Führen Sie nun einen aus ls -l | moreund drücken Sie die Eingabetaste, um eine Vorstellung davon zu bekommen, wie diese Dateien heißen. Im Allgemeinen haben diese Dateien eine bestimmte Erweiterung. Nehmen wir an, dass sie alle mit enden *.ext(ersetzen Sie es im folgenden Befehl durch das, was Sie brauchen). Verschieben Sie dann alle diese Dateien ~/tmp/mit:

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

Achten Sie bei der Eingabe auf Ihre Angaben (*.ext)und stellen Sie sicher, dass Sie alles einschließen, was darin enthalten sein soll /home/$USER/.

Damit erhalten Sie einen funktionierenden Desktop und . Wenn Sie es innen /home/machen, werden Sie immer noch auf Probleme stoßen.ls~/tmp/


2. Teil des Problems. Die einfachste Methode wäre, ein Skript zu verwenden, das alle diese Dateien in Unterverzeichnisse verschiebt:DasDie Antwort auf SO scheint dafür perfekt zu sein.

verwandte Informationen