查找文件大小(以 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

(但在这种情况下会将其四舍五入)

相关内容