|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
* Y8 f, B. O, u& Q
$ Z- ?) s1 G8 l. ?8 S df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
: _) [+ f; ~$ K* S du可以查看文件及文件夹的大小。
' ` G; e4 S0 E! T( b: {( H
2 C# j) J# p& p- t9 Y 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
I9 C" r2 x/ ]! I, c
: X& c! q6 s! i6 ?- ]4 q' _6 @ 下面分别简要介绍
& M0 y4 q( {* s$ v! R+ Q4 `0 K# s1 K: }* A; I; r% D
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:+ n- ^" r4 y5 }2 h# Q9 I6 I; e' Y
+ y& c: z$ h5 b& n4 b( c
以下是代码片段:9 s# e* B2 @3 i% s+ d1 `* ]
) h' ~) D8 E! k* v[yayug@yayu ~]$ df -h
( |% q% J. N4 ~% y$ N; dFilesystem Size Used Avail Use% Mounted on7 g' s* `6 m. E
/dev/sda1 3.9G 300M 3.4G 8% /
. O# r2 v' [+ o G& F/dev/sda7 100G 188M 95G 1% /data0# W _0 w2 k2 ^, g9 c
/dev/sdb1 133G 80G 47G 64% /data19 T; f9 \, B5 Z4 P% i1 ^7 K
/dev/sda6 7.8G 218M 7.2G 3% /var
# O2 \7 b+ R @8 @: K9 s! b) l/dev/sda5 7.8G 166M 7.2G 3% /tmp) E9 }- }5 P) O& P. V
/dev/sda3 9.7G 2.5G 6.8G 27% /usr( ~( I+ L& ]9 f5 D! b5 k" R
tmpfs 2.0G 0 2.0G 0% /dev/shm
) m7 H1 r; F! w& C$ h. Y2 X- x0 H8 Q0 @) U& \ o
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
$ l- B0 S5 K, K' m
+ r: V! |+ y& r2 Z 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。" ?* T, Z/ H5 T' K* l
8 ]8 A; r# {) ~7 z6 B 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。6 z2 [9 w3 n3 N+ C
; K7 Z s/ f. R; f2 I" } du:查询文件或文件夹的磁盘使用空间% u1 l8 y" Y7 I- ~% N) E
. U$ y G- G/ x l% A0 s p
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.2 q/ N$ j5 c- B
' p9 d& ]0 Y. g/ {1 N
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 d& D+ k* W$ }7 m* `9 X c
7 l ^+ N% u: E( R0 u; L以下是代码片段:$ p8 [$ V7 R( `# D
' q: `# G8 L6 V5 ^8 P7 y; q( Y7 s[root@bsso yayu]# du -h --max-depth=1 work/testing
+ k5 S$ \4 j& W. N27M work/testing/logs
4 Z( p z3 D2 {2 g; d35M work/testing
3 s2 H+ g# E' @- M+ y
7 W. {# P/ }$ L+ K7 R1 m[root@bsso yayu]# du -h --max-depth=1 work/testing/*& T! l: w( O! E0 h! A1 J
8.0K work/testing/func.php5 j" C! y8 \# E* D
27M work/testing/logs
5 f. g$ D& s2 o; ]& }8.1M work/testing/nohup.out
3 q' Q( p, a+ |# Z4 ?5 x+ a M" y4 a" Y8.0K work/testing/testing_c.php& m; a8 ?! L* M' z
12K work/testing/testing_func_reg.php
. a! j4 m# L/ E& t, u3 c$ e9 U8.0K work/testing/testing_get.php8 ]5 v4 ]# l3 c1 k
8.0K work/testing/testing_g.php
0 E" i# }' q# Q) ~3 j9 ^8.0K work/testing/var.php7 [( D, B% b0 R ~9 D% S9 D3 G# m
1 {6 |: G# `) y. F1 o
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/) Y9 `. T% C* `+ ~
27M work/testing/logs/5 W; M( s; H: m5 ?
/ O8 _- m1 j' z9 _2 t
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
. u: h* L) H8 C3 `8 f+ {- a24K work/testing/logs/errdate.log_show.log0 E* d7 D8 f; Y" r
8.0K work/testing/logs/pertime_show.log
' I3 \9 N& Z% j6 ~27M work/testing/logs/show.log' X3 Z6 ~) A( w; Z
1 Q+ A/ }! k7 k- B+ \- u& \% T9 _ |
|