命令介绍
du 是统计目录或文件所占磁盘空间大小的命令。
需要注意的是,使用”ls -r”命令是可以看到文件的大小的。但是大家会发现,在使用”ls -r”命令査看目录大小时,目录的大小多数是 4KB,这是因为目录下的子目录名和子文件名是保存到父目录的 block(默认大小为 4KB)中的,如果父目录下的子目录和子文件并不多,一个 block 就能放下,那么这个父目录就只占用了一个 block 大小。
大家可以将其想象成图书馆的书籍目录和实际书籍。如果我们用”ls-l”命令査看,则只能看到这些书籍占用了 1 页纸的书籍目录,但是实际书籍到底有多少是看不到的,哪怕它堆满了几个房间。
但是我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du 命令才能统计目录的真正磁盘占用量大小。
命令格式:
du 命令的基本格式为: du [选项] [目录或文件名]
该命令常用的选项及各自的含义说明:
选项 |
作用 |
备注 |
-a |
显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量 |
- |
-b |
列出的值以bytes为单位输出。 |
- |
-k |
以KB为单位输出,和默认不加任何选项的输出值是一样的。 |
- |
-m |
以MB为单位输出 |
- |
-h |
使用习惯单位显示磁盘占用量,如 KB、MB 或 GB 等; |
- |
-s |
统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量 |
- |
命令实例
实例一:不加任何参数:
统计当前目录的总磁盘占用量大小,同时会统计当前目录下所有子目录的磁盘占用量大小,不统计子文件磁盘占用量的大小。默认单位为KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [root@ubuntu2204-101 ~ 21:08:11] 4 ./test 4 ./.ssh 4 ./test1/a/b/c/d 8 ./test1/a/b/c 12 ./test1/a/b 16 ./test1/a 20 ./test1 4 ./snap/lxd/23541 4 ./snap/lxd/common 4 ./snap/lxd/22923 16 ./snap/lxd 20 ./snap 4 ./test2 20 ./etc 112 .
|
实例二:分别以参数 -b ,-k, -m ,-h 打印文件的大小
1 2 3 4 5 6 7 8 9
| [root@ubuntu2204-101 ~ 21:15:42] 1839 /etc/passwd [root@ubuntu2204-101 ~ 21:18:09] 4 /etc/passwd [root@ubuntu2204-101 ~ 21:18:13] 1 /etc/passwd [root@ubuntu2204-101 ~ 21:18:19] 4.0K /etc/passwd
|
实例三:统计磁盘占有量大小
参数: -s,统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量 ,通常和 -h 参数一起使用,同时使用习惯单位显示
1 2
| [root@ubuntu2204-101 ~ 21:21:02] 5.6M /etc/
|
实例四:显示所有文件大小
参数: -a,显示每个子文件的磁盘占用量,通常和 -h 参数一起使用,同时使用习惯单位显示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| [root@ubuntu2204-101 ~ 21:24:16] 4.0K /tmp/tar/shadow 4.0K /tmp/tar/test3 4.0K /tmp/tar/test1/bolt.service 8.0K /tmp/tar/test1 4.0K /tmp/tar/test2 4.0K /tmp/tar/test4/passwd 8.0K /tmp/tar/test4 32K /tmp/tar 4.0K /tmp/.font-unix 4.0K /tmp/.X11-unix 4.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-logind.service-iKusgj/tmp 8.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-logind.service-iKusgj 4.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-ModemManager.service-4gVOco/tmp 8.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-ModemManager.service-4gVOco 4.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-resolved.service-OI4Z4t/tmp 8.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-resolved.service-OI4Z4t 4.0K /tmp/.XIM-unix 4.0K /tmp/.ICE-unix 4.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-timesyncd.service-AhmpNM/tmp 8.0K /tmp/systemd-private-81d9d13cfc234c6fbef7f72e0686a31e-systemd-timesyncd.service-AhmpNM 12K /tmp/data.tar 4.0K /tmp/snap.lxd/tmp 8.0K /tmp/snap.lxd 4.0K /tmp/.Test-unix 0 /tmp/ssh-XXXXIeoya7/agent.1144 4.0K /tmp/ssh-XXXXIeoya7 112K /tmp/
|