|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。* u2 N5 u X( m" ~6 U. `5 J6 M2 a7 a
+ T' n* i! S- S# Q* W
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。0 H* E3 t/ o3 |! @4 `; s* N) }
du可以查看文件及文件夹的大小。' m) F# D X, ~8 c
. P7 J, \9 I1 r9 N# ~
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
. ^' N4 P/ |/ b7 j- W
3 O* {# m# r. R! h 下面分别简要介绍
% D5 v' W. T4 I) v( l1 j
' N5 u& c* d1 W# A df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
, h/ B) H! l+ b! k9 m* p+ Z9 O5 g V1 i) R
以下是代码片段:
' s2 ~* A% }3 z0 Y9 r1 i, ~% U9 C) k( y: v3 c( z7 O
[yayug@yayu ~]$ df -h
0 Z% ? ~" v4 e- v) X; AFilesystem Size Used Avail Use% Mounted on6 a M- X0 \4 k+ [+ ]
/dev/sda1 3.9G 300M 3.4G 8% /2 j, ]+ s3 }: |! e# O* F
/dev/sda7 100G 188M 95G 1% /data0, o# u8 y, i5 L2 p& y* N8 V
/dev/sdb1 133G 80G 47G 64% /data1
% r7 {' X V7 k, f8 C/dev/sda6 7.8G 218M 7.2G 3% /var* Z# u) q8 q' ]' X
/dev/sda5 7.8G 166M 7.2G 3% /tmp
& L6 ] [0 Y% E/ N9 [! m/dev/sda3 9.7G 2.5G 6.8G 27% /usr( F: T! c3 p/ M$ e' v
tmpfs 2.0G 0 2.0G 0% /dev/shm
! J+ [8 N3 u3 P/ S
/ y/ ^/ w# P& ]& | 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。5 O" v6 e5 z/ t, i" z
; k; ~" r5 w3 w* |* {
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。5 ~- b# k+ \9 V4 s* S+ `
- r, E6 [8 i) C U0 F
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。# ]4 c: \1 \+ d8 J
2 g1 Z8 H1 J# e0 e6 Z; I5 f+ M8 L
du:查询文件或文件夹的磁盘使用空间
( V, R# w$ m7 P9 i, _# Q
2 S3 @8 \# g8 I. X+ E0 @8 O }6 _ 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.% X+ q+ f1 Z' y6 a5 M* k" X- ^/ x
( P! l7 x: r0 L+ u0 s; H
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
& R& `6 ]/ |' }) k8 I# E9 ]' @" w7 o3 O2 _' n) N6 U: e. Y/ @' |
以下是代码片段:5 ?- A* i) U( |4 w) u7 f
- i Q! L4 [& }4 t5 k% z[root@bsso yayu]# du -h --max-depth=1 work/testing0 D8 n; y6 s# M' D; F7 }; q0 g
27M work/testing/logs1 y0 |' D2 o3 U* v3 x" Q' ]
35M work/testing
8 M6 ]0 i' r4 {/ {, I3 B2 W
+ b2 ]! J4 C9 M' E9 m2 x[root@bsso yayu]# du -h --max-depth=1 work/testing/*" z% n+ R/ i7 U$ B
8.0K work/testing/func.php& M( k! j4 U8 A% V1 C
27M work/testing/logs, s7 m& k+ j6 z6 |
8.1M work/testing/nohup.out
# k; [: i+ ?: o8 O; n. L8.0K work/testing/testing_c.php
5 p6 y* X! [6 \" D12K work/testing/testing_func_reg.php
) x3 G+ y* k9 i$ ]- [, {" e/ j# q8.0K work/testing/testing_get.php9 @) t% ]# W" F/ Z) R
8.0K work/testing/testing_g.php y6 C: E4 _' S, V/ M3 I v
8.0K work/testing/var.php
5 p/ X- b3 r; E9 M5 P- S- U# d$ }2 v! K% h, c3 w7 O8 H' Q1 p/ d8 o) i
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
/ q8 L v: M8 D4 N( ^+ {* c27M work/testing/logs/
1 _* P$ f* D: j. L) @ c* D$ J, y0 e& c/ u- @3 r' \6 H
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/** A8 d+ p6 a# B; w* l& l; m: x; I+ R
24K work/testing/logs/errdate.log_show.log# p% v- b: j: Z8 N6 q% f# i
8.0K work/testing/logs/pertime_show.log
4 ], V9 C9 l% U27M work/testing/logs/show.log- j+ b0 a) A# {, }; S8 X+ o9 W+ R
% J6 q& e8 x; O a4 d* P( s
|
|