Linux检查磁盘空间命令以查看系统磁盘使用情况
如何使用Linux命令行选项查找磁盘空间利用率信息?
Linux提供以下命令来检查磁盘空间使用情况:
Linux命令使用以下命令检查磁盘空间:
- df命令 显示Linux文件系统上已使用和可用的磁盘空间量。
- du命令 显示指定文件和每个子目录使用的磁盘空间量。
- btrfs fi df/device/ 显示基于btrfs的挂载点/文件系统的磁盘空间使用信息。
Linux使用df命令检查磁盘空间
- 打开终端,然后执行以下命令以检查磁盘空间。
- df的基本语法是:
df [options] [devices]
类型: df
df -H
方括号中的项目是可选的。
您只需执行df命令(即无参数),即可看到一个列出了系统上每个设备名称的表。
查看有关特定文件系统的信息
您可以给设备或挂载点作为参数,并且df仅报告物理上驻留在该设备上的文件系统的数据。
例如,以下命令仅提供有关分区/dev/sda的信息:
$ df /dev/sda $ df -h /dev/sdc1 $ df /data/
输出示例:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda 2930266584 69405248 2859579472 3% /data
df命令输出说明
有效字段如下:
显示名称 | 有效字段名称(用于--output 选项) | 描述 |
---|---|---|
文件系统 | source | |
1K块 | size | 块总数。 |
Used | used | 已用块数。 |
可用 | avail | 可用块数。 |
使用百分比 | pcent | 使用百分比除以SIZE。 |
安装在 | target | 挂载点。 |
您可以按如下所示传递由有效字段名称定义的输出格式:
$ df --output=field1,field2,... $ df --output=source,used,avail /data/
输出示例:
Filesystem Used Avail /dev/md0 5.4G 115G udev 0 11M tmpfs 6.2M 414M tmpfs 4.1k 1.1G tmpfs 4.1k 5.3M tmpfs 0 1.1G /dev/md2 818G 688G tmpfs 0 210M tmpfs 0 210M /dev/mapper/cryptvg-mybackup 77G 526G
您可以打印所有可用字段,执行:
$ df --o
输出示例:
Filesystem Type Inodes IUsed IFree IUse% 1K-blocks Used Avail Use% File Mounted on udev devtmpfs 379248 333 378915 1% 10240 0 10240 0% - /dev tmpfs tmpfs 381554 498 381056 1% 610488 9704 600784 2% - /run /dev/sdc1 ext3 956592 224532 732060 24% 14932444 7836056 6331204 56% - / tmpfs tmpfs 381554 1 381553 1% 1526216 0 1526216 0% - /dev/shm tmpfs tmpfs 381554 4 381550 1% 5120 0 5120 0% - /run/lock tmpfs tmpfs 381554 14 381540 1% 1526216 0 1526216 0% - /sys/fs/cgroup /dev/sda btrfs 0 0 0 - 2930266584 69405248 2859579472 3% - /data tmpfs tmpfs 381554 4 381550 1% 305244 0 305244 0% - /run/user/0
以人类可读的形式表达df输出
传递-h选项,以人可读的格式查看输出。
您将以GB或TB或兆字节为单位的设备大小:
$ df -h ### Human format $ df -m ### Show output size in one-megabyte $ df -k ### Show output size in one-kilobyte blocks (default)
使用inode用法而不是块用法显示输出
索引节点是Linux文件系统上的数据结构,用于存储有关文件的所有信息。
要列出索引节点信息,请执行:
$ df -i $ df -i -h
输出示例:
Filesystem Inodes IUsed IFree IUse% Mounted on udev 371K 333 371K 1% /dev tmpfs 373K 498 373K 1% /run /dev/sdc1 935K 220K 715K 24% / tmpfs 373K 1 373K 1% /dev/shm tmpfs 373K 4 373K 1% /run/lock tmpfs 373K 14 373K 1% /sys/fs/cgroup /dev/sda 0 0 0 - /data tmpfs 373K 4 373K 1% /run/user/0
找出显示的每个文件系统的类型
传递-T选项以显示列出的每个文件系统的类型,例如ext4,btrfs,ext2,nfs4,fuse,cgroup,cputset等:
$ df -T $ df -T -h $ df -T -h /data/
输出示例:
Filesystem Type Size Used Avail Use% Mounted on /dev/sda btrfs 2.8T 67G 2.7T 3% /data
将列表限制为给定类型的文件系统
语法为:
$ df -t ext3 #Only see ext3 file system $ df -t ext4 #Only see ext4 file system $ df -t btrfs #Only see btrfs file system
排除给定的文件系统类型
要列出所有但不包括ext2文件系统的文件,请通过-x TYPE选项执行:
$ df -x ext2
显示所有文件系统
将-a或--all选项传递给df命令,以将其大小为零块的输出文件系统包括在其输出文件系统中,运行:
$ df -a
获得有关df命令的更多帮助
传递--help选项,查看简短的帮助信息:
$ df --help
或通过执行以下命令来阅读其手册页:
$ man df
Linux使用du命令检查磁盘空间
NA命令对于跟踪磁盘空间消耗非常有用。
找出占用磁盘上大量空间的目录和文件的名称很有用。
基本语法为:
du du /path/do/dir du [options] [directories and/or files]
要查看每个目录的名称和空间消耗,包括目录树中的所有子目录,请执行:
$ du
输出示例:
16 ./.aptitude 12 ./.ssh 56 ./apcupsd 8 ./.squidview 4 ./kernel.build 12 ./.elinks 8 ./.vim 8 ./.config/htop 12 ./.config 648 .
第一列以千字节(文件大小)表示,第二列为文件名或目录名称。
参见du可读格式的输出
传递-h选项,以K(千字节),M(兆字节),G(千兆字节)而不是默认千字节显示大小:
$ du -h
输出示例:
16K ./.aptitude 12K ./.ssh 56K ./apcupsd 8.0K ./.squidview 4.0K ./kernel.build 12K ./.elinks 8.0K ./.vim 8.0K ./.config/htop 12K ./.config 648K .
查找有关任何目录树或文件的信息
要了解/etc /目录空间的使用情况,请执行:
# du /etc/ # du -h /etc/
以下将报告位于/sbin目录中的名为hdparm,iptunnel和ifconfig的thee文件的大小:
$ du /sbin/hdparm /sbin/iptunnel /sbin/ifconfig $ du -h /sbin/hdparm /sbin/iptunnel /sbin/ifconfig
输出示例:
112K /sbin/hdparm 24K /sbin/iptunnel 72K /sbin/ifconfig
如何总结给定目录名称的磁盘使用情况?
将-s选项传递给du命令。
在此示例中,ask du命令仅报告目录树占用的总磁盘空间并禁止子目录:
# du -s /etc/ # du -sh /etc/
输出示例:
6.3M /etc/
传递-a(全部)选项以查看所有文件,而不仅仅是目录:
# du -a /etc/ # du -a -h /etc/
输出示例:
4.0K /etc/w3m/config 4.0K /etc/w3m/mailcap 12K /etc/w3m 4.0K /etc/ConsoleKit/run-seat.d 4.0K /etc/ConsoleKit/seats.d/00-primary.seat 8.0K /etc/ConsoleKit/seats.d 4.0K /etc/ConsoleKit/run-session.d 20K /etc/ConsoleKit ... .... .. ... 4.0K /etc/ssh/ssh_host_rsa_key 4.0K /etc/ssh/ssh_host_rsa_key.pub 4.0K /etc/ssh/ssh_host_dsa_key 244K /etc/ssh/moduli 4.0K /etc/ssh/sshd_config 272K /etc/ssh 4.0K /etc/python/debian_config 8.0K /etc/python 0 /etc/.pwd.lock 4.0K /etc/ldap/ldap.conf 8.0K /etc/ldap 6.3M /etc/
您还可以使用星号(*)通配符,该通配符可以匹配任何字符。
例如,要查看当前目录中每个png文件的大小,请执行:
$ du -ch *.png
-c选项告诉du显示总计。
全部放在一起
要列出/etc /中占用磁盘空间的前10个目录,请执行:
# du -a /etc/ | sort -n -r | head -n 10
输出示例:
8128 /etc/ 928 /etc/ssl 904 /etc/ssl/certs 656 /etc/apache2 544 /etc/apache2/mods-available 484 /etc/init.d 396 /etc/php5 336 /etc/sane.d 308 /etc/X11 268 /etc/ssl/certs/ca-certificates.crt
有关du命令的更多信息,请执行:
$ man du $ du --help
处理btrfs文件系统
对于btrfs文件系统,请使用btrfs fi df命令查看安装点的空间使用信息。
语法为:
btrfs filesystem df /path/ btrfs fi df /dev/path btrfs fi df [options] /path/
例子
# btrfs fi df /data/ # btrfs fi df -h /data/
输出示例:
Data, RAID1: total=71.00GiB, used=63.40GiB System, RAID1: total=8.00MiB, used=16.00KiB Metadata, RAID1: total=4.00GiB, used=2.29GiB GlobalReserve, single: total=512.00MiB, used=0.00B
要查看以字节为单位的原始数字,请运行:
# btrfs fi df -b /data/
或者
# btrfs fi df -k /data/ ### show sizes in KiB ## # btrfs fi df -m /data/ ### show sizes in MiB ## # btrfs fi df -g /data/ ### show sizes in GiB ## # btrfs fi df -t /data/ ### show sizes in TiB ##