So ermitteln Sie die Größe einer Datei oder eines Verzeichnisses unter Linux

Wenn Sie den Linux-Befehl du verwenden, erhalten Sie sowohl die tatsächliche Festplattennutzung als auch die wahre Größe einer Datei oder eines Verzeichnisses. Wir erklären, warum diese Werte nicht gleich sind.

Tatsächliche Festplattennutzung und wahre Größe

Die Größe einer Datei und der Platz, den sie auf Ihrer Festplatte einnimmt, sind selten gleich. Der Speicherplatz wird in Blöcken zugewiesen. Wenn eine Datei kleiner als ein Block ist, wird ihr trotzdem ein ganzer Block zugewiesen, da das Dateisystem keine kleinere Grundeinheit zur Verfügung hat.

Sofern die Größe einer Datei nicht ein genaues Vielfaches von Blöcken ist, muss der von ihr belegte Speicherplatz auf der Festplatte immer auf den nächsten ganzen Block aufgerundet werden. Wenn eine Datei beispielsweise größer als zwei Blöcke, aber kleiner als drei ist, werden dennoch drei Blöcke Speicherplatz benötigt, um sie zu speichern.

In Bezug auf die Dateigröße werden zwei Messungen verwendet. Die erste ist die tatsächliche Größe der Datei, d. h. die Anzahl der Inhaltsbytes, aus denen die Datei besteht. Die zweite ist die effektive Größe der Datei auf der Festplatte. Dies ist die Anzahl der Dateisystemblöcke, die zum Speichern dieser Datei erforderlich sind.

Ein Beispiel

Schauen wir uns ein einfaches Beispiel an. Wir leiten ein einzelnes Zeichen in eine Datei um, um eine kleine Datei zu erstellen:

echo "1" > geek.txt

geek.txt“-Befehl in einem Terminalfenster.‘ width=“646″ height=“57″ onload=“pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);“ onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Jetzt verwenden wir die lange Formatauflistung ls, um die Dateilänge zu überprüfen:

ls -l geek.txt

Der

Die Länge ist der numerische Wert, der den Dave-Dave-Einträgen folgt, dh zwei Byte. Warum sind es zwei Byte, wenn wir nur ein Zeichen an die Datei gesendet haben? Schauen wir uns an, was in der Datei passiert.

Wir verwenden den Befehl hexdump, der uns eine genaue Byte-Anzahl gibt und uns ermöglicht, zu „sehen“ nicht druckbare Zeichen als Hexadezimalwerte. Wir verwenden auch die Option -C (kanonisch), um zu erzwingen, dass die Ausgabe hexadezimale Werte im anzeigt