Answers:
也许-h
对您来说足够了:
-h
与-l选项一起使用时,请使用单位后缀:字节,千字节,兆字节,千兆字节,太字节和PB,以便使用以2为基数的大小将位数减少到三位或更少。
ls -lah
一般建议:man commandname
用于阅读某些命令的手册/帮助,例如,此处man ls
。
ls --block-size=M
打印以兆字节为单位的大小,但对于1 MB以下的任何内容也显示1MB。不过,我不确定此选项在您的UNIX版本的ls中是否可接受。
ls -lh
如果文件足够大,实际上也可以以GB为单位打印大小(无论如何:在Linux 64位上,它确实可以工作:>)
在侧面节点上:du -sh *
在当前目录中也打印目录大小。
ls -h
文件增长到1GB以上后,使用毫无意义,因此我在1秒的循环中使用此命令:while true ; do ls -al --block-size=M ; sleep 1 ; done
您将不得不使用它awk
来为您做数学:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
这不会影响小于的文件的输出mega
。
您可能需要调整字段编号以匹配您ls
的布局方式。如果您mega
愿意,可以将其更改为“ 1000000”。
这将打印出更多的小数位数,而不是您想要的。您可以实现舍入功能。
ls -lh
or 优雅得多ls --block-size=M
,但是AWK非常有用!
尝试ls -shR
使用递归的人类可读格式。
-h
Tru64 上没有此功能,并且在发布此答案的两年前就这样做了。
ls -l --block-size=MB
对于--block-size
参数:
MB
为10 ^ 6M
用于2 ^ 201MB
。因此,我发现ls -l --block-size=kB
它更有用。
如果您仅对文件大小感兴趣,而不必使用该ls
命令,请尝试以下操作:
# 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
这将打印文件大小,而无需解析任何内容。