Wie kann ich unter Unix (Tru64) festlegen, dass der ls
Befehl die Dateigröße in Megabyte anzeigt? Derzeit kann ich es in Bytes anzeigen, indem ich Folgendes verwende:
ls -la
command-line
unix
ls
mega
phuclv
quelle
quelle
ls --block-size=M
druckt die Größen in Megabyte, zeigt aber auch 1 MB für alles unter 1 MB. Ich bin mir nicht sicher, ob diese Option in Ihrer UNIX-Version von ls akzeptabel ist.Eigentlich
ls -lh
druckt auch Größen in Gigabytes , wenn die Datei groß genug ist (Na ja sowieso: auf Linux 64bit dies funktioniert:>)Auf einem Nebenknoten:
du -sh *
Druckt auch Verzeichnisgrößen im aktuellen Verzeichnis.quelle
ls -h
ist bedeutungslos, nachdem eine Dateiwhile true ; do ls -al --block-size=M ; sleep 1 ; done
Sie müssen verwenden
awk
, um die Mathematik für Sie zu erledigen:Dies wirkt sich nicht auf die Ausgabe von Dateien aus, die kleiner als sind
mega
.Möglicherweise müssen Sie die Feldnummer so anpassen, dass sie mit Ihrer
ls
Anordnung übereinstimmt . Sie könnenmega
zu "1000000" wechseln , wenn dies Ihre Präferenz ist.Dadurch werden mehr Dezimalstellen ausgegeben, als Sie wahrscheinlich möchten. Sie können eine Rundungsfunktion implementieren.
quelle
ls -lh
oderls --block-size=M
, aber AWK ist sehr nützlich!versuchen Sie es
ls -shR
mit einem rekursiven lesbaren Format.quelle
-h
auf Tru64 keine gibt , und zwar mehr als zwei Jahre, bevor diese Antwort veröffentlicht wurde.Versuchen Sie
ls -lash
, es druckt Größen in lesbarem Formatquelle
du -sm filename.txt
quelle
Sie können auch eingeben
Hiermit werden alle Ordner im aktuellen Verzeichnis im für Menschen lesbaren Format aufgelistet, einschließlich der bekannteren Dateigrößen in KB, MB, GB.
quelle
Wenn Sie nur die Größe einer bestimmten Datei benötigen, lautet der Befehl, eine einfache Extrapolation der vorherigen Antworten, wie folgt:
-s
ist für Größe undh
ist für Menschen lesbar (wie oben einige Male erwähnt).Die Ausgabe sieht folgendermaßen aus:
Wenn Sie die Dateinamen weglassen, wird das Verzeichnis aufgelistet, wobei die Größe jeder Datei neben dem Namen steht - ähnlich
ls -la
wie beim Aufruf ohne Dateinamenargumente.Hoffe das hilft.
quelle
-h
bezieht sich auf Tru64 Unix, und das OP hat vor fast fünf Jahren festgestellt, dass die Option inls
diesem System nicht vorhanden ist.Für den
--block-size
Parameter:MB
für 10 ^ 6M
für 2 ^ 20quelle
1MB
. Aus diesem Grund fand ichls -l --block-size=kB
nützlicher.Wenn Sie nur an der Dateigröße interessiert sind und den
ls
Befehl nicht verwenden müssen , versuchen Sie Folgendes:Dadurch wird die Dateigröße gedruckt, ohne dass eine Analyse durchgeführt werden muss.
quelle