查找 Linux 上目录中所有文件的总大小
您可以使用各种类型的命令来获取 Linux 上目录中所有文件的总大小。 Linux中也有一些GUI工具可以以更简单的格式显示目录的总大小。
获取有关目录的正确信息可以帮助用户找到整个系统的存储分配。这就是为什么 Linux 用户总是寻找方法来查找目录的总大小。
在本指南中,我们将解释在 Linux 上查找目录中所有文件总大小的各种方法。
查找 Linux 上目录中所有文件的总大小
让我们从可以尝试显示目录中文件的正确大小的命令开始 -
杜指挥部
默认情况下,大多数 Linux 发行版都包含 du 命令,它代表磁盘使用情况。通过这个命令,您可以获取多种格式的目录大小,所以让我们简单地运行 du 命令 -
~$: du
830720 ./Information
166144 ./Images
996868
当您键入不带参数的 du 命令时,它仅显示总目录大小(以千字节为单位)。因此,如果您只想查找当前目录的大小,不包括子目录,您可以使用 --summarize 或 -s 选项 -
~$: du -s
996868 .
您可以使用“-h”选项以更易读的格式获取输出。
~$: du -h
812M ./Information
163M ./Images
974M .
~$: du -sh
974M .
数字表示已使用的空间,字母 M、G 和 K 定义兆字节、千兆字节和千字节。
额外提示 - du 命令默认告知目录的大小。您可以通过在 du 命令中添加 --apparent-size 选项来找到其表观大小。
~$: du -sh --apparent-size
973 .
“表观大小”是指目录的实际大小。如果您想查看特定目录而不是当前目录的大小,可以使用以下命令 -
~$: du -sh ~/Documents
974M /home/prateek/Documents
注意 - 您可能会在某些条目中发现错误,因为您没有访问该目录的权限。使用 sudo /su 命令获取管理员权限,这将消除您的错误。
您可以按照您想要的格式获取目录大小。为此,您需要添加大小格式,例如“k”(表示千字节)或“m”(表示兆字节),如下所示 -
~$: du -k ~/Documents
830720 /home/prateek/Documents/Information
166144 /home/prateek/Documents/Images
996868 /home/prateek/Documents
使用 du 命令的 -c 选项来查找目录的总大小 -
~$: du -sch
974 .
974 total
您可以使用以下 du 命令找到不包括某些文件的目录大小 -
~$: du -sch --exclude '*.sh'
974 .
974 total
上面的命令显示目录大小,不包括提到的文件的大小。使用“最大深度”选项,您可以将扫描限制设置为特定级别。
du -hc --max-depth=N <path of the directory>
Or
du -dN -hc
这里,N 表示目录的级别。例如,让我们扫描子目录的第一层 -
~$: du -hc --max-depth=1
4.0K ./Pictures
974M ./Documents
4.0K ./Music
12K ./.gnupg
113M ./snap
60M ./.cache
776K ./.config
664K ./.local
4.0K ./Desktop
4.0K ./Videos
4.0K ./.ssh
4.0K ./Templates
4.0K ./Public
8.0K ./opt
4.0K ./Downloads
1.2G
1.2G total
您会注意到,在上面的命令中,我们删除了 -s 参数并使用了 -d 参数,以便您可以了解特定目录占用了多少空间。这样就可以了解多个目录级别的大小。
使用带有 -a 标志的 du 命令,您可以获得目录大小及其文件和子目录。
du -ah
要根据子目录使用的磁盘大小对子目录进行排序,请使用以下命令 -
~$: du -h --max-depth=N | sort -hr
974 .
812 ./Information
163 ./Images
使用最大空间的子目录将显示在顶部。
ncdu 指挥部
ncdu 命令代表“ncdu 磁盘使用情况”,某些 Linux 发行版中并未预安装该命令。您可以使用以下命令轻松安装它 -
sudo apt install ncdu -y (for Ubuntu/Debian)
sudo yum install ncdu (RedHat/CentOS)
此命令显示目录的交互式显示,如下所示 -
ncdu
执行以下命令后,它将显示有关目录总大小的完整信息 -
ncdu 1.15.1 - Use the arrow keys to navigate press ? for help
--- /home/prateek ----------------------------------------------------------
973.5 MiB [####### ##] /Documents
112.4 MiB [# ] /snap
59.2 MiB [ ] /.cache
776.0 KiB [ ] /.config
664.0 KtB [ ] /.local
12.0 KiB [ ] /.gnupg
8.0 KiB [ ] /opt
e 4.0 KiB [ ] /Videos
e 4.0 KiB [ ] /Templates
e 4.0 KiB [ ] /Public
e 4.0 KiB [ ] /Pictures
e 4.0 KiB [ ] /Music
e 4.0 KiB [ ] /Downloads
e 4.0 KiB [ ] /Desktop
e 4.0 KiB [ ] /.ssh
4.0 KiB [ ] .bashrc
4.0 KiB [ ] .bash history
4.0 KiB [ ] .profile
4.0 KiB [ ] .bash_logout
4.0 KiB [ ] TestFile.txt
0.0 B .sudo_as_admin_successful
Total disk usage: 1.1 GiB Apparent size: 1.1 GiB Items: 3924
在左上角,您可以看到当前扫描的目录。您可以在表的第一列中看到目录大小。使用向下和向上箭头,您可以在不同的行之间移动。此外,您可以使用向右箭头浏览目录,使用向左箭头可以退出。
您可以使用 ncdu 命令定义目录路径以定位特定目录。
ncdu /var
该命令将显示以下信息 -
ncdu 1.15.1 ~ Use the arrow keys to navigate, press ? for help
--------/var----------------------------------------------------------------- .
. 2.7 GiB [##########] /lib
. 573.2 MiB [## ] /cache
. 92.2 MiB [ ]/log
3.7 MiB [ ]/snap
3.4 MiB [ ]/backups
. 48.0 KiB [ ]/tmp
. 48.0 KiB [ ]/spool
e 4.0 KiB [ ]/opt
e 4.0 KiB [ ]/metrics
e 4.0 KiB [ ]/mail
e 4.0 KiB [ ]/local
e 4.0 KiB [ ]/crash
@ 0.0 B [ ]lock
@ 0.0 B [ ]run
Total disk usage: 3.3 GiB Apparent size: 3.3 GiB Items: 12731
树命令
树是一个命令行实用程序,以树状格式列出文件或目录。某些版本的 Linux 默认情况下没有 tree 命令,但您的 Linux 存储库中提供了该命令。让我们通过以下命令安装树命令实用程序 -
sudo apt install tree -y (for Ubuntu/Debian)
sudo yum install tree (for RedHat/CentOS)
如果我们不带任何参数运行此命令,它只会列出所有目录和子目录。因此,请使用“-d”和“h”选项,如下所示 -
~$: tree -dh
[4.0K] .
|__ [4.0K] Images
|__ [ 20K] Information
您可以使用上面的命令来查找当前目录的目录大小。这里我们使用,
-d 仅表示目录。
-h 以人类可读的形式读取目录大小。
您还可以通过从上述命令中删除 -d 标志来查找其文件的目录大小。
~$: tree -h
与 du 和 ncdu 命令类似,您也可以在其帮助下查找特定目录的大小。为此,您必须在树命令之后包含目录的路径,如下所示 -
~$: tree -dh ~/Documents
[4.0K] /home/prateek/Documents
|__ [4.0K] Images
|__ [ 20K] Information
额外提示 - 您还可以组合“du”和“tree”命令,如下所示 -
~$: tree --du -h
您可以尝试的 GUI 工具
您可以使用一些工具来了解 Linux 上目录的总大小。在这里,我们只包含开源和免费工具。
QDirStat
它是一个基于 Qt 的文件/目录系统分析器,以像树系统一样的热图表示形式显示目录和文件。借助此工具,您可以了解目录使用情况并通过删除或清理文件等方式清理系统。使用以下命令安装此工具 -
~$: sudo apt install qdirstat -y
您可以通过在终端中输入“qdirstat”或从应用程序菜单中搜索该工具来打开该工具。
文件灯
它是一个非常轻量且易于使用的GUI工具,可以让你以饼图的形式查看目录和文件所占用的空间。它使用同心环来显示目录的大小和使用情况,以便您更好地理解它。您可以通过在终端中运行以下命令来安装它 -
~$: sudo apt install filelight -y
成功安装后,您可以从应用程序菜单打开它或在终端中输入“filelight” -
要查看特定文件或目录的磁盘使用情况,请单击左上角的“扫描”并按照以下步骤操作 -
Scan > Scan folder > The folder/directory you want to scan
结论
Linux下可以通过GUI和CLI方式查看某个目录下所有文件的总大小。如果您是 Linux 新手,您可以使用 GUI 方法了解目录及其文件的大小。
您可以在许多工具的帮助下找到此信息,但在本指南中,我们提供了两个工具“QDirStat”和“FileLight”,它们是最新的、免费的开源工具。您可以轻松安装这些工具并以图形形式检查目录的大小。这样,您就可以方便地通过任何方法找到目录中所有文件的总大小。