linux free和df的区别,df 和du 的区别 linux磁盘命令详解

df 命令:经过文件系统中未分配的空间来肯定文件系统中已分配空间的大小。例如:若是一个文件系统中有 8192个512-byte 块, 而且4096 个块没有被分配出去,那么已分配的空间就是4096 个512-byte 的块。

已分配空间 = 空间总数 - 未分配空间

由于基于文件系统整体来计算,因此df 命令是报告文件系统空间使用状况最可靠的命令。

du 命令

是面向文件的命令,它计算分配给指定文件或者目录的空间。 du 命令必须跟着目的参数,并且不能隔离文件系统。

例 如:运行 # du / 命令将计算全部在 / 文件系统下全部文件的空间分配信息。其中包括 / 文件系统全部的文件和安装在 / 下面的,例如 /tmp, /var 和 /usr 下面的其余文件系统的文件。能够用 du 命令带 -x 参数来限制仅在文件系统内进行操做。可是有时候会致使输出结果不彻底。

du 命令只计算被文件占用的空间。不计算文件系统metadata 占用的空间,如inodes, inode maps, 或者disk maps。

du 命令只计算那些能够访问的文件所占用的存储空间, 有下面两种状况 du 命令不会计算已经分配给文件的空间。

Case1:

文件被隐藏了。

例如:若是一个文件存放在 /bobby 目录下, 接着有文件系统安装在 /bobby 目录下, 那么, du 命令将不会计算 /bobby 目录下的文件所占用的存储空间。

case 2:

文件被其余的应用的打开了,接着文件被删除了。 在这种状况下, 文件所占用的存储空间将维持着被分配的状态直到全部对这个文件的访问都被关闭。因为目录中没有这个文件的相关纪录,du 命令将不会计算这个文件的被分配空间,然而df 命令将计算这部分已分配的空间

两个命令的操做详解以下:

df命令详细用法

a:显示所有的档案系统和各分割区的磁盘使用情形

i:显示i -nodes的使用量

k:大小用k来表示 (默认值)

t:显示某一个档案系统的全部分割区磁盘使用量

x:显示不是某一个档案系统的全部分割区磁盘使用量

T:显示每一个分割区所属的档案系统名称

经常使用命令:df -hi

引用例子:

# df -h

Filesystem Size Used Avail Capacity Mounted on

/dev/ad0s1a 1.9G 389M 1.4G 21% /

devfs 1.0K 1.0K 0B 100% /dev

/dev/ad0s1d 989M 54K 910M 0% /tmp

/dev/ad0s1f 4.8G 3.8G 657M 86% /usr

/dev/ad0s1e 1.9G 149M 1.6G 8% /var

/dev/ad0s1g 26G 890K 24G 0% /volume2

/dev/da0s1d 325G 261G 38G 87% /volume1

咱们加了参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。上面的指 令输出的第一个字段及最后一个字段分别是档案系统及其挂入点。咱们能够看到 /dev/ad0s1a 这个分割区被挂在根目录下。咱们在上一小节提到过 ad 所表明的是 IDE 的硬盘,而 s1 表示第一个主要扇区。我另外有一个 SCSI 硬盘,它的代号是 da,它的容量很大,主要用来存放数据。devfs 是一个特别的档案系统,该档案系统并不是真的磁盘,而是 FreeBSD 用来管理系统硬件装置的虚拟档案系统。接下来的四个字段 Size、Used、Avail、及 Capacity 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,由于 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,仍是能够写东西到该档案系统中,以进行管理。另外,咱们还可使用参数 -i 来查看目前档案系统 inode 的使用情形。有的时候虽然档案系统还有空间,但若没有足够的 inode 来存放档案的信息,同样会不能增长新的档案。

# df -ih

Filesystem Size Used Avail Capacity iused ifree %iused Mounted on

/dev/ad0s1a 1.9G 389M 1.4G 21% 20495 262127 7% /

devfs 1.0K 1.0K 0B 100% 0 0 100% /dev

/dev/ad0s1d 989M 62K 910M 0% 24 141286 0% /tmp

