du
命令是 Linux 和 UNIX 系统中用于检查文件和目录占用磁盘空间的工具。以下是 du
命令的基本用法和一些常用选项:
基本用法
-
du
命令的基本语法是du [OPTIONS] FILE...
。 -
如果
FILE
是一个目录,du
将总结该目录中每个文件和子目录的磁盘使用情况。 -
如果未指定
FILE
,du
将报告当前工作目录的磁盘使用情况。
常用选项
-
-h
或--human-readable
:以易读格式显示磁盘使用量(如 KB、MB、GB)。 -
-s
或--summarize
:仅显示总计,不列出子目录的详细信息。 -
-a
或--all
:显示目录中个别文件的大小,包括隐藏文件。 -
-b
或--bytes
:显示目录或文件大小时,以字节为单位。 -
-c
或--total
:显示所有目录或文件的大小总和。 -
-k
或--kilobytes
:以 1024 字节为单位输出。 -
-m
或--megabytes
:以兆字节为单位输出。 -
-x
或--exclude-from=FILE
:排除指定文件中的目录或文件。 -
-D
或--dereference-args
:显示符号链接指向的源文件大小。 -
-L
或--dereference
:显示符号链接所指向文件的大小。 -
-S
或--separate-dirs
:显示个别目录的大小时,并不含其子目录的大小。 -
-X
或--exclude=FILE
:略过指定的目录或文件。
示例
-
查看当前目录下所有子目录的大小:
du -sh ./*
。 -
查找占用空间最大的前 N 个文件或目录:
du -ah /path/to/directory | sort -n -r | head -n 10
。 -
查看某个目录及其子目录的总大小:
du -sh /path/to/directory
。 -
仅显示某个目录下的直接子目录的大小:
du -lh --max-depth=1 /path/to/directory
。 -
递归地查找所有大于一定大小的文件:
find /path/to/directory -type f -size +100M -exec du -h {} \;
。
注意事项
-
如果在没有权限的文件或目录上运行
du
,可能会得到错误信息,此时需要使用sudo
前缀。 -
使用
sudo du -h /var
可以获取/var
目录及其所有子目录的总大小,因为/var
目录通常由 root 用户拥有。
du
命令是系统管理员和开发人员日常运维中常用的工具,它可以帮助你监控和管理磁盘空间,优化系统性能