尋找檔案大小(以 MB 為單位)

尋找檔案大小(以 MB 為單位)

如何在 UNIX 命令列中尋找檔案大小(以 MB 為單位)?

答案1

如果您的ls支援--block-size(例如 GNU coreutils)ls支援:

ls -s --block-size=1048576 filename | cut -d' ' -f1

答案2

du -h file

或者

ls -lh file

編輯

這個答案是錯誤的,因為它也可以以 Gb/Kb 為單位報告大小,這取決於檔案的大小。請刪除贊成票

答案3

我傾向於使用“du -k myfile”來獲取千字節並在視覺上刪除最後三位數字,但我只是在尋找大概的大小。

結果 du 經常(總是?)有 MB 的 -m 選項。

請記住,檔案的大小可能與使用的磁碟空間量略有不同,因為磁碟分配以區塊而不是位元組為單位。

如果您因為磁碟空間不足而正在尋找「胖」文件,那麼這將是一個更具啟發性的問題,因為解決方案會更加多樣化。

答案4

stat可以做到這一點。

$ ls -l | grep myfile
-rw-------  1 rory rory      3120 2009-07-02 16:58 myfile
$ stat -c '%s' myfile
3120

以位元組提供給您。

您可以使用 bash 的算術來計算兆位元組:

$ echo $(( $( stat -c '%s' myfile ) / 1024 / 1024 ))
0

(但在這種情況下它會四捨五入)

相關內容