我使用过的Linux命令之du - 查看文件的磁盘空间占用情况

我使用过的Linux命令之du - 查看文件的磁盘空间占用情况

本文链接:http://codingstandards.iteye.com/blog/786427    (转载请注明出处)

用途说明

du命令是用来查看磁盘空间占用情况的,在Linux系统维护时常会用到,并且通常与df命令搭配使用。首先使用df看一下各个磁盘分区的占用情况,如果某个分区的占用超过一定百分比(比如80%),就认为该分区应该清理一下了。如果不太确定从哪里下手清理,就可以使用du来统计一下各个目录的磁盘占用情况,找到磁盘占用大的目录。一般情况下,程序日志占用的空间会比较多,Web上传产生的临时文件,导出数据时生成的数据文件,还有就是数据库也会随着时间而不断增长。

常用参数

-s 显示总数量。

-h 显示的数量更好看些,比如用K/M/G表示大小。

--max-depth=N 统计的目录深度。当N=0时等同于-s,所以和--s参数不能同时出现。

-b 显示为字节数。

-k 显示为K字节数。

-m 显示为兆字节数。

使用示例

示例一 查看/var的磁盘使用情况

[root@jfht ~]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     966221844  25612844 890736104   3% /
/dev/cciss/c0d0p1       493891     16888    451504   4% /boot
tmpfs                  2074392         0   2074392   0% /dev/shm
[root@jfht ~]# df /var
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
                     966221844  25612848 890736100   3% /
[root@jfht ~]# du /var
8       /var/games
8       /var/local
8       /var/spool/at/spool
24      /var/spool/at
16      /var/spool/cron
8       /var/spool/lpd
8       /var/spool/clientmqueue
8       /var/spool/repackage
8       /var/spool/vbox
8       /var/spool/mqueue
8       /var/spool/cups/tmp
16      /var/spool/cups
52004   /var/spool/mail
32      /var/spool/anacron
52140   /var/spool
8       /var/yp/binding
24      /var/yp
8       /var/db/nscd
28      /var/db
16      /var/empty/sshd/etc
24      /var/empty/sshd
32      /var/empty
8       /var/ftp/pub
16      /var/ftp
8       /var/tmp
8       /var/cvs
8       /var/gdm
8884    /var/log/sa
12      /var/log/pm
8       /var/log/conman
36      /var/log/prelink
15880   /var/log/audit
8       /var/log/gdm
8       /var/log/vbox
8       /var/log/ppp
8       /var/log/conman.old
8       /var/log/samba
20      /var/log/setroubleshoot
20      /var/log/cups
16      /var/log/mail
744404  /var/log
8       /var/lock/lvm
8       /var/lock/dmraid
176     /var/lock/subsys
204     /var/lock
8       /var/crash
8       /var/nis
8       /var/run/netreport
8       /var/run/sudo
8       /var/run/wpa_supplicant
8       /var/run/pm
8       /var/run/mdmpd
8       /var/run/winbindd
8       /var/run/mdadm
8       /var/run/nscd
8       /var/run/ppp
12      /var/run/dbus
12      /var/run/setrans
20      /var/run/avahi-daemon
12      /var/run/screen/S-root
20      /var/run/screen
12      /var/run/setroubleshoot
16      /var/run/cups/certs
28      /var/run/cups
8       /var/run/NetworkManager
8       /var/run/saslauthd
8       /var/run/console
492     /var/run
8       /var/preserve
8       /var/opt
8       /var/cache/logwatch
8       /var/cache/yum
8       /var/cache/coolkey
8       /var/cache/foomatic
8       /var/cache/alchemist
332     /var/cache/fontconfig
8       /var/cache/man/cat6
8       /var/cache/man/cat4
8       /var/cache/man/X11R6/cat6
8       /var/cache/man/X11R6/cat4
8       /var/cache/man/X11R6/cat3
8       /var/cache/man/X11R6/catn
8       /var/cache/man/X11R6/cat1
8       /var/cache/man/X11R6/cat5
8       /var/cache/man/X11R6/cat2
8       /var/cache/man/X11R6/cat8
8       /var/cache/man/X11R6/cat9
8       /var/cache/man/X11R6/cat7
88      /var/cache/man/X11R6
8       /var/cache/man/local/cat6
8       /var/cache/man/local/cat4
8       /var/cache/man/local/cat3
8       /var/cache/man/local/catn
8       /var/cache/man/local/cat1
8       /var/cache/man/local/cat5
8       /var/cache/man/local/cat2
8       /var/cache/man/local/cat8
8       /var/cache/man/local/cat9
8       /var/cache/man/local/cat7
88      /var/cache/man/local
8       /var/cache/man/cat3
8       /var/cache/man/catn
8       /var/cache/man/cat1
8       /var/cache/man/cat5
8       /var/cache/man/cat2
8       /var/cache/man/cat8
8       /var/cache/man/cat9
8       /var/cache/man/cat7
820     /var/cache/man
8       /var/cache/samba/winbindd_privileged
16      /var/cache/samba
8       /var/cache/cups
1224    /var/cache
8       /var/racoon
8       /var/lib/dhclient
8       /var/lib/games
8       /var/lib/stateless/writable
16      /var/lib/stateless
8       /var/lib/yum
8       /var/lib/multipath
33584   /var/lib/rpm
8       /var/lib/bluetooth
8       /var/lib/dhcpv6
72      /var/lib/scrollkeeper/cs
72      /var/lib/scrollkeeper/ca
72      /var/lib/scrollkeeper/kn
656     /var/lib/scrollkeeper/TOC
124     /var/lib/scrollkeeper/C
84      /var/lib/scrollkeeper/nl
88      /var/lib/scrollkeeper/ru
88      /var/lib/scrollkeeper/zh_TW
92      /var/lib/scrollkeeper/ko
80      /var/lib/scrollkeeper/sr
648     /var/lib/scrollkeeper/index
88      /var/lib/scrollkeeper/de
72      /var/lib/scrollkeeper/pl
72      /var/lib/scrollkeeper/no
72      /var/lib/scrollkeeper/vi
92      /var/lib/scrollkeeper/sv
88      /var/lib/scrollkeeper/ja
72      /var/lib/scrollkeeper/sk
80      /var/lib/scrollkeeper/el
76      /var/lib/scrollkeeper/ro
104     /var/lib/scrollkeeper/es
96      /var/lib/scrollkeeper/it
72      /var/lib/scrollkeeper/tr
80      /var/lib/scrollkeeper/be
92      /var/lib/scrollkeeper/zh_CN
72      /var/lib/scrollkeeper/pt_BR
104     /var/lib/scrollkeeper/uk
72      /var/lib/scrollkeeper/sr@Latn
72      /var/lib/scrollkeeper/sl
72      /var/lib/scrollkeeper/am
96      /var/lib/scrollkeeper/fr
72      /var/lib/scrollkeeper/hu
72      /var/lib/scrollkeeper/az
72      /var/lib/scrollkeeper/da
3988    /var/lib/scrollkeeper
2992    /var/lib/mysql/iss
4944    /var/lib/mysql/nss
896     /var/lib/mysql/imx
1252    /var/lib/mysql/mysql
8       /var/lib/mysql/test
164     /var/lib/mysql/zjlt_sms
264     /var/lib/mysql/xqt
2140    /var/lib/mysql/mhr
596     /var/lib/mysql/jforum
6408    /var/lib/mysql/zjlt_mhr
48424   /var/lib/mysql
24      /var/lib/misc
8       /var/lib/ntp
1240    /var/lib/sepolgen
8       /var/lib/hal
8       /var/lib/nfs/statd/sm.bak
8       /var/lib/nfs/statd/sm
32      /var/lib/nfs/statd
8       /var/lib/nfs/v4recovery
0       /var/lib/nfs/rpc_pipefs/statd
0       /var/lib/nfs/rpc_pipefs/portmap
0       /var/lib/nfs/rpc_pipefs/nfs
0       /var/lib/nfs/rpc_pipefs/mount
0       /var/lib/nfs/rpc_pipefs/lockd
0       /var/lib/nfs/rpc_pipefs
64      /var/lib/nfs
16      /var/lib/xkb
16      /var/lib/dbus
8       /var/lib/up2date
76      /var/lib/setroubleshoot
3904    /var/lib/mlocate
48      /var/lib/alternatives
91496   /var/lib
12      /var/account
890164  /var
[root@jfht ~]# du -s /var
890164  /var
[root@jfht ~]# du -sh /var
870M    /var
[root@jfht ~]# du -sb /var
904353748       /var
[root@jfht ~]# du -sk /var
890168  /var
[root@jfht ~]# du -sm /var
870     /var
[root@jfht ~]# du --max-depth=1 /var    
8       /var/games
8       /var/local
52140   /var/spool
24      /var/yp
28      /var/db
32      /var/empty
16      /var/ftp
8       /var/tmp
8       /var/cvs
8       /var/gdm
744416  /var/log
204     /var/lock
8       /var/crash
8       /var/nis
492     /var/run
8       /var/preserve
8       /var/opt
1224    /var/cache
8       /var/racoon
91496   /var/lib
12      /var/account
890176  /var
[root@jfht ~]#

