Linux中的Du命令
du
命令是“disk usage”的缩写,展示文件或目录使用的估计磁盘空间量。这对于查找占用大量磁盘空间的文件和目录很有用。
如何使用du
命令
du
命令的常规语法如下:
du [OPTIONS]... FILE...
如果给定的FILE
是目录,du
则将汇总该目录中每个文件和子目录的磁盘使用情况。如果未FILE
指定,du
将报告当前工作目录的磁盘使用情况。
不带任何选项执行时du
,以字节为单位显示给定文件或目录及其每个子目录的磁盘使用情况。
du ~/Documents
您还可以将多个文件和目录du
作为参数传递给命令:
du ~/Documents ~/Pictures ~/.zshrc
如果您在没有权限的文件或目录上运行du
,将得到类似“ du:无法读取目录cannot read directory '/root': Permission denied”的信息。在这种情况下,您需要在命令前加上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
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/log2.9G /var/lib
4.1G total
如果要显示n级子目录的磁盘使用情况,请使用--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
选项。文件的“大小”是文件中实际有多少数据。
sudo du -sh --apparent-size /var/lib
2.9G /var/lib
du
还允许您使用外壳模式。例如,要获取主目录中以“ Do”开头的所有目录的大小,请运行:
sudo du -csh ~/Do*
102M /home/linux/Documents358M /home/linux/Downloads
460M total
与其他命令使用du
du
命令可以与其他带有管道的命令结合使用。
例如,要打印5个大目录里面/var
的目录,你会的输出传递du
到sort
命令由他们的大小,然后通过管道将输出到的目录排序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
1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09
结论
到目前为止,您应该已经对如何使用该du
命令有了很好的了解。
与df
显示有关已挂载文件系统的磁盘使用情况的信息不同,du
命令可以评估指定文件或目录使用的磁盘空间。
您可以通过man du
在终端中键入来查看所有可用的命令选项。
如果您有任何疑问或反馈,请在下面发表评论
以上是 Linux中的Du命令 的全部内容, 来源链接: utcz.com/z/507037.html