Linux检查磁盘空间命令以查看系统磁盘使用情况

时间:2020-01-09 10:41:18  来源:igfitidea点击:

如何使用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块总数。
Usedused已用块数。
可用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 ##