|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。) W3 A4 o( a/ n' d1 [! y8 l9 O
* }& G# o" y* }1 h4 L/ N+ H df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。. }" _" e4 u* t5 Q. w* c
du可以查看文件及文件夹的大小。
' t5 @) S! |. L3 M! @9 D9 w. n* Z y4 j/ o. p R! Y/ c/ {! W2 C# ^% v
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。- E* k2 ~9 I/ W; d+ i# F9 W6 l% j
( p$ o y# M( ?' v( M
下面分别简要介绍( I9 L0 a |4 Y1 Q0 i( ^% X
; U+ s. s8 p" D5 F df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
, G7 j5 B1 g; Q) Q4 W, o. P8 L4 Q$ u( s }& T. S8 g& @/ f: U
以下是代码片段:; M# _- S; p/ n* d. j+ q
: ?$ p* y# N7 V$ c- k
[yayug@yayu ~]$ df -h( K7 i4 X P& c
Filesystem Size Used Avail Use% Mounted on
/ d$ f0 R, c0 u7 ^% k% f. |/dev/sda1 3.9G 300M 3.4G 8% /
( {1 `0 D& m4 S$ c" x7 F/dev/sda7 100G 188M 95G 1% /data01 @7 a* @- |5 h# E! o
/dev/sdb1 133G 80G 47G 64% /data1
7 A/ v2 g R% k3 c& v5 w- N, z/dev/sda6 7.8G 218M 7.2G 3% /var3 Q5 e/ m8 L p
/dev/sda5 7.8G 166M 7.2G 3% /tmp1 i9 j: a" h: i1 p ~! n1 _) h
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
* X/ x. J8 e5 d1 O& L5 b& Z1 qtmpfs 2.0G 0 2.0G 0% /dev/shm
+ z. m7 m7 C8 G0 R8 N* p/ t7 ~+ h. r( s5 x9 ]& y
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。2 l- E3 t& P* P# l7 {
, h. j: S1 h4 J) P' y; o
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
2 X4 N$ p) ^* S6 Y/ l9 N- Z7 h0 ^2 M* g) J r- J" w
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。2 {- q+ i+ ]$ n1 p: _
6 m8 F* B5 Y$ V6 v, j( R4 @
du:查询文件或文件夹的磁盘使用空间8 p0 X: S% u5 U6 u
. n; ~( n i+ C8 L" l6 R3 u! t7 M 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
8 Y9 [, g7 l( O7 R3 a
; d+ a% z: n6 ~8 f% | 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
5 u2 G7 j" Z- A! Z' r: B2 o
* L+ c, Q+ n, }4 @以下是代码片段:
" i/ }4 J% p' k( B
! V0 B$ N- b7 N+ G[root@bsso yayu]# du -h --max-depth=1 work/testing7 a3 e( v/ x4 D! ]
27M work/testing/logs
+ o4 B) E5 K( y4 D8 M* k# A; s( g0 ]3 U4 ]35M work/testing6 n/ t4 T. F7 h% N" x/ N8 k
' \" n+ D" m, [% I[root@bsso yayu]# du -h --max-depth=1 work/testing/*
" |* `+ Y# O3 N4 [0 e6 x8.0K work/testing/func.php
* p7 U% s0 c* J4 @+ D27M work/testing/logs
& c3 l1 h" C5 W" c( c' @( J J8.1M work/testing/nohup.out% i W L& A% F# t1 W
8.0K work/testing/testing_c.php& ?6 r: @/ | x- l' t% a
12K work/testing/testing_func_reg.php3 h) O. S1 f! z F. K* l
8.0K work/testing/testing_get.php
' {: @: b; D0 z6 p8.0K work/testing/testing_g.php3 X& @6 ^ s3 _ w2 q
8.0K work/testing/var.php
+ I; Q3 [# H& Z6 v9 p
! ~7 V8 n7 B# x4 D[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/' m- c5 w+ ~6 _
27M work/testing/logs/
: a" G1 g8 ]8 X. K( y/ M) k
; x/ p0 K% V2 I- D[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
+ X6 Z l2 ~ q4 i8 |24K work/testing/logs/errdate.log_show.log; s9 u E1 K* a2 n% i" c
8.0K work/testing/logs/pertime_show.log
( `' H5 s5 w! r2 a M5 [/ F27M work/testing/logs/show.log5 y8 A0 G! Y/ D: L! |' e5 L! t% C6 c
- X+ t/ ~9 J" l3 _* {# Q |
|