
Wie findet man die Dateigröße in MB in der UNIX-Befehlszeile?
Antwort1
Wenn Ihr ls
System --block-size
beispielsweise GNU Coreutils ls
unterstützt:
ls -s --block-size=1048576 filename | cut -d' ' -f1
Antwort2
du -h file
ODER
ls -lh file
BEARBEITEN
diese Antwort ist falsch, da die Größe je nach Dateigröße auch in GB/KB angegeben werden kann.Bitte entfernen Sie Upvotes.
Antwort3
Ich verwende normalerweise „du -k myfile“, um KBytes zu erhalten und die letzten drei Ziffern optisch wegzulassen, aber ich suche nur nach der ungefähren Größe.
Es stellt sich heraus, dass du oft (immer?) die Option -m für MB hat.
Bedenken Sie, dass die Dateigröße wahrscheinlich leicht von der Menge des verwendeten Speicherplatzes abweicht, da die Festplattenzuweisung in Blöcken und nicht in Bytes erfolgt.
Wenn Sie aufgrund von geringem Speicherplatz nach „fetten“ Dateien suchen, wäre dies eine aufschlussreichere Frage, da die Lösungen vielfältiger wären.
Antwort4
stat
kann dies tun.
$ ls -l | grep myfile
-rw------- 1 rory rory 3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120
die es Ihnen in Bytes geben.
Sie können die Megabyte mit der Arithmetik von Bash berechnen:
$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0
(in diesem Fall wird es jedoch abgerundet)