linux du df 命令详解

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/877551

  du和df的区别:

du 统计文件大小相加,df  统计数据块使用情况,如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。我们碰到的问 题是,我们在定期删除 /var/spool/clientmqueue下面的文件,但是没有杀掉其进程,所以空间一直没有释放。使用下 面的命令杀掉进程之后,系统恢复。

fuser -u /var/spool/clientmqueue

df命令详细用法

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

i:显示i -nodes的使用量

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

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

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

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

常用命令:df -hi

操作详解

引用

指令 df 可以显示目前所有档案系统的最大可用空间及使用情形,请看下列这个例子:

# 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 能以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小。例如:

# 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 等字样,会造成排序不正确

ls –lh 可以看出当前目录文件的大小(不含目录), 比如下面的的322M。

[root@LS-SVR-18 ~]# ls -lh

total 322M

-rw-r–r–  1 root root 312M Aug  1 23:35 10.50.86.18.tar.z

-rw-r–r–  1 root root 1.3K Aug  1 17:41 anaconda-ks.cfg

drwxr-xr-x  2 root root 4.0K Aug  1 21:44 Desktop

-rw-r–r–  1 root root  62K Aug  1 17:41 install.log

-rw-r–r–  1 root root 5.2K Aug  1 17:41 install.log.syslog

-rw-r–r–  1 root root 8.9M Sep 28 15:29 Install_MSN_Messenger_zhcn.EXE

-rwxr-xr-x  1 root root 9.2K Aug 16 11:20 m64

-rw-r–r–  1 root root 1.1K Aug 16 11:20 m64.c

-rw-r–r–  1 root root 1.1K Aug  8 04:33 m64.o

drwxr-xr-x  2 root root 4.0K Oct  9 15:45 MCA

drwxr-xr-x  2 root root 4.0K Oct  9 15:41 MGM

drwxr-xr-x  2 root root 4.0K Oct  9 15:45 MYSQL

-rw——-  1 root root   95 Sep  5 10:34 nohup.out

使用du -sSh 也是同样的结果

[root@LS-SVR-18 ~]# du -sSh

322M

使用du -sh 则包含了子目录的内容

[root@LS-SVR-18 ~]# du -sh

451M    .

查看每个文件和目录的大小

[root@LS-SVR-18 ~]# du -sh *

313M    10.50.86.18.tar.z

8.0K    anaconda-ks.cfg

8.0K    Desktop

72K     install.log

12K     install.log.syslog

8.9M    Install_MSN_Messenger_zhcn.EXE

16K     m64

8.0K    m64.c

8.0K    m64.o

476K    MCA

65M     MGM

65M     MYSQL

8.0K    nohup.out

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/877551

时间: 2024-11-08 20:16:19

linux du df 命令详解的相关文章

Linux系统进程管理命令详解

1.at命令:定时运行命令 作用:at命令在指定时刻执行指定的命令序列. 格式: at [-V] [-q x] [-f file] [-m] time atq [-V] [-q x] atrm [-V] [-q x] job- batch [-V] [-f file] [-m] 主要选项如下. -V:显示作业将被执行的时间. -q:选用q参数则可选队列名称,队列名称可以是a-z和A-Z之间的任意字母.队列字母顺序越高则队列优先级别越低. -f:从文件中读取命令或shell脚本,而非在提示后指定它

Linux下ps命令详解

  Linux下ps命令详解 Linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) ps工具标识进程的5种状态码: D 不可中断 uninterr

Linux下chkconfig命令详解(转)

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

Linux中关机命令详解

在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. 一.常用命令 重启命令 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 若通过shutdown命令设置重启的话,可以用shutdown -c命

linux zip/unzip命令详解_Linux

最近整理了linux zip/unzip命令,具体如下: 命令名: zip 功能说明:压缩文件. 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".z

一天一个shell命令 linux好管家--磁盘--df命令详解_linux shell

df命令 磁盘管理 df命令用于显示磁盘分区上的可使用的磁盘空间.默认显示单位为KB.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 语法 df(选项)(参数) 选项 -a或--all:包含全部的文件系统: --block-size=<区块大小>:以指定的区块大小来显示区块数目: -h或--human-readable:以可读性较高的方式来显示信息: -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes: -i或--inod

Linux df命令详解 Linux df命令怎么用

Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 语法 df [选项]... [FILE]... 文件-a, --all 包含所有的具有 0 Blocks 的文件系统 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...) 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024 文件-i, --inodes 列出

Linux下find命令详解

find命令 1.1 find概述 1.1.1 介绍 可以对文件进行实时查找,精确查找:find是通过遍历指定目录中的所有文件完成查找所以执行的速度慢 1.1.2查找标准 支持众多查找标准(如支持文件名查找,根据文件权限查找,根据文件类型查找,还可以基于正则表达式对文件名做匹配. 1.1.3 命令格式 find 查找路径+查找标准+查找到以后的处理动作 (1)查找路径:省略的时候默认当前目录 (2)查找标准:默认为指定路径下的所有文件 (3)处理运作:默认为显示到屏幕上 1.2 命令格式详解 直

Linux查找find命令详解

Linux查找–find命令 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!! 我会在当天或者第二天及时回复,并且改进~~ find命令的格式 find pathname -options [ -print -exec -ok ...] pathname #是find命令所查找的目录路径,例如.表示当前目录,/表示根目录 -print #表示find命令将匹配的文件输出到标准输出中 -exec #表示find命令对匹配的文件执行该参数给出的shell命令.相应命令的形式为 'cmd' {} \