Shell脚本得到文件夹大小

2024年11月17日 05:32
有2个网友回答
网友(1):

ls -ld 文件夹路径 | awk '{print int($5/1024)}'
或者:
du -b 文件夹路径 | awk '{print int($1/1024)}'

跟你上面计算文件大小类似,得到的都是以KB为单位的大小。
如果要以Byte为单位,不要除以1024也不要int取整就是了。

注意:Linux的ext2或ext3文件系统会给目录分配一个inode块(索引节点),用来记录文件信息,所以文件夹的大小不是简单地将其中文件大小累加就能得到的,还包括了这个索引节点的大小。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。

网友(2):

进入该文件及,执行 ll -t |awk '{if(NR>1) a+=$5} END {print a/1024/1024}' 单位M