linux命令之文件系统(二)

磁盘与目录的容量

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    .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值