Linux 查找目录中所有文件的总大小

Linux 查找目录中所有文件的总大小

您可以使用各种类型的命令来获取Linux上目录中所有文件的总大小。在Linux中还有一些图形界面工具,以更简单的格式显示目录的总大小。

获取关于目录的正确信息可以帮助用户找到整个系统的存储分配情况。这就是为什么Linux用户总是寻找查找目录总大小的方法。

在本指南中,我们将解释在Linux上查找目录中所有文件的总大小的各种方法。

在Linux上查找目录中所有文件的总大小

让我们从您可以尝试使用的命令开始来显示目录中文件的正确大小 –

du命令

默认情况下,大多数Linux发行版都包括du命令,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

以上命令显示目录大小,不包括所提及文件的大小。使用’max-depth’选项,您可以将扫描限制到一定的层级。

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参数,这样你可以找出一个特定目录占用了多少空间。这样,你就可以找出多个目录级别的大小。

使用du命令和-a标志,你可以获取目录的大小以及它的文件和子目录。

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

tree命令

tree是一个命令行实用程序,以树形格式列出文件或目录。某些Linux版本默认情况下没有tree命令,但它在你的Linux软件仓库中是可用的。让我们通过以下命令安装tree命令实用程序-

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命令找到特定目录的大小。为此,您需要在tree命令之后包括目录的路径,如下所示−

~$: 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”或从应用程序菜单中搜索该工具来打开此工具。

Linux 查找目录中所有文件的总大小

FileLight

它是一个非常轻量级且易于使用的GUI工具,可以以饼图的形式查看目录和文件所占用的空间。它使用同心圆来显示目录的大小和使用情况,以便您更好地了解。您可以通过在终端中运行以下命令来安装它:

~$: sudo apt install filelight -y

安装成功后,您可以从应用程序菜单中打开它,或者在终端中输入’filelight’ –

Linux 查找目录中所有文件的总大小

要查看特定文件或目录的磁盘使用情况,请在左上角点击“扫描”并按照以下步骤操作 –

Scan > Scan folder > The folder/directory you want to scan

结论

你可以通过图形用户界面(GUI)和命令行界面(CLI)的方法在Linux中找到目录中所有文件的总大小。如果你是Linux的新手,你可以使用GUI方法找出目录及其文件的大小。

有很多工具可以帮助你找到这个信息,但在本指南中,我们包括了两个工具,即“QDirStat”和“FileLight”,它们是最新的、免费的和开源的。你可以轻松安装这些工具并以图形形式查看目录的大小。这样,你就可以随时通过任何方法找到目录中所有文件的总大小。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程