|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
7 r/ J, T9 G0 m# U9 x3 b; \9 F& Z9 e$ h% d% t0 ~4 c
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
2 y; A+ d, r4 V0 C; O du可以查看文件及文件夹的大小。
* s3 u0 k- |! _3 A7 ^$ p/ X( c/ |* b. z
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。( \: |! |# t. P6 r; E0 D
o7 f* l& F6 _9 t/ U! p
下面分别简要介绍
# G2 y. O9 y3 e2 @1 i5 e/ G+ Y7 }& v+ |, u: }
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:# e# y- J, \. \8 r2 n5 e! t" F
* p0 o% P, G' w V- j2 |' g以下是代码片段:! V8 z; P" _7 s5 i4 y1 n! p4 Y
b+ J2 I' p6 I) ^- Y3 L! }7 t. ]
[yayug@yayu ~]$ df -h
3 `0 d( G' E6 R$ vFilesystem Size Used Avail Use% Mounted on4 V7 z% A$ H2 q( Z8 S8 G
/dev/sda1 3.9G 300M 3.4G 8% /% N* P) _; [( ?
/dev/sda7 100G 188M 95G 1% /data04 a( M* [! Z, _( B" b5 x4 W% `
/dev/sdb1 133G 80G 47G 64% /data1
* o) w, I9 T9 ^, y( e/dev/sda6 7.8G 218M 7.2G 3% /var- q. p n% w. j Q9 C" \
/dev/sda5 7.8G 166M 7.2G 3% /tmp
. |( N( d2 L5 E+ L2 @, Z- X4 k8 E$ w/dev/sda3 9.7G 2.5G 6.8G 27% /usr6 c4 Y5 J8 N) H" e7 w; o' t
tmpfs 2.0G 0 2.0G 0% /dev/shm7 q- O+ n% h, |% m G% Z! b
9 ^& U% R2 ^1 ?7 p# I 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。( s6 r4 r- y0 d# Q2 R8 I& D
) u2 y! J( s+ Y1 o. @ 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。& x! h' W5 h, T- V
& m6 {* k n- q# v/ x& D
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
1 \" k: h2 w* l, h; N0 W
: M7 L ]$ ]! W9 X du:查询文件或文件夹的磁盘使用空间
- C) \$ R; j5 k/ E
$ o9 j3 k+ H. D; ?' N 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.7 g% ?$ F. }* A- }1 R" D+ v& c7 e
9 q3 y" }1 T3 p6 [; ~8 p \; G( y 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
4 d* V+ M* b6 s1 t1 m2 H0 D% w1 Z4 r- X
以下是代码片段: R5 l+ Q- K* h9 G# _2 q( q
" F. z" }; G. ^, u& l; m1 i
[root@bsso yayu]# du -h --max-depth=1 work/testing. T. O/ h; ^# C5 M4 W6 B
27M work/testing/logs0 e( `% w, P8 ~# F o
35M work/testing
" t2 n3 |- T4 R; {! z6 ?- L
! ~: S, j: A6 ?% s! b[root@bsso yayu]# du -h --max-depth=1 work/testing/*' k {& q" m- T
8.0K work/testing/func.php8 m: A# a6 w2 [/ N6 Z4 Y
27M work/testing/logs
2 q2 v+ B/ A0 s# R% a i! M8.1M work/testing/nohup.out- U f: u5 a1 B% R. H: E; W
8.0K work/testing/testing_c.php
6 _4 C2 q4 I3 W6 J E. {6 R' Q12K work/testing/testing_func_reg.php5 o t4 \ x5 I3 b& ^ X6 H
8.0K work/testing/testing_get.php4 V3 [, I- b6 p2 P I1 A
8.0K work/testing/testing_g.php+ x0 I( q' ?9 f0 u
8.0K work/testing/var.php7 A/ |- j$ L$ m, x- a
* @) X* x0 r4 n( h2 m q# \
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
& n2 x* i" m) F5 k# J: |8 r: N- p27M work/testing/logs/
9 N' W+ N6 K$ \' V0 _7 X- K, ]' L! }% C
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
2 Z# U4 v) p) Y* q; y5 Z24K work/testing/logs/errdate.log_show.log% F( u1 @# B- e- Z( y# V
8.0K work/testing/logs/pertime_show.log- h8 {- ?- I2 Y
27M work/testing/logs/show.log2 A7 N; i8 O. d( w, M
$ X: V, a3 `) {! X: A
|
|