|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
7 [# \1 g# Q0 c3 W, O
$ x/ k/ J- r {1 O+ P- K df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
/ ?* u4 `8 S0 `1 a: M3 ~/ p( Q" o5 N du可以查看文件及文件夹的大小。/ ~ J7 o. T ^$ X3 |' W
1 d3 V+ w$ }3 f' { 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。! O- T2 E' K0 n7 q
8 h. \1 ~; b( W1 r5 ] 下面分别简要介绍
8 B8 K2 Z9 ^* C' a4 P: P+ J
* t9 B; a/ J( l: T6 l df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
# G1 V! c% H) o9 U9 t: {6 I0 C: l4 m4 ]* C5 |! q
以下是代码片段:# }2 |6 h/ a; Q
$ f, Q( L" {7 M8 ~8 }0 [' W |[yayug@yayu ~]$ df -h
, E+ M7 _ h4 x$ g, _Filesystem Size Used Avail Use% Mounted on
- Y m# B: o3 h8 ]2 {% o2 K& ~# {/dev/sda1 3.9G 300M 3.4G 8% /& T) ~; x2 G* H# z5 X
/dev/sda7 100G 188M 95G 1% /data06 x. ~( L! u- L, Y* h. U- m
/dev/sdb1 133G 80G 47G 64% /data12 i. ]# H$ a6 q" D! ]' j9 I; H
/dev/sda6 7.8G 218M 7.2G 3% /var
g. H. S1 _' @ z/dev/sda5 7.8G 166M 7.2G 3% /tmp8 o% X) h" {( p$ D+ N+ W
/dev/sda3 9.7G 2.5G 6.8G 27% /usr; w/ Q( ^1 o- ]- d
tmpfs 2.0G 0 2.0G 0% /dev/shm
4 t: h5 L! n; u4 U( w, E4 ?* W! c: }) X8 n0 Y N- d1 ]
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
- ^* j1 m- `6 A4 G& k5 B) b; V' E* X1 X6 l7 A2 m
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
1 ?& x& L5 m2 W; r7 u
, J2 _0 C1 n0 z' m% M) G 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
+ ^1 u ^2 H+ {# X7 m; b- Y6 Z1 @& i
du:查询文件或文件夹的磁盘使用空间
/ S2 N( V# c, ^' ^3 e2 ~7 J4 v1 y* m2 k: R
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.$ P! p7 _8 q8 b3 |4 G% k D
' V$ t1 u2 _$ w6 o 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
6 \) O6 }( ~. ]! ~& B- m
! G9 ~+ l2 q$ D% H以下是代码片段:
9 Q4 P; U0 l- a' m: T( F
0 h7 j* ]2 ]/ y3 ?# ?[root@bsso yayu]# du -h --max-depth=1 work/testing* c$ t' ?) e3 H/ B
27M work/testing/logs
% V$ c6 n- T4 S' S35M work/testing
6 ~% M1 C$ l" W( J
2 Y, X; [/ I, W* ]: u/ L7 G8 L0 ][root@bsso yayu]# du -h --max-depth=1 work/testing/*( z7 K6 E G6 u: ]$ w2 u
8.0K work/testing/func.php
3 r, \7 W% k% b% `27M work/testing/logs
' _' J: d# @' s8 A6 A+ V+ }8.1M work/testing/nohup.out) e) @# x9 i2 T+ A S
8.0K work/testing/testing_c.php# W1 y: L2 X' m! H" x8 W* _+ u
12K work/testing/testing_func_reg.php
8 M( c" l+ e, r. t3 Z' M8.0K work/testing/testing_get.php' D* E/ f; w& J) l0 f
8.0K work/testing/testing_g.php" S9 P( l/ i5 P6 U4 O2 C
8.0K work/testing/var.php6 [ }. x# v- s; W& p
' r$ _5 n( q) w* Q) t# e: r[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/: N& N, b& H! c. F
27M work/testing/logs/ @3 p& R0 l) U9 L
2 W) X7 M G' k" N \8 K, `/ d/ |' ?
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*$ P, i$ H- O+ [# X9 u
24K work/testing/logs/errdate.log_show.log5 ~: X$ E f3 g3 C: |, @
8.0K work/testing/logs/pertime_show.log" K+ e. N8 z' [& {: V' g
27M work/testing/logs/show.log, o% ]' r3 E* ?) y! F. M# u
' d5 S+ v. f C& |8 ^
|
|