Skip to content

文件目录大小及数量查询

查看文件(夹)大小

1. 只查看当前目录下文件大小

在Linux中,可以使用以下命令查看文件夹的大小:

bash
du -sh *    #查询当前目录下所有子目录总大小 , * 指所有目录,如果只要查询某个目录 替换掉*即可

du -sh * | sort -nr   # 按照从大到小的方式排序
du -s * | sort -nr | head  #选出排在前面的10个, 可以自选数量 du -s * | sort -nr | head -5。
du -s * | sort -nr | tail  #选出排在后面的10个, 可以自选数量 du -s * | sort -nr | tail -5。

image-20240906164120734

du参数解释:

  • -h或–human-readable: 以K,M,G为单位,提高信息的可读性
  • -s或–summarize:仅显示总计,即当前目录的大小。

2. 查看当前目录及子目录文件大小

按照文件从大到小排序查看当前目录下(包括子目录文件大小)前5个文件

bash
du -ah | sort -rn | head -5

按照文件从大到小排序查看当前目录下(包括子目录文件大小)倒数5个文件

bash
du -ah | sort -rn | tail -5

3. ls命令配合du命令

bash
ls -l | grep '^d' | awk '{print $9}' | xargs -I {} du -sh {}

这个命令首先通过ls命令列出当前目录下的所有文件和文件夹,然后使用grep过滤出文件夹行,再使用awk提取文件夹名称,并通过xargs将每个文件夹传递给du命令来获取其大小。

查看文件个数

1. 只查看文件夹下的文件个数(当前目录的文件数)

bash
ls -l |grep  "^-" | wc -l   # 该命令只查看到当前目录下文件的个数,不包含子目录、以及子目录下的文件。

说明:

  • ls -l:长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

  • grep ^-:这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

  • wc -l:统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

2. 查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数)

bash
find ./ -type f | wc -l

剩余空间

1. 查看磁盘信息

bash
df -h   #  -h 选项为根据大小适当显示

2. 当前目录剩余空间

bash
df -h .

该命令会显示当前目录所在的文件系统的磁盘空间信息,包括已使用空间、可用空间和文件系统挂载点。选项"-h"可以以人类可读的方式显示磁盘空间大小。点号"."表示当前目录。

3. 查看文件系统大小

bash
df -h <文件夹路>

这个命令会以人类可读的格式显示文件系统的使用情况,其中包括指定文件夹的大小。