linux系统du指令,教你在Linux系统中使用du命令,包括用du与其他命令结合使用

本文教你在Linux操作系统中使用du命令,包括用du与管道的其他命令结合使用的方法。du命令是“disk usage”的缩写,报告给定文件或目录使用的估计磁盘空间量,它对于查找占用大量磁盘空间的文件和目录非常有用。

9249c03e452fda8292e5ce502f4f650b.png

使用du命令的方法

du命令的一般语法如下:

du [OPTIONS]... FILE...

如果给定的FILE是目录,则du将汇总该目录中每个文件和子目录的磁盘使用情况,如果未指定FILE,du将报告当前工作目录的磁盘使用情况。

在没有任何选项的情况下执行时,du显示给定文件或目录及其每个子目录的磁盘使用情况(以字节为单位):

$ du ~/Documents

你还可以将多个文件和目录作为参数传递给du命令:

$ du ~/Documents ~/Pictures ~/.zshrc

如果你对没有权限的文件或目录运行du,则会出现类似“du: cannot read directory”的提示,在这种情况下,你需要在命令前加上sudo,参考在Ubuntu系统上为用户授予和删除sudo权限的方法。

du有很多选择,我们将概述最常用的选项。

-a选项使du报告目录中每个文件的磁盘空间使用情况。

$ du -a ~/Documents

通常,你希望以可读的格式仅显示给定目录占用的空间,为此,请使用-h选项。

例如,要获取/var/lib及其所有子目录的总大小,请运行以下命令:

$ sudo du -h /var

我们使用的是sudo,因为/var/lib目录中的大多数文件和目录都归root用户所有,并且普通用户无法读取,输出看起来像这样:

6793982b914ee25a38114f869810255f.png

要仅报告指定目录的总大小,而不报告子目录的总大小,请使用-s选项:

$ sudo du -sh /var

输入如下:

2.9G /var

-c选项使du报告总计,当你想要获得两个或更多目录的组合大小时,这非常有用:

$ sudo du -csh /var/log /var/lib

d4140b52f5b4f0e651a88cfbdc15c108.png

如果要显示n级子目录的磁盘使用情况,请使用--max-depth选项并指定子目录级别,例如,要获取有关你将使用的第一级目录的报告:

$ sudo du -h --max-depth=1 /var/lib

672a7554f2ec05db1235862263163d72.png

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/ywnz/Documents

358M /home/ywnz/Downloads

460M total

使用du与其他命令

du命令可以与管道的其他命令结合使用。

例如,要打印/var目录中的5个最大目录,你可以将du的输出传递给sort命令,以按其大小对目录进行排序,然后将输出传递给head命令,该命令将仅打印前5个目录:

$ sudo du -h /var/ | sort -rh | head -5

fc46372888360a7066ac08c9d8994fdf.png

结论

阅读了以上内容,你应该很好地理解如何使用du命令。它和df命令不同,du命令可以估算给定文件或目录使用的磁盘空间。你可以在终端中输入man du命令来查看所有可用的du命令选项。

相关主题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值