du命令

du 命令是 Linux 和 UNIX 系统中用于检查文件和目录占用磁盘空间的工具。以下是 du 命令的基本用法和一些常用选项:

基本用法

  • du 命令的基本语法是 du [OPTIONS] FILE...

  • 如果 FILE 是一个目录,du 将总结该目录中每个文件和子目录的磁盘使用情况。

  • 如果未指定 FILEdu 将报告当前工作目录的磁盘使用情况。

常用选项

  • -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 命令是系统管理员和开发人员日常运维中常用的工具,它可以帮助你监控和管理磁盘空间,优化系统性能

Top