磁盘与目录的容量
df
列出文件系统的整体磁盘使用量,如果带了文件名,那就会列出文件名所在的文件系统的空间使用的情况,否则就是所有已挂载的文件系统的磁盘使用情况。
由于 df 主要读取的数据是针对整个文件系统,因此读取的范围主要是在 Superblock 内的信息, 所以显示结果很块。
我一般常用-h和-T参数,h表示把文件系统的容量以人类容易查看的方式显示,T表示列出文件系统的类型。
/$ df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 3.9G 0 3.9G 0% /dev
tmpfs 790M 2.7M 787M 1% /run
/dev/sda5 92G 48G 40G 55% /
tmpfs 3.9G 322M 3.6G 9% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop1 64M 64M 0 100% /snap/core20/1738
/dev/loop2 149M 149M 0 100% /snap/chromium/2271
/dev/loop3 347M 347M 0 100% /snap/gnome-3-38-2004/119
/dev/loop4 92M 92M 0 100% /snap/gtk-common-themes/1535
/dev/loop5 56M 56M 0 100% /snap/cups/836
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop6 347M 347M 0 100% /snap/gnome-3-38-2004/115
/dev/loop9 46M 46M 0 100% /snap/snap-store/599
/dev/loop7 147M 147M 0 100% /snap/chromium/2254
/dev/loop8 64M 64M 0 100% /snap/core20/1778
/dev/loop12 50M 50M 0 100% /snap/snapd/17950
/dev/loop10 50M 50M 0 100% /snap/snapd/17883
/dev/loop11 46M 46M 0 100% /snap/snap-store/638
/dev/loop13 56M 56M 0 100% /snap/cups/872
tmpfs 790M 20K 790M 1% /run/user/125
tmpfs 790M 3.5M 786M 1% /run/user/1000
/dev/sda3 79G 24G 51G 32% /data
如果要查看文件系统类型,那么就加-T
/$ df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
udev devtmpfs 4012536 0 4012536 0% /dev
tmpfs tmpfs 808368 2688 805680 1% /run
/dev/sda5 ext4 95597404 49767268 40930940 55% /
tmpfs tmpfs 4041840 337680 3704160 9% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 4041840 0 4041840 0% /sys/fs/cgroup
/dev/loop1 squashfs 64768 64768 0 100% /snap/core20/1738
/dev/loop2 squashfs 152064 152064 0 100% /snap/chromium/2271
/dev/loop3 squashfs 354688 354688 0 100% /snap/gnome-3-38-2004/119
/dev/loop4 squashfs 93952 93952 0 100% /snap/gtk-common-themes/1535
/dev/loop5 squashfs 56448 56448 0 100% /snap/cups/836
/dev/loop0 squashfs 128 128 0 100% /snap/bare/5
/dev/loop6 squashfs 354688 354688 0 100% /snap/gnome-3-38-2004/115
/dev/loop9 squashfs 47104 47104 0 100% /snap/snap-store/599
/dev/loop7 squashfs 150528 150528 0 100% /snap/chromium/2254
/dev/loop8 squashfs 64896 64896 0 100% /snap/core20/1778
/dev/loop12 squashfs 51072 51072 0 100% /snap/snapd/17950
/dev/loop10 squashfs 50816 50816 0 100% /snap/snapd/17883
/dev/loop11 squashfs 47104 47104 0 100% /snap/snap-store/638
/dev/loop13 squashfs 56448 56448 0 100% /snap/cups/872
tmpfs tmpfs 808368 20 808348 1% /run/user/125
tmpfs tmpfs 808368 3524 804844 1% /run/user/1000
/dev/sda3 ext3 82045616 24409900 53441412 32% /data
如果你不想查看所有的文件系统,只想查看某个文件所在挂载点的文件系统的容量,可以在后面随便跟该文件系统所包含的文件名或者文件:
/$ df -T /data /
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/sda3 ext3 82045616 24409900 53441412 32% /data
/dev/sda5 ext4 95597404 49770932 40927276 55% /
du
查看文件、文件夹所使用的磁盘空间,如果不带任何参数,那么会列举整个系统的,每个文件夹、文件的大小。如果跟了文件夹,没有跟max-depth参数,那么就会递归列举该文件夹里所有文件、子文件夹的所占空间。
我常用的参数是-h --max-depth参数,-h表示以人类已查看的形式表示文件的大小,--max-depth表示递归的层级,我一般选1,这样跟容易的查看你所需要的文件夹的大小
du 这个命令其实会直接到文件系统内去搜寻所有的文件数据,这个命令的运行时间会慢些。
/etc$ du -h
4.0K ./ODBCDataSources
4.0K ./xdg/systemd
204K ./xdg/autostart
8.0K ./xdg/menus/applications-merged
28K ./xdg/menus
8.0K ./xdg/Xwayland-session.d
264K ./xdg
12K ./mysql/conf.d
20K ./mysql
8.0K ./calendar
8.0K ./dconf/db/ibus.d
16K ./dconf/db
8.0K ./dconf/profile
28K ./dconf
4.0K ./binfmt.d
4.0K ./apparmor/init/network-interface-security
8.0K ./apparmor/init
16K ./apparmor
12K ./cron.monthly
16K ./bluetooth
20K ./cron.d
8.0K ./sgml/docbook-xml/4.4
8.0K ./sgml/docbook-xml/4.3
8.0K ./sgml/docbook-xml/4.0
8.0K ./sgml/docbook-xml/4.1.2
8.0K ./sgml/docbook-xml/4.5
8.0K ./sgml/docbook-xml/4.2
52K ./sgml/docbook-xml
68K ./sgml
8.0K ./netplan
12K ./libnl-3
12K ./ufw/applications.d
60K ./ufw
12K ./gtk-3.0
4.0K ./rc4.d
...
...
...
4.0K ./rc6.d
140K ./bash_completion.d
8.0K ./init
4.0K ./networkd-dispatcher/no-carrier.d
4.0K ./networkd-dispatcher/dormant.d
4.0K ./networkd-dispatcher/carrier.d
4.0K ./networkd-dispatcher/degraded.d
4.0K ./networkd-dispatcher/routable.d
4.0K ./networkd-dispatcher/off.d
28K ./networkd-dispatcher
8.0K ./kernel/header_postinst.d
8.0K ./kernel/prerm.d
24K ./kernel/postinst.d
12K ./kernel/postrm.d
8.0K ./kernel/preinst.d
4.0K ./kernel/install.d
68K ./kernel
36K ./acpi/events
60K ./acpi
116K ./pam.d
8.0K ./gtk-2.0
4.0K ./tmpfiles.d
16K ./cupshelpers
13M .
如果指向查看当前目录所有文件夹文件,而不想查看子文件夹的情况,那么用--max-depth指定递归的深度,这里用1就可以了:
/etc$ du -h --max-depth=1
4.0K ./ODBCDataSources
264K ./xdg
20K ./mysql
8.0K ./calendar
28K ./dconf
4.0K ./binfmt.d
16K ./apparmor
12K ./cron.monthly
16K ./bluetooth
20K ./cron.d
68K ./sgml
8.0K ./netplan
12K ./libnl-3
60K ./ufw
12K ./gtk-3.0
4.0K ./rc4.d
28K ./gnome
12K ./ssh
44K ./fwupd
56K ./update-motd.d
8.0K ./snmp
24K ./update-manager
8.0K ./glvnd
164K ./apt
8.0K ./gdb
44K ./wpa_supplicant
40K ./apport
40K ./sysctl.d
4.0K ./usb_modeswitch.d
24K ./ld.so.conf.d
8.0K ./thermald
8.0K ./terminfo
16K ./openmpi
16K ./rsyslog.d
20K ./avahi
56K ./network
28K ./logcheck
4.0K ./rc3.d
24K ./openal
12K ./insserv.conf.d
du: 无法读取目录 './ssl/private': 权限不够
580K ./ssl
64K ./logrotate.d
8.0K ./geoclue
120K ./dbus-1
12K ./environment.d
16K ./vulkan
12K ./groff
16K ./libreoffice
8.0K ./gss
12K ./OpenCL
8.0K ./ifplugd
8.0K ./python3
16K ./ubuntu-advantage
536K ./fonts
64K ./libibverbs.d
8.0K ./sudoers.d
24K ./samba
20K ./cron.weekly
4.0K ./sensors.d
16K ./vim
16K ./emacs
128K ./default
24K ./gconf
4.0K ./update-notifier
12K ./PackageKit
200K ./systemd
8.0K ./modules-load.d
20K ./apm
4.0K ./rc2.d
12K ./perl
8.0K ./python3.8
8.0K ./selinux
4.0K ./rcS.d
36K ./dpkg
52K ./NetworkManager
44K ./dhcp
192K ./init.d
4.0K ./rc0.d
12K ./libblockdev
8.0K ./cron.hourly
20K ./alternatives
452K ./X11
12K ./resolvconf
8.0K ./udisks2
344K ./sane.d
du: 无法读取目录 './polkit-1/localauthority': 权限不够
20K ./polkit-1
168K ./console-setup
4.0K ./rc1.d
12K ./alsa
8.0K ./thunderbird
16K ./pm
28K ./pulse
104K ./udev
16K ./openvpn
8.0K ./ModemManager
du: 无法读取目录 './cups/ssl': 权限不够
532K ./cups
4.0K ./opt
124K ./postfix
72K ./gdm3
48K ./modprobe.d
140K ./grub.d
52K ./xml
8.0K ./newt
8.0K ./ldap
36K ./profile.d
88K ./ppp
36K ./ghostscript
8.0K ./cracklib
4.0K ./libpaper.d
4.0K ./dictionaries-common
36K ./pki
92K ./dkms
68K ./initramfs-tools
132K ./speech-dispatcher
64K ./cron.daily
8.0K ./depmod.d
120K ./skel
8.0K ./hp
3.8M ./brltty
16K ./chatscripts
8.0K ./pcmcia
4.0K ./rc5.d
8.0K ./ca-certificates
16K ./firefox
60K ./security
56K ./iproute2
8.0K ./UPower
692K ./apparmor.d
4.0K ./rc6.d
140K ./bash_completion.d
8.0K ./init
28K ./networkd-dispatcher
68K ./kernel
60K ./acpi
116K ./pam.d
8.0K ./gtk-2.0
4.0K ./tmpfiles.d
16K ./cupshelpers
13M .