|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。! B5 ^$ f8 ^# q+ d7 w
+ O {! S, ?; w
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
1 i+ L2 [6 }! V. [5 c9 [' F du可以查看文件及文件夹的大小。
3 o* r$ C% E1 b$ j# \ @7 T
1 U/ k0 y! E. `; v 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。8 z) Q5 L* N- H6 ^
& W2 M9 I4 {/ m6 w 下面分别简要介绍3 W# Y0 Y5 K& l* P3 ?7 @% \. m
" |! ~( ?5 ~9 u4 e, K( G2 G1 u df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:4 \( b* ^; G# R- C1 Y0 R
! ~6 b7 f6 z) o) B以下是代码片段:) o# q) i: M2 G+ D$ V
& p* L# _1 V5 G' E
[yayug@yayu ~]$ df -h
7 b9 q, S1 H% c4 hFilesystem Size Used Avail Use% Mounted on, F9 H, h% S$ c$ V6 E' j0 H; e
/dev/sda1 3.9G 300M 3.4G 8% /
2 V& ~/ Y* t% i8 h) h% V0 z/dev/sda7 100G 188M 95G 1% /data0
! @" Z& g+ u2 T- Z u' w/dev/sdb1 133G 80G 47G 64% /data1
! G; Z, ~" r5 x1 i, `/dev/sda6 7.8G 218M 7.2G 3% /var8 ]- \4 @. ~: C) g7 o6 |8 A; m
/dev/sda5 7.8G 166M 7.2G 3% /tmp1 \9 u9 d: @; A; t- g% S! p' t$ W
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
7 G$ w9 j7 `9 s! Y" H3 d8 gtmpfs 2.0G 0 2.0G 0% /dev/shm# S1 [7 z& @) H( ~$ W9 L, h2 q5 v
% O' V" p: |' |
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
- p$ J5 Z0 V2 z7 m+ H' G4 ]& s1 q4 T
1 A( x1 d0 ]! _% K3 c. V3 a 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。" B* d1 s/ |( E
* X) h3 @ y# J" I4 ?- ^; Q/ h+ M 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
8 N0 c1 P- _' \! N, L! O* ^: j& V+ h; m+ u, v4 y" _# L
du:查询文件或文件夹的磁盘使用空间
6 ~/ k' V8 o% g6 R O; P) s/ X
) m* Z4 K, i! i 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.1 A# h7 Z& y t0 _, G! y
: O5 @4 i, C+ o9 z; {. f
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。7 F# \* A+ Q; P2 q: [
0 y/ x4 N- x9 H+ m% [以下是代码片段:
# g o4 e6 Q( ^7 r6 o5 @
6 D) r! V) O* k J) B9 q4 ~6 A[root@bsso yayu]# du -h --max-depth=1 work/testing
& s( j6 i' a3 m27M work/testing/logs
1 l# h/ m2 U$ ~8 F35M work/testing+ J1 f9 M- F; i6 I, u
: [: w7 Q8 S6 m8 ~. c4 i' z5 `[root@bsso yayu]# du -h --max-depth=1 work/testing/*/ X( _% k9 d. q+ J
8.0K work/testing/func.php) b( T* N7 R8 V* x; H4 r
27M work/testing/logs6 v( M Y2 s9 W5 x8 ]# M# L' X
8.1M work/testing/nohup.out
( n. s! K4 y6 p# E1 w o8.0K work/testing/testing_c.php
& Y7 E& o# d2 d4 |+ u12K work/testing/testing_func_reg.php
* ]5 k7 _" d0 o8.0K work/testing/testing_get.php* T# c" w% J. r4 V* z0 y
8.0K work/testing/testing_g.php" U( Y+ ~; J' `2 ~- Q1 d% F8 d
8.0K work/testing/var.php
5 u: \5 _! K4 g3 v3 d
5 l% H" G+ o2 m[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
: `/ I: o3 z. G7 z9 p" p27M work/testing/logs/+ Z i# f* { w. q ~4 {
" L% ~9 L: P; z) |0 D% [[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*, D! w v. z6 r- \' k" x2 X9 p! W+ n
24K work/testing/logs/errdate.log_show.log
" {2 i. ^# @& }- A7 e8.0K work/testing/logs/pertime_show.log+ K, _( Q; ] b( Z8 Q
27M work/testing/logs/show.log
$ x! e0 o5 R+ x _4 v( Z" t; o; X8 Z
6 L, p5 ~+ u. B F1 x |
|