学而实习之 不亦乐乎

Linux 中使用 du 命令显示文件或目录的大小

2022-09-06 08:00:54

一、命令简介

功能说明:显示目录或文件的大小。

语法:du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=< 目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]

补充说明:du会显示指定的目录或文件所占用的磁盘空间。

参数

  • -a或-all   显示目录中个别文件的大小。
  • -b 或-bytes   显示目录或文件大小时,以 byte 为单位。
  • -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -D 或--dereference-args   显示指定符号连接的源文件大小。
  • -h 或--human-readable   以 K,M,G 为单位,提高信息的可读性。
  • -H 或--si与-h 参数相同,但是 K,M,G 是以 1000 为换算单位。
  • -k 或--kilobytes   以 1024 bytes 为单位。
  • -l 或--count-links   重复计算硬件连接的文件。 -L<符号连接>或--dereference<符号连接>   显示选项中所指定符号连接的源文件大小。
  • -m 或--megabytes   以 1MB 为单位。
  • -s 或--summarize   仅显示总计。
  • -S 或--separate-dirs   显示个别目录的大小时,并不含其子目录的大小。
  • -x 或--one-file-xystem   以一开始处理时的文件系统为准,若遇上其它不同的文件系统 目录则略过。
  • -X<文件>或--exclude-from=<文件>   在<文件>指定目录或文件。 --exclude=<目录或文件>   略过指定的目录或文件。
  • --max-depth=<目录层数>   超过指定层数的目录后,予以忽略。
  • --help   显示帮助。
  • --version   显示版本信息。

二、实例

1、显示目录或者文件所占空间:

# du
300    ./dir2
300    ./dir1
2628    .

只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的2628为当前目录的总大小

2、显示指定文件所占空间

# du mydb.sql
2024    mydb.sql

方便阅读的格式显示test目录所占空间情况:

# du -h test
300K    test/dir2
300K    test/dir1
2.6M    test