|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。6 J, F7 A& g( _5 d" i* A
$ j+ w1 f" F$ O" n% Y# M8 I
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。- w) Q' P8 g K1 _! C, z5 L0 X
du可以查看文件及文件夹的大小。
) Z9 _( i" o" I# u2 L- e- n$ d
/ N/ Q/ v5 |" t 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
' V/ Y. A) J, o3 W4 Y$ G1 U
- q* h1 e: }9 i: v 下面分别简要介绍
" p9 W: `4 p' _/ q, l( W' D" P5 B4 J" u2 p$ W, n, Y; p& E
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:% h( I! t7 |+ y/ S! s T
/ S5 }$ T& W; h2 I* V
以下是代码片段:, S5 ~& J* F7 ~/ y Z0 ?4 b. }$ c
* H" i+ U* M( d! l) E; |[yayug@yayu ~]$ df -h
# N! x3 U' }- e) N( NFilesystem Size Used Avail Use% Mounted on
0 X( a3 ^% Y4 Z+ M) }/dev/sda1 3.9G 300M 3.4G 8% /( ~5 m$ K' D$ a; W/ o' g
/dev/sda7 100G 188M 95G 1% /data0; t/ `5 n3 @5 I
/dev/sdb1 133G 80G 47G 64% /data1
+ y( l8 @" }. @/ L: |/ q/dev/sda6 7.8G 218M 7.2G 3% /var2 g; V' T. ~( k1 |6 S
/dev/sda5 7.8G 166M 7.2G 3% /tmp
, f9 G) C/ s" B6 g" b/dev/sda3 9.7G 2.5G 6.8G 27% /usr
0 b$ [4 _, G8 Y" G' Xtmpfs 2.0G 0 2.0G 0% /dev/shm
3 C. f% ^4 B Z G6 o
6 ?6 ^: M, H( O+ H) f8 m 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
! X/ ]4 x% Z# P* a8 Q A: K0 R$ c/ N7 Y8 F1 u: ?# R2 t9 {9 b
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。+ W" i! ^/ a$ O, B; B3 L
6 w" Z% B2 [9 m# s, B& ]
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。$ n/ v+ q* ^3 s) M
5 y* b" @4 B6 z K# K du:查询文件或文件夹的磁盘使用空间
1 Q* W; o2 k R% [0 m0 q" _0 W5 F4 W9 i' a5 m, M) T) q
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
8 R# D8 S% p7 L0 z5 g* d0 W
5 r$ J' [" r8 T% P! T- V 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
. v. G$ ~! W$ i, ^* s
+ I7 m3 s! O n: E9 l: o$ J* K# D以下是代码片段:
- P% v" b1 @% ]( W% n# J/ b$ t5 m. k! X: T( w& C( I
[root@bsso yayu]# du -h --max-depth=1 work/testing. f2 a( H: k& h7 C) |2 a
27M work/testing/logs
/ f w2 `( s: X/ E* Z: D$ A35M work/testing9 x3 i6 i5 ^1 C* y4 q. e8 i- Y
; l6 d, O$ f! ?5 o: z# u- b[root@bsso yayu]# du -h --max-depth=1 work/testing/*
: r: C6 c$ a$ [& E, }; V f3 M4 f8.0K work/testing/func.php# \9 `* x" x- l2 E! [
27M work/testing/logs' x) W5 K" X. e9 B2 A0 Z
8.1M work/testing/nohup.out/ P& E& Q) U4 L) `! n% c+ M
8.0K work/testing/testing_c.php3 b" e- _) D7 T% I$ e
12K work/testing/testing_func_reg.php
" ?) J' Q' `) w8.0K work/testing/testing_get.php4 F3 Q, Q2 }- S1 l/ Z+ S9 J8 A
8.0K work/testing/testing_g.php
5 G' J/ x) V3 E7 w0 H$ b8.0K work/testing/var.php. V F! W5 M0 P
d) \3 w$ o, E! `& Y: ^- D[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
E- ]; A( _6 z: D/ V @( V& U27M work/testing/logs/
+ _4 \: T, `' t9 e5 j2 u' f
4 ^6 c/ p& Q, b* G; m q2 V2 i4 C[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
% F: m, \2 |# T! e8 L+ ^' f! @24K work/testing/logs/errdate.log_show.log
1 t! k' T) Y6 C7 x( m8.0K work/testing/logs/pertime_show.log
; C6 Y- r) q9 I% E. V4 \1 q27M work/testing/logs/show.log5 K( [7 c$ T! M+ H4 ~" h
6 X) f& y N5 V7 H$ u
|
|