一、统计某个目录的文件和子目录的大小
1、stat指令
stat命令 主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:
-f
不显示文件本身的信息,显示文件所在文件系统的信息-L
显示符号链接-t
简洁模式,只显示摘要信息
如:
2、wc命令
wc指令可以计算文件的列数、字数和Byte数。
-c
: Byte数-l
: 文件行数- 如
wc xx.txt
不指定参数,依次为:文件的列数、字数和Byte数。
3、du命令
du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。
du -b xx.txt
参数-b表示以字节计数
du -h filepath
直接得出容易识别的文件大小
# 查看当前目录每个子目录所占大小
du -sh * | sort -nr
4、ls命令
ls -h filepath
h表示human, 加-h参数得到人容易读的文件大小
二、统计当前目录下的文件个数
在linux系统中,可以使用 ls 命令查看有多少个文件,该命令用于显示指定目录下的内容,当参数设置为 “wc -c” 时,可显示目录下的文件个数。
语法为:ls 目录路径 | wc -c
;可用 sudo ls /* | wc -c
查看整个电脑的目录数目。
# 不包含目录或子文件夹
ls -l | grep "^-" | wc -l
# 包含目录或子文件夹
ls -lR | grep "^-" | wc -l
# 统计:/root/data/files/ 目录下的文件个数
ls -l /root/data/files/ | grep "^-" | wc -l
命令解释:
1、wc -l
:统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。
2、ls -l
:长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应—个文件或目录,ls -IR是列出所有文件,包括子目录中的文件。
-R
:递归列出目录的子文件。
3、 grep "^-"
:过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"
。