Gibt es eine Möglichkeit, Thunar dazu zu bringen, die Dateigröße „rekursiv“ anzuzeigen?

Gibt es eine Möglichkeit, Thunar dazu zu bringen, die Dateigröße „rekursiv“ anzuzeigen?

Ich verwende Thunar 1.6.3 und wenn ich mir derzeit mehrere Ordner ansehe, sieht es ungefähr so ​​aus:

Folder 1        8,2 kB
Folder 2        4,1 kB
Folder 3        4,1 kB
Folder 4        0   kB

Ich bin nicht sicher, woher diese „Größen“-Zahlen kommen, aber ich bin sicher, dass sie nicht die tatsächliche Größe aller Inhalte der Ordner widerspiegeln, denn wenn ich mit der rechten Maustaste klicke und „Eigenschaften“ wähle, summieren sich die Ordner (alle nur Kilobyte groß) auf über 100 GB.

Fragen

  • Warum zeigt Thunar, genau wie die Befehlszeile in 12.04 und 14.04, Ordnergrößen von 4 KB an? Was bedeutet diese Zahl?
  • Gibt es eine Möglichkeit, stattdessen die zusammengesetzte Größe, also die berechnete rekursive Größe des Ordners und seines gesamten Inhalts, im Terminal, in Thunar oder einem anderen Dateimanager anzuzeigen? (NB: Ich suche nicht nach einer Shell-Skript-Lösung).

Antwort1

Ich sollte dazu ein wenig auf die Struktur des Linux-Dateisystems eingehen. Die meisten Linux-Dateisysteme machen etwas Ähnliches, aber ich gehe von ext4 aus, was derzeit der Standard ist.

Dateisystemstruktur

  • Inode ist der Basisblock, den das Dateisystem als logische Einheit versteht.
  • Ein Verzeichnis-Inode enthält Verweise auf andere Inodes.
  • Ein Datei-Inode enthält die Metadaten, die eigentlichen Daten und Verweise auf Fortsetzungsblöcke, falls die Datei nicht zusammenhängend gespeichert werden musste.

Links

  • Ext4 unterstützt zwei Arten von Links: Harte und weiche.
  • Ein Hardlink ist ein direkter Verweis auf einen Inode. Jede Datei hat mindestens einen Hardlink aus dem Verzeichnis, zu dem sie gehört.
  • Da ein Verzeichnis nur ein Inode mit Informationen zu einer Gruppe von Inode-Referenzen ist, kann es auf sich selbst oder ein übergeordnetes Element verweisen. Mit anderen Worten: Ein Ordner kann sowohl untergeordnet als auch übergeordnetes Element desselben Ordners sein.

Okay, das kann verwirrend sein. Lassen Sie es mich erklären. Nehmen wir an, Sie haben drei Ordner, A, B, C, wie folgt.

C is in B.  
B is in A.

Das Interessante daran ist, dass C auf denselben Inode wie A zeigen kann, wodurch eine sogenannte zirkuläre Referenzschleife entsteht. Wenn Sie versuchen, rekursiv zu arbeiten, werden Sie auf eine Endlosschleife stoßen.

  • Softlinks sind normale Dateien, die den Verzeichnispfad zu ihrem Zielort aufzeichnen. Sie sind im Dateisystem lediglich so gekennzeichnet, dass sie nicht als Textzeile, sondern als Link zu einem anderen Ort interpretiert werden sollen. Nautilus erstellt beispielsweise Softlinks, wenn Sie die Optionen „Link erstellen“/„Hier verlinken“ verwenden.

Na und?

Daher hat der Versuch, Größen rekursiv zu berechnen, seine Tücken. Es ist keine gute Idee, standardmäßig zu versuchen, Größen rekursiv zu berechnen. Allerdings zeigen die Eigenschaftendialoge aller mir bekannten anständigen Dateimanager rekursiv berechnete Gesamtgrößen an, weil das das ist, was ein normaler Benutzer erwartet.

Windows hat kein Problem?

Tatsächlich verwendet Windows ein anderes Dateisystemformat namens NTFS, das eine Liste aller Dateien und ihrer Größe verwaltet. So lässt sich die Gesamtgröße immer problemlos ermitteln.

Warum verwenden wir dann nicht NTFS?

Es unterstützt nicht das Unix-Konzept von Berechtigungen ( rwxseparat für Besitzer, Gruppe und Universum) und ist allein aus diesem Grund nicht als Linux-Dateisystem geeignet. Ext4 hat so viel zu bieten, dass diese kleine Unannehmlichkeit vielen egal ist.

Alles klar. Gib mir die Größe, die ich brauche.

Hast du versucht du?

Wie dufunktioniert?

dusteht für die Festplattennutzung. Es zählt tatsächlich die Inode-Blöcke und achtet darauf, sie nicht doppelt zu zählen. Addiert man die Größen, erhält man die Gesamtgröße.

Kurz zusammengefasst

Verwenden Sie diese Option du -hs <foldername>, um die tatsächliche Größe des Ordners auf der Festplatte zu ermitteln. Lesen Sie weiter, man duum weitere Informationen zu erhalten.

Antwort2

BeiThunfischGehen Sie im oberen Menü zu Bearbeiten > Benutzerdefinierte Aktionen konfigurieren und fügen Sie eine neue benutzerdefinierte Aktion hinzu mit:

  1. BasicRegisterkarte: beliebiger Name (z. B. Ordner-Dateigröße), Befehl du -h -c %N | grep total | zenity --text-infooder du -chs %N | zenity --text-infofür den ausgewählten Ordner und/oder die ausgewählte Dateigröße, gefolgt von der Gesamtgröße.
  2. ErscheinungsbedingungenRegisterkarte: Aktivieren Sie alle Kontrollkästchen.

Diese Lösung fand ich beihttp://crunchbang.org

Antwort3

Eine kleine Kuriosität zu diesem Thema, die speziell Thunar betrifft, ist, dass Thunar mit oder ohne die Option --apparent size andere Größen meldet als du. Ich denke, die bereitgestellte Antwort für du gibt einen Hinweis darauf, warum das so sein könnte (vielleicht zählt Thunar diese gleichen Dinge tatsächlich etwas anders, was auch immer das sein mag). Beispiel: Gleicher Ordner: (x ist der Rest, den ich nicht aufgeschrieben habe) du ohne --apparent-size: 19,x GB du mit --apparent-size:12,x GB Thunar 5,5x GB Thunar-Wert in Klammern: 5,9x GB Ich würde wahrscheinlich letztendlich die Ausgabe von du nehmen (da sie so alt ist), aber das ist trotzdem interessant.

verwandte Informationen