1. 前言
本文主要讲解在Linux系统上怎么查看某个文件夹大小。我们将会使用du命令。
du命令是“disk usage磁盘使用情况”的缩写,它报告给定文件或文件夹使用的磁盘空间的估计数。它对于查找占用大量磁盘空间的文件和文件夹非常有用。
linux怎么查看某个文件夹大小
2. 如何使用`du`命令查看某个文件夹大小
du命令的使用语法:
du [OPTIONS]... FILE...
如果给定的文件是一个文件夹,du将总结该目录中每个文件和子文件夹的磁盘使用情况。如果没有指定文件,du将报告当前工作目录的磁盘使用情况。
在没有任何选项的情况下执行du时,以字节为单位显示给定文件或文件夹及其子文件夹的磁盘使用情况。
du ~/Documents
您还可以将多个文件和文件夹作为参数传递给du命令:
du ~/Documents ~/Pictures ~/.zshrc
如果您在没有权限的文件或目录上运行du,您将得到类似“du:无法读取目录”的内容。在这种情况下,需要在命令前加上sudo。
du命令有很多选项,我们只列出最常用的。
-a选项告诉du报告目录中每个文件的磁盘空间使用情况。
du -a ~/Documents
通常,您希望仅以人类可读易读的格式查看给定文件夹占用的空间。为此,使用-h选项。
例如,要查看/var/lib及其所有子文件夹的总大小,可以运行以下命令:
sudo du -h /var
我们使用sudo是因为/var/lib目录中的大多数文件和目录都属于root用户,普通用户无法读取。输出将是这样的:
4.0K /var/lib/apt/mirrors/partial 5.8.0K /var/lib/apt/mirrors 205M /var/lib/apt 2.9G /var/lib/
若要只报告指定目录的总大小,而非子文件夹,请使用-s选项:
sudo du -sh /var
输出结果:
2.9G /var
-c选项告诉du报告一个总数。当您希望获得两个或多个目录的合并大小时,这是非常有用的。
sudo du -csh /var/log /var/lib
输出结果:
1.2G /var/log
2.9G /var/lib
4.1G total
如果希望显示n-level子目录的磁盘使用情况,请使用--max-depth选项并指定子文件夹级别。例如,要获得关于您将使用的第一级文件夹的报告:
sudo du -h --max-depth=1 /var/lib
输出结果如下:
544K /var/lib/usbutils 4.0K /var/lib/acpi-support 205M /var/lib/apt 2.9G /var/lib
du实用程序的默认行为是重新分配目录或文件使用的磁盘空间。要查找文件的表观大小,请使用选项--apparent-size。文件的“apparent-size”是文件中实际有多少数据。
sudo du -sh --apparent-size /var/lib
输出结果:
2.9G /var/lib
du还允许您使用shell模式。例如,要获得主目录中以“Do”开头的所有文件夹的大小,可以运行以下命令:
sudo du -csh ~/Do*
输出结果:
102M /home/zcwyou/Documents
358M /home/zcwyou/Downloads
460M total
linux使用du命令查看某个文件夹大小
3. `du`与其它命令结合查看某个文件夹大小
du命令可以与带有管道的其他命令相结合。
例如,要打印/var目录中最大的5个文件夹,您需要将du的输出传递给sort命令,按照文件夹的大小对文件夹进行排序,然后将输出传递给head命令,head命令只打印前5个文件夹:
sudo du -h /var/ | sort -rh | head -5
执行结果:
4.6G /var/ 2.9G /var/lib 2.6G /var/lib/snapd 1.7G /var/lib/snapd/snaps
du与其它命令结合查看某个文件夹大小
4. 总结
现在您应该已经很好地理解了如何使用du命令。
与df不同,df打印关于挂载文件系统的磁盘使用情况的信息,du命令给出给定文件或文件夹使用的磁盘空间的估计值。
您可以通过在终端中键入man du来查看所有可用的du命令选项。