it-swarm.com.de

ls-Befehl: Wie wird die Dateigröße in Megabyte angezeigt?

Wie kann ich unter Unix (Tru64) mit dem Befehl ls die Dateigröße in Megabyte anzeigen lassen? Derzeit kann ich es in Bytes anzeigen, indem ich Folgendes verwende:

ls -la
156
atricapilla

Möglicherweise reicht -h für Sie aus:

-h
Verwenden Sie bei Verwendung der Option -l die Einheitensuffixe: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte und Petabyte, um die Anzahl der Stellen mit Basis 2 für auf drei oder weniger zu reduzieren Größen.

ls -lah

Allgemeine Hinweise: Verwenden Sie man commandname, um das Handbuch/die Hilfe eines bestimmten Befehls zu lesen, z. hier man ls.

239
Felix

ls --block-size=M gibt die Größe in Megabyte aus, zeigt aber auch 1 MB für alles unter 1 MB an. Ich bin mir nicht sicher, ob diese Option in Ihrer UNIX-Version von ls akzeptabel ist.

Tatsächlich druckt ls -lh auch Größen in Gigabyte, wenn die Datei groß genug ist (Na ja: auf Linux 64bit funktioniert das:>)

Auf einem Nebenknoten: du -sh * gibt auch die Verzeichnisgrößen im aktuellen Verzeichnis aus.

32
Jan.

Sie müssen awkverwenden, um die Mathematik für Sie durchzuführen:

ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'

Dies hat keine Auswirkungen auf die Ausgabe von Dateien, die kleiner als megasind.

Möglicherweise müssen Sie die Feldnummer anpassen, um sie an die Anordnung Ihrer lsanzupassen. Sie können megain "1000000" ändern, wenn dies Ihre Präferenz ist.

Dadurch werden mehr Dezimalstellen ausgegeben, als Sie wahrscheinlich möchten. Sie können eine Rundungsfunktion implementieren.

15

versuchen Sie ls -shR für ein rekursives lesbares Format.

14
Sorter

versuchen Sie ls -lash, es druckt Größen in lesbarem Format

8
iddqd

du -sm filename.txt

5
Ether

Sie können auch eingeben

du -sh ./*

Hiermit werden alle Ordner im aktuellen Verzeichnis im für Menschen lesbaren Format aufgelistet, einschließlich der bekannteren Dateigrößen in KB, MB, GB.

5
Keng

Wenn Sie nur die Größe einer bestimmten Datei benötigen, lautet der Befehl, eine einfache Extrapolation der vorherigen Antworten, wie folgt:

ls -sh dateiname (n)

-s ist für Größe und die h ist für Menschen lesbar (wie oben einige Male erwähnt).

Die Ausgabe sieht folgendermaßen aus:

753M myfilename

Wenn Sie den oder die Dateinamen weglassen, wird das Verzeichnis aufgelistet, wobei die Größe jeder Datei neben dem Namen steht - nicht anders, als wenn ls -la ohne Dateinamenargumente aufgerufen wird.

Hoffe das hilft.

2
Rob Jones
ls -l --block-size=MB 

Für den Parameter --block-size:

  • benutze MB für 10 ^ 6
  • benutze nur M für 2 ^ 20
0
Evan

Wenn Sie nur an der Dateigröße interessiert sind und den Befehl ls nicht verwenden müssen, versuchen Sie Folgendes:

# echo "Hello World" > file.txt
# ls -l file.txt 
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12

Dadurch wird die Dateigröße gedruckt, ohne dass eine Analyse durchgeführt werden muss.

0
SKN