Linux从放弃到入门:df、du

本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。


1 df简介

df命令用于统计当前linux系统的文件系统磁盘使用情况,包括磁盘总容量、已使用容量和剩余容量等。df通过文件系统快速获取空间大小,在计算大小时,可能会把已被删除的文件大小算进来,也就是说,我们看到的结果可能包含了已被删除的文件大小(后期OS会根据规则进行释放)。

 

1.1 命令格式

df [option] [file or directory]

 

1.2 df常用option

option

说明

-a

显示所有文件系统磁盘使用情况,包括系统特有的/proc、/sysfs等文件系统

-k

以KB为单位显示容量,默认以KB为单位(如果环境变量  POSIXLY_CORRECT被指定,那么将以512字节为单位)

-m

以MB为单位显示容量

-h

以更易懂的方式显示磁盘使用情况

-i

以inode模式显示磁盘使用情况

-t<文件系统类型>

只显示选定的文件系统的磁盘信息

 

1.3 df示例
1)显示当前系统的普通文件磁盘使用情况(系统特有文件系统除外)

root@LTY:/opt # df

Filesystem     1K-blocks    Used Available Use% Mounted on

devtmpfs        14605236       0 14605236   0% /dev

tmpfs           14649972       0 14649972   0% /dev/shm

tmpfs           14649972  224168 14425804   2% /run

tmpfs           14649972      0  14649972   0% /sys/fs/cgroup

/dev/vda2       38956384 4204700  32743108 12% /

tmpfs           14649972      36 14649936   1% /tmp

/dev/vda1        2093048    6596  2086452   1% /boot/efi

tmpfs            2929992       0  2929992   0% /run/user/0

说明:已使用容量 + 可用容量不一定等于总容量(分区可能预留少量空间给管理员使用,即便磁盘使用率已达到100%,管理员仍能登陆并解决问题)

列数

说明

第一列

文件系统对应的设备文件路径名

第二列

总容量

第三列

已使用容量

第四列

可用容量

第五列

普通用户已使用磁盘比例

第六列

文件系统挂载点

 

2)以更易懂的方式显示当前系统磁盘使用情况(通常使用GBMB为单位显示磁盘使用结果

root@LTY:/opt #  df -h

Filesystem      Size Used Avail Use% Mounted on

devtmpfs         14G    0   14G   0% /dev

tmpfs            14G     0  14G   0% /dev/shm

tmpfs            14G 219M   14G   2% /run

/dev/vda2        38G 4.1G   32G  12% /

tmpfs            14G   36K  14G   1% /tmp

/dev/vda1       2.0G 6.5M  2.0G   1% /boot/efi

tmpfs           2.8G     0 2.8G   0% /run/user/0

3)显示当前文件系统所有的磁盘使用情况(部分文件系统数据是存放在内存,而非磁盘,因此占据的磁盘容量为0

root@LTY:/opt # df-ah

Filesystem      Size Used Avail Use% Mounted on

sysfs              0     0    0    - /sys

proc               0     0    0    - /proc

devtmpfs         14G    0   14G   0% /dev

tmpfs            14G     0  14G   0% /dev/shm

devpts             0     0    0    - /dev/pts

tmpfs            14G 219M   14G   2% /run

/dev/vda2        38G 4.1G   32G  12% /

mqueue             0     0    0    - /dev/mqueue

hugetlbfs          0    0     0    - /dev/hugepages

tmpfs            14G   36K  14G   1% /tmp

/dev/vda1       2.0G 6.5M  2.0G   1% /boot/efi

tmpfs           2.8G     0 2.8G   0% /run/user/0

4)显示/tmp目录所在分区的磁盘使用情况(df命令会自动分析指定目录所在的分区

root@LTY:/opt # df-h /tmp

Filesystem      Size Used Avail Use% Mounted on

tmpfs            14G   36K  14G   1% /tmp

2 du简介

du命令用于显示目录或文件所占用的磁盘大小。du仅对它认为已存在的文件大小进行累加得出磁盘占用大小,而df则通过文件系统快速获取空间大小,在计算大小时,可能会把已被删除的文件大小算进来(当删除某文件时,该文件不会马上在文件系统消失,后期OS会根据规则进行释放)。

 

2.1 命令格式

du [option] [file or directory]

 

2.2 du常用option

option

说明

-h

以更易懂的方式显示结果

-s

只显示目录占用的磁盘空间

-c

显示目录或文件占用的磁盘空间,并统计总量

-a

除显示目录占用的磁盘空间外,还将该目录下的文件和子目录占用的磁盘空间进行显示

-k

以KB为单位显示容量

-m

以MB为单位显示容量

说明:显示的单位默认是KB,但是还有很多方式可以修改显示的单位,比如使用-B选项,修改显示单位,或设置DU_BLOCK_SIZE环境变量,修改显示单位,详细内容请执行man du进行查询了解。

 

2.3 du示例

1)显示当前目录的磁盘占用大小(默认单位为KB

root@LTY:/opt # du-s .

12      .

2)以更易懂的方式显示当前目录的磁盘占用大小(通常使用GBMB为单位显示磁盘使用结果

root@LTY:/opt # du-sh .

12K     .

3)显示bin和lib目录的磁盘占用大小,并统计其总量

root@LTY:/opt # du-ch bin lib

4.0K    bin

4.0K    lib

8.0K    total

4)显示当前目录的磁盘占用大小,并将其子目录和该目录下的文件(如果有)占用的磁盘大小也显示出来

root@LTY:/opt # du-a .

4       ./lib

4       ./bin

12      .

5)显示/opt当前目录和第一级子目录和文件(如果有)的磁盘占用大小(文件夹是可以嵌套的,如果我们不希望du统计的层次太深,可以使用--max-depth选项进行控制

root@LTY:/opt # du--max-depth=1 -h /opt

12K     /opt/test1

58M     /opt/test2

58M     /opt

 

我的公众号「码农之屋」(id: Spider1818) ,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值