|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
2 m- a1 s2 r! S; w# o+ K F0 Q' I' b% I( r$ x
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
$ G1 b8 q1 q2 z5 H/ F, c" t4 e9 E4 k du可以查看文件及文件夹的大小。
* v' x" _. i# ?0 t/ _, ?- T4 T( W
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。" s" M" ^5 C1 f$ [
% r. l, [# H, u1 ~, m 下面分别简要介绍
. _9 C3 _- U) s3 N* O% X5 [9 @3 v) F) `7 Z& j& x
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子: S8 D" {% g4 ^! N
" v' y0 V# q; C+ [: N# g$ u. [4 L以下是代码片段:
1 v: ]" W6 E( ~* v3 r. Q0 d' v! f+ J& Z3 ]% Y4 O& }# q. u
[yayug@yayu ~]$ df -h
. Y0 f# n, n5 [& i. q( ^Filesystem Size Used Avail Use% Mounted on6 l& o/ b& k+ f2 |7 s
/dev/sda1 3.9G 300M 3.4G 8% /
+ P( D1 ^. `; [" o4 G* @6 S! Q" K/dev/sda7 100G 188M 95G 1% /data0
( r% U0 \* b, x* h/dev/sdb1 133G 80G 47G 64% /data1
3 b; r% }/ m' \8 ?9 {/dev/sda6 7.8G 218M 7.2G 3% /var9 {" R2 y2 O9 d4 P* Y+ Z. n
/dev/sda5 7.8G 166M 7.2G 3% /tmp" V9 J8 E6 w/ P; h6 l/ O2 J
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
, h% d$ z7 }# l& Htmpfs 2.0G 0 2.0G 0% /dev/shm
* p1 b& `0 F& @) D7 J9 d; v- I* z% i/ ?& D
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。; w+ ~2 ~0 [/ F# Y
* g$ t0 H t% R9 u2 X$ }. e
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。9 M. o0 w' q0 d
- k+ i6 z( m- O1 f7 Z
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。9 Q- m5 x+ J* w
! Q7 Z; n) x; O) c: P6 p du:查询文件或文件夹的磁盘使用空间: x4 Z5 W! y$ k! V3 O+ ?
& S- q+ B) w) K2 {9 K k
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.- l% z/ [) ^7 @6 {
, D; R" q" ~8 b, h: n$ S; [
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 P3 W% O( t) m- \. `/ e. f0 ^
, L H+ i; b1 q) ^! P
以下是代码片段:
* N# K4 |% @! [8 z! y6 V6 M. ~% u" j3 i) [( w7 S& ?
[root@bsso yayu]# du -h --max-depth=1 work/testing
4 k$ F- k& F: C* E27M work/testing/logs
! V+ `' t; P* t1 L) O5 T35M work/testing# M& s, `5 A+ Y
6 d& R1 k/ {1 O$ G/ ]6 O8 `; ^
[root@bsso yayu]# du -h --max-depth=1 work/testing/*0 a7 O- A" p5 X5 h, @8 n- D1 {
8.0K work/testing/func.php! ~: Y, e. x7 Z. I0 S
27M work/testing/logs
& E1 |% ^% Z' ]* y1 ]8.1M work/testing/nohup.out! X& S$ \' v n5 e
8.0K work/testing/testing_c.php
& M& G* l) M6 }12K work/testing/testing_func_reg.php" H& M2 v J. w7 M7 ~
8.0K work/testing/testing_get.php
3 |+ d( z& q9 R+ A3 }' u8.0K work/testing/testing_g.php
, [& }. U# k4 K9 C+ ]- u8.0K work/testing/var.php. l2 }# v, A* q' r& p
, G6 `" t% s" _' u& P
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
/ q B# |2 h, p/ L27M work/testing/logs/: t: M# `0 \. M: T
7 m& B" W2 O6 T/ G[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*. Y( b' I7 N6 I' v" x) s5 H; W9 J
24K work/testing/logs/errdate.log_show.log
) [! X/ M' S0 `$ [0 u8.0K work/testing/logs/pertime_show.log
" r3 {" w8 v- L! t: P) g% }27M work/testing/logs/show.log
( v' `3 h6 ]9 P# z, S8 r4 u! M3 @" e. ?2 B5 v+ b( h
|
|