GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erhalte ich die physische Größe einer Datei unter Linux?

ls -l gibt Ihnen die scheinbare Größe der Datei an, d. h. die Anzahl der Bytes, die ein Programm lesen würde, wenn es die Datei von Anfang bis Ende lesen würde. du würde Ihnen die Größe der Datei "auf der Festplatte" geben.

Standardmäßig du gibt Ihnen die Größe der Datei in Anzahl der Plattenblöcke an, aber Sie können -h verwenden um stattdessen eine menschenlesbare Einheit zu erhalten. Siehe auch Handbuch für du auf Ihrem System.

Beachten Sie das mit du von GNU coreutil (was Sie wahrscheinlich unter Linux haben), -b Um Bytes zu erhalten, ist --apparent-size erforderlich Möglichkeit. Dies ist nicht das, was Sie verwenden möchten, um die Anzahl der tatsächlich auf der Festplatte verwendeten Bytes zu ermitteln. Verwenden Sie stattdessen --block-size=1 oder -B 1 .

Mit GNU ls , können Sie auch ls -s --block-size=1 ausführen auf der Datei. Dies ergibt dieselbe Nummer wie du -B 1 für die Datei.

Beispiel:

$ ls -l file
-rw-r--r--  1 myself wheel  536870912 Apr  8 11:44 file

$ ls -lh file
-rw-r--r--  1 myself wheel   512M Apr  8 11:44 file

$ du -h file
24K    file

$ du -B 1 file
24576   file

$ ls -s --block-size=1 file
24576 file

Dies bedeutet, dass es sich um eine 512-MB-Datei handelt, die etwa 24 KB auf der Festplatte belegt. Es ist ein sparse Datei (meistens Nullen, die nicht wirklich auf die Festplatte geschrieben werden, sondern als logische "Löcher" in der Datei dargestellt werden). Sparse-Dateien sind üblich, wenn mit vorab zugewiesenen großen Dateien gearbeitet wird, z. Disk-Images für virtuelle Maschinen oder Auslagerungsdateien usw. Das Erstellen einer Sparse-Datei ist schnell, während das Füllen mit Nullen langsam (und unnötig) ist.

Siehe auch das Handbuch für fallocate auf Ihrem Linux-System.


Ich erhalte die Dateigröße in Bytes wie folgt:

actualsize=$(du -b "${file}" | cut -f 1)

Linux
  1. So verwenden Sie den Tar-Befehl unter Linux

  2. Linux – Wie bekomme ich Sar für den Vortag angezeigt?

  3. So erhöhen Sie die Swap-Größe unter Ubuntu Linux

  4. Wie erstelle ich eine Datei mit einer bestimmten Größe in Linux?

  5. Wie erhalte ich die Anzahl der physischen Festplatten in Linux?

So erhalten Sie die Größe eines Verzeichnisses in Linux

So fügen Sie Text am Anfang einer Datei in Linux hinzu

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

Wie verwende ich den Gzip-Befehl unter Linux?

Wie bekomme ich die Datei-/Ordnergröße mit SSH unter Linux?