/dev/ad0s1f 4.8G 3.8G 657M 86% 311439 348015 47% /usr

/dev/ad0s1e 1.9G 149M 1.6G 8% 1758 280864 1% /var

/dev/ad0s1g 26G 890K 24G 0% 12 3532786 0% /volume2

/dev/da0s1d 325G 261G 38G 87% 707277 43311409 2% /volume1

咱们能够看到根目录的已经用掉的 inode 数量为 20495,还有 262127 的可用 inode。

小提示还记得什么是 inode 吗?所谓的 inode 是用来存放档案及目录的基本信息 (metadata),包含时间、档名、使用者及群组等。在分割扇区时,系统会先作出一堆 inode 以供之后使用,inode 的数量关系着系统中能够创建的档案及目录总数。若是要存的档案大部分都很小,则一样大小的硬盘中会有较多的档案,也就是说须要较多的 inode 来挂档案及目录。

du:查询档案或目录的磁盘使用空间

a:显示所有目录和其次目录下的每一个档案所占的磁盘空间

b:大小用bytes来表示 (默认值为k bytes)

c:最后再加上总计 (默认值)

s:只显示各档案大小的总合

x:只计算同属同一个档案系统的档案

L:计算全部的档案大小

经常使用命令:du -a

引用例子:

# du -h /etc

104K /etc/defaults

6.0K /etc/X11

8.0K /etc/bluetooth

4.0K /etc/gnats

52K /etc/isdn

388K /etc/mail

68K /etc/mtree

2.0K /etc/ntp

38K /etc/pam.d

44K /etc/periodic/daily

6.0K /etc/periodic/monthly

42K /etc/periodic/security

16K /etc/periodic/weekly

110K /etc/periodic

6.0K /etc/ppp

318K /etc/rc.d

2.0K /etc/skel

130K /etc/ssh

10K /etc/ssl

1.7M /etc

咱们目样使用 -h 参数来显示 human-readable 的格式。在应用时,咱们可使用 du 这个指令来查看哪一个目录占用最多的空间。不过,du 的输出结果一般很长,咱们能够加上 -s 参数来省略指定目录下的子目录,而只显示该目录的总合便可:

# du -sh /etc

1.7M /etc

在查看目录的使用情形时,咱们能够将输出结果导到 sort 指令进行排序,以了解哪一个档案用了最多的空间:

# du /etc | sort -nr | more

1746 /etc

388 /etc/mail

318 /etc/rc.d

130 /etc/ssh

110 /etc/periodic

104 /etc/defaults

68 /etc/mtree

52 /etc/isdn

44 /etc/periodic/daily

42 /etc/periodic/security

38 /etc/pam.d

16 /etc/periodic/weekly

10 /etc/ssl

8 /etc/bluetooth

6 /etc/ppp

6 /etc/periodic/monthly

6 /etc/X11

4 /etc/gnats

2 /etc/skel

2 /etc/ntp

sort 的参数 -nr 表示要以数字排序法进行反向排序,由于咱们要对目录大小作排序,因此不可使用 human-readable 的大小输出,否则目录大小中会有 K、M 等字样,会形成排序不正确。 关键词:linux,df

使用df命令查看linux磁盘剩余空间

[root]# df -hl

文件系统               容量   已用   可用 已用% 挂载点

/dev/hda5              487M   120M   342M   27% /

/dev/hda1              981M    21M   911M    3% /boot

none                   125M      0   125M    0% /dev/shm

/dev/hda2               29G   4.9G    23G   18% /home

/dev/hda3               20G   4.8G    14G   27% /usr

/dev/hda7               24G   510M    22G    3% /var

/dev/hdb2               75G     75G     0 100% /

df是以磁盘分区为单位来查看文件系统。

/dev/hdb2 75G 75G 0 100% /, 以此为例。

表示HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,所以利用率是100%, 被挂载到根分区目录上(/)

另外简单的一个办法就是鼠标右键查看磁盘、文件夹属性,就能了解到已用多少,剩余多少空间。 (转)node

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值