|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。8 ?% z' r5 r4 e% |
& r# V+ Q$ M3 v3 B, Z" b df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。; V/ ?* u. O+ I
du可以查看文件及文件夹的大小。+ n& x: y0 u6 ]
0 S- s2 s. _# U' O! z1 ~ 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
/ g/ @ q/ d: b" W) I( ]7 a
& j# x S( e; j5 D 下面分别简要介绍
* r$ V, k, R; \: k8 v- I7 b2 T- z$ F' O6 j, X" [4 t; i% K: K9 K
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
; i3 [1 I% V& ]4 R% C# L8 `) c# X/ d8 a3 |8 Y6 A: }
以下是代码片段:# n' w7 G& ^( z: @4 T+ F9 v3 q
' L6 ~. H# G. j S4 i* w* D; |- c8 X+ _
[yayug@yayu ~]$ df -h1 l0 r* R: L! |* L& G k6 G0 X0 w
Filesystem Size Used Avail Use% Mounted on
/ C% F7 s! J- V) E% k; J/dev/sda1 3.9G 300M 3.4G 8% /5 X, x/ I& g, W
/dev/sda7 100G 188M 95G 1% /data0
, c4 c+ |% `9 p% w+ X/dev/sdb1 133G 80G 47G 64% /data1
# u; S; C) A2 {+ n2 _/dev/sda6 7.8G 218M 7.2G 3% /var
2 Y& h" g, P) N3 Z7 I" U0 |5 t/dev/sda5 7.8G 166M 7.2G 3% /tmp( @$ C; |: G9 R2 d8 B4 o
/dev/sda3 9.7G 2.5G 6.8G 27% /usr# J* r& m! ? ^ a b4 X0 k9 @: v& g
tmpfs 2.0G 0 2.0G 0% /dev/shm
4 d6 _5 V2 t3 y9 [, a5 p+ \
+ |& a' H- w( {. t 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。4 x b3 I1 j4 X5 i) \
0 s8 C. x/ h* E
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。; |: J e( Z4 R' H
~7 m+ \$ z2 l' n% D; I. y 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
# b& D& I$ _: l- ]+ n. d3 O6 b- \; m& \; x9 _
du:查询文件或文件夹的磁盘使用空间
% K; @0 Z$ [, A4 i9 }% }1 m/ N+ U% k% M
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.2 R; v# ?* H% a; ~% X& {
1 K' Z6 M5 \* K' j9 C) r0 M; i+ l 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。. q# k3 E$ Q* z' H
+ }8 F3 |* i& K$ S3 l# o/ Z. J: y
以下是代码片段:
* x X/ S3 B! l" A8 X" v* C' [3 B. B, o: L3 W2 `
[root@bsso yayu]# du -h --max-depth=1 work/testing
3 }8 W G' J; Z' X27M work/testing/logs; o( L* @3 p: p2 V+ D1 I8 q7 J
35M work/testing
& d4 |& N) \) ]) Q, u, O/ S
" ?- C6 D7 H& U9 _1 ` x2 k[root@bsso yayu]# du -h --max-depth=1 work/testing/*% [ C; M. z0 d
8.0K work/testing/func.php, F6 L8 q: l8 }
27M work/testing/logs
% P- m% J/ r9 ~9 x# Q. k! B2 E0 v7 B8.1M work/testing/nohup.out
+ Z( `9 d7 B0 I, D' V4 E8.0K work/testing/testing_c.php) N, K5 O: ^; d" b" G7 d
12K work/testing/testing_func_reg.php. C6 u7 Y4 M# N, A3 T
8.0K work/testing/testing_get.php! v+ ]1 p( B u$ ?6 h
8.0K work/testing/testing_g.php: e' h/ Q5 \+ D, Q7 B. Q3 A8 G
8.0K work/testing/var.php; e# P Q1 Y+ Y3 @
3 Z$ ~8 @, _3 f[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/, F6 D& c h( T' f7 u- c: s. x
27M work/testing/logs/
1 {& p z4 |) L. g# f; N" } S% G% `* }# h3 S2 e7 O" ~
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*# s, }) I8 }( d9 t9 T5 ~( X+ A' ~" j
24K work/testing/logs/errdate.log_show.log
/ E( o+ _# H$ ~; g8.0K work/testing/logs/pertime_show.log7 g9 T$ F- K3 i% F7 g- J
27M work/testing/logs/show.log
8 L# g' l4 g( v$ C6 R {$ {
4 F0 s# k4 n C7 E- } |
|