|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
, ^2 K! h# I; F/ Z( E. Y+ f* z; u% g; N6 `
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 g3 H( N, q/ o* A
du可以查看文件及文件夹的大小。
, j5 N% e; K+ V, h( ?! {2 X& k5 d. p1 W0 q, G' M& E
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。4 @' h1 S3 r: E
! l+ |# X( q' H5 Z3 d; h
下面分别简要介绍
Z( ~2 ]; |8 y& n W" g* L- p ~
6 \) e0 e Y/ V9 w/ o df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
, K- p1 S5 G8 J; o, j0 F/ c* _' K7 x5 L' l& k# y+ G
以下是代码片段:
Q/ }4 L& i9 D6 O ]
. s O6 {) a6 p* f& y! I[yayug@yayu ~]$ df -h
0 n- d, p! ] B aFilesystem Size Used Avail Use% Mounted on
2 [" h& h9 D6 v/dev/sda1 3.9G 300M 3.4G 8% / ?) g- k4 ^( H# Z
/dev/sda7 100G 188M 95G 1% /data03 L. _" C1 r1 M- r/ H
/dev/sdb1 133G 80G 47G 64% /data11 N" P# m% }. Z
/dev/sda6 7.8G 218M 7.2G 3% /var
; S W2 R: F3 F" v. l( S/dev/sda5 7.8G 166M 7.2G 3% /tmp7 x; ]6 z' P" [3 L; k$ P
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
1 U: r* W0 e# stmpfs 2.0G 0 2.0G 0% /dev/shm
" l, h$ {7 S# w7 ?: z! L6 H6 b/ K! s% G; X( L P1 x
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
' o' Q* q; R. s& n+ w5 u- f9 w) k( R( y1 w @, s! H; }: L8 a
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。- U+ \! w! G4 a( n, ~& x# L
: y) x) Z! L! h 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
. e0 W* W8 p5 ?$ G/ a5 m2 {& c- U" ^: u
du:查询文件或文件夹的磁盘使用空间
! _/ |. G* V$ s2 i$ l; z7 S8 g4 }4 y2 U" u5 W
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.2 s. \" G5 ?2 L0 E7 y1 \" Q- h* D
) x2 |9 e2 t# M0 y" L( `$ b
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
! m l1 {, l& Z" g! p- j. E3 {/ P( v( V0 G) Y8 j
以下是代码片段:
" F' J# w/ P3 Q' T0 t0 a2 r% F1 }
[root@bsso yayu]# du -h --max-depth=1 work/testing
3 J, ^1 g* {, z! B. s27M work/testing/logs
8 U) S( r/ `$ t9 W! Z# Q; f35M work/testing9 r$ }, g: I% q
. p8 c' E2 I: z
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
# S; {' ]- V/ R8.0K work/testing/func.php0 t; M* @& F* i
27M work/testing/logs
% b; a$ W7 B, Y8.1M work/testing/nohup.out
; n& {" q7 {( r* g) w" r* @/ C8.0K work/testing/testing_c.php
+ a3 A+ z" |( K3 Y12K work/testing/testing_func_reg.php0 Y/ Y+ R$ N+ B9 ]' @
8.0K work/testing/testing_get.php
) d4 v, b7 ?. j/ e. p8.0K work/testing/testing_g.php
( u2 a3 P4 k' ~! Q8.0K work/testing/var.php$ | P; q5 m Y( m2 r; D% u0 {
/ ?+ ]& i% V3 d1 k- x, u" S$ o[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/6 a) X# h: o: e" q& D) K, `
27M work/testing/logs/, Z0 q1 y. [. Q+ v: M% {$ x* S
5 p7 Z) a {+ s( b2 G! s[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*+ [% d7 G( K* i( s' U! s+ ]3 w
24K work/testing/logs/errdate.log_show.log' E% c* \7 Y/ \- z% K
8.0K work/testing/logs/pertime_show.log
+ ~* E) X! i; d5 \9 o27M work/testing/logs/show.log6 ~$ o; N/ d9 \1 _
/ f% i2 r% b) R M
|
|