|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。5 Q8 H) @7 J& f/ G9 ]- p
' [2 U6 G$ J4 K. u4 t8 ~5 ?
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
! D4 `9 b( f) u7 l0 H0 Y; } du可以查看文件及文件夹的大小。
( Y1 W: a2 j" E* ^ g" g8 a, `$ c, K
/ D1 b4 d# Z! W( ~! j4 q) S6 _5 F 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。9 j2 ~! w) ], ~+ A! a, h$ u0 ^0 {. H9 x
! W9 m9 n% W' Z5 A7 M+ i
下面分别简要介绍
1 W' A6 m ^6 q5 g& h4 F7 u1 U) Z6 M3 _7 C$ H3 V* ]
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:1 S4 D) j8 E* B! B. f5 h, u
3 |- ~# Q" Q" S" y' z# @, K1 `以下是代码片段:
- q/ r6 J) E9 `: `9 L3 k, E [- E% V9 d! P
[yayug@yayu ~]$ df -h
; w9 s3 x/ z. ^: P4 O% d' fFilesystem Size Used Avail Use% Mounted on
3 G6 m% Z2 C6 J" c8 Q+ Z/dev/sda1 3.9G 300M 3.4G 8% /" x3 k6 b+ O3 g; k* A1 H% }. I
/dev/sda7 100G 188M 95G 1% /data0$ q0 h3 _$ R& ` c! ]# @
/dev/sdb1 133G 80G 47G 64% /data14 R. v3 }: w" e6 x
/dev/sda6 7.8G 218M 7.2G 3% /var
5 c1 K3 e# S9 U8 x% r0 ~. Z3 Q) t. y/dev/sda5 7.8G 166M 7.2G 3% /tmp
# u- ~1 @9 [( z. S8 z+ A/dev/sda3 9.7G 2.5G 6.8G 27% /usr2 @; k0 P! k+ Z4 i+ D% w4 A
tmpfs 2.0G 0 2.0G 0% /dev/shm
' c- t- @( _5 k, s7 k% e( s2 e+ c
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。% h7 c. N! ~* R6 L# S
2 F7 q' }1 R# T- F5 j0 G 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
' u: H S: }' c- @1 H$ {/ j/ Y9 i4 x2 ~. N% m5 M
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
! j$ Q- X# x& B9 G! ?. C, ~! ?1 R: x" x! t* [
du:查询文件或文件夹的磁盘使用空间
0 d0 X) q* J. m! s. t* S* M. M1 x! K2 d- Y4 m0 e! F5 ^2 z
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
( A( j8 u( ?3 @8 g4 O3 A. [* P2 W
6 U- {1 W! i, c# u 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 C" W8 y( `$ {) M( b6 ? x* G$ ~9 w
6 S+ i2 Y2 F7 H以下是代码片段:
& }( M3 f& M6 [; T9 }* T# r1 @
. v8 R1 @3 x/ b/ v S[root@bsso yayu]# du -h --max-depth=1 work/testing0 r) }9 W1 y4 ?5 s% ~
27M work/testing/logs
/ B# X4 }: u( m [8 y35M work/testing8 k5 P/ p/ z; F# p
8 P+ g8 T5 n- G# }7 O2 ^
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
7 I3 S- B0 `# L% \1 T1 p+ O- S8.0K work/testing/func.php' T& }, r& O0 v* T$ E5 y; I+ r% u
27M work/testing/logs
8 w( k" d3 ]9 }8 s* h8.1M work/testing/nohup.out! X7 t" [/ i6 {: n0 S3 ^' M$ u# N) S
8.0K work/testing/testing_c.php% P3 m* s! P0 i0 \! u
12K work/testing/testing_func_reg.php! J# Q+ P B! G( L g, u
8.0K work/testing/testing_get.php# V1 C/ s/ q6 V; |
8.0K work/testing/testing_g.php0 H2 R( U+ ~% H/ H
8.0K work/testing/var.php4 l" P# h9 e( Y- y
6 W! c" T% B8 C" A9 g) n# l
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/3 d0 D/ R: U; Z" T$ f
27M work/testing/logs/ i8 I7 |9 c; p" ^7 F8 w/ R6 u, [6 k
: L' o# |# F b p: f. G
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*$ s5 g3 l |8 T
24K work/testing/logs/errdate.log_show.log% ]) T0 F, s4 g# i3 |+ @6 ^ h
8.0K work/testing/logs/pertime_show.log6 T, X9 H2 U) s% h8 |
27M work/testing/logs/show.log& ~" s9 a- @+ }- V _' Y: H
' K4 c8 G) B, h$ L/ o- }: u! M
|
|