示例二 确定哪个目录或文件占用的空间多些

[root@jfht /]# cd
[root@jfht ~]# du -s
4123196 .
[root@jfht ~]# du -s *
8       anaconda-ks.cfg
369704  bak181
4       do
4       done
4       echo
8       file1
8       file2
8       hlx
36      install.log
8       install.log.syslog
8       job.sh
8       job.txt
8       ls.txt
1664    mbox
20824   mini
4       myfile
4       new.txt
2569496 setup
20036   temp
8       touch_5.sh
152     vsftpd-2.0.5-16.el5.i386.rpm
12      vsftpd.conf
8       while_4.sh
1141036 work191
[root@jfht ~]# du -s * | sort -n
4       do
4       done
4       echo
4       myfile
4       new.txt
8       anaconda-ks.cfg
8       file1
8       file2
8       hlx
8       install.log.syslog
8       job.sh
8       job.txt
8       ls.txt
8       touch_5.sh
8       while_4.sh
12      vsftpd.conf
36      install.log
152     vsftpd-2.0.5-16.el5.i386.rpm
1664    mbox
20036   temp
20824   mini
369704  bak181
1141040 work191
2569496 setup
[root@jfht ~]# du -s * | sort -nr
2569496 setup
1141048 work191
369704  bak181
20824   mini
20036   temp
1664    mbox
152     vsftpd-2.0.5-16.el5.i386.rpm
36      install.log
12      vsftpd.conf
8       while_4.sh
8       touch_5.sh
8       ls.txt
8       job.txt
8       job.sh
8       install.log.syslog
8       hlx
8       file2
8       file1
8       anaconda-ks.cfg
4       new.txt
4       myfile
4       echo
4       done
4       do
[root@jfht ~]#

问题思考

1. du命令不带b,k,m参数时,显示的数值是什么单位的?

2. du命令忽略掉某些目录或文件时怎么做?

相关资料

【1】中国建站 Linux中du命令使用介绍

【2】Linux安全在线 linux下du命令使用详解---linux统计磁盘空间大小命令

【3】Linux宝库 du和df

【4】Linux大棚 《du命令》-linux命令五分钟系列之三

返回 我使用过的Linux命令系列总目录

猜你喜欢

转载自codingstandards.iteye.com/blog/786427