|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
0 | E( Y# K4 y2 t+ Q" V s. Y9 e+ v/ _4 U/ T+ V
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
7 V/ \4 C. G9 z: M( l3 f# K du可以查看文件及文件夹的大小。
0 f. z: Z4 Y6 d; i+ P
! z4 S0 |* {0 x7 d 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。; o6 n' N& r7 o# A; t9 [
& h4 u- x& }8 ]9 a 下面分别简要介绍
3 }8 N: _, u( S$ }
! U' T- F! Y" h: h df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
' ?' [- h- b: K7 k
- ~1 h0 U2 g. y- E3 S以下是代码片段:8 m+ e4 H3 e; S7 [& ]6 G2 M
: h3 y! n& _* M4 z5 t
[yayug@yayu ~]$ df -h
8 G$ E# D/ o% lFilesystem Size Used Avail Use% Mounted on% k v5 F) }& _- k4 n5 Z
/dev/sda1 3.9G 300M 3.4G 8% /4 q6 L7 w8 ^1 y% y+ Q9 J/ B
/dev/sda7 100G 188M 95G 1% /data0& e9 O' C* S1 ?6 K- A9 U
/dev/sdb1 133G 80G 47G 64% /data1* K |. W- W4 f) u4 y! D$ G
/dev/sda6 7.8G 218M 7.2G 3% /var
! P' ]5 f1 x. O3 q1 K* y! O/dev/sda5 7.8G 166M 7.2G 3% /tmp
4 m* m1 Y# V: k1 {+ J! x' r4 l/dev/sda3 9.7G 2.5G 6.8G 27% /usr
5 [" E8 v# X1 Q' O* O! Ztmpfs 2.0G 0 2.0G 0% /dev/shm5 Z4 g" n6 U! R8 ~8 F, t. g7 S
! ?, x, D. T: |- Q
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
. }; O/ D7 B. b1 p, e1 a' t
2 m9 w; c) z6 c7 d: l: ~ 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。; ^3 I& T( q& |; }
8 t6 E- z i* O2 i
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。9 [. R- I% M6 t2 g5 o4 l
/ c9 Q% F6 ]0 }( s" E" S du:查询文件或文件夹的磁盘使用空间7 o B; b6 g& Z7 D, V
* W8 _5 R" E8 `% F
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.0 F. V% }; k+ [/ a6 I
/ N6 A8 z- P0 W! |3 A' X% Q4 E+ J 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
. A7 j/ o1 I3 f/ {! [3 J- y5 m. V" I8 r) q4 o' o
以下是代码片段:
/ w/ z) Z j. R/ e( m# v$ S( y8 h8 I" T0 X0 m' D+ q
[root@bsso yayu]# du -h --max-depth=1 work/testing( j# n- k& d- s% e$ {- l
27M work/testing/logs
7 d: ~8 f6 b: H; G- p35M work/testing$ d- r2 K( o/ z+ j
2 V1 @9 l! _7 ^4 N[root@bsso yayu]# du -h --max-depth=1 work/testing/*
8 M) i4 [% `( V6 p8.0K work/testing/func.php% D! F! M6 E6 u# Z
27M work/testing/logs9 I( ?+ w1 J0 ~" h" H* i. A
8.1M work/testing/nohup.out
) y4 b4 @" l) K5 H: @6 }8.0K work/testing/testing_c.php
1 U3 R6 t" ?+ L( x+ ~12K work/testing/testing_func_reg.php
( \( L; j$ }5 X9 W" f8.0K work/testing/testing_get.php
; L; M8 Q) w2 T* W' D% h6 ?' j8.0K work/testing/testing_g.php
3 Q' [) T4 x% y. J% |8.0K work/testing/var.php( N* V# |1 _; c" |
# y+ m) W4 U* I1 Z
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
& j1 Y1 E4 F- }- h) W27M work/testing/logs/
8 ?1 H I4 s- O6 T$ w( y: v8 B- {0 S$ a% o x$ k G
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
6 _( m. _8 h' [# b" x: U24K work/testing/logs/errdate.log_show.log
0 ?/ O! _6 x: o' u- G8.0K work/testing/logs/pertime_show.log
7 _" t3 m: [: e; M27M work/testing/logs/show.log. m8 k0 N; a' y! [4 u o* P" p/ B' }
" J1 r3 w, D& l) G |
|