|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。% c, f$ Y$ i' t3 O) T; `- I0 k
6 r/ R, y% w! M df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。% b, u* U- q5 N& z; @. F5 }7 S
du可以查看文件及文件夹的大小。
2 T! o: t5 U) M( X& M {
& g5 Z, y h3 y 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。, `& o+ ]7 |* c' T% K {- f
) k$ d4 b/ ]/ [0 b0 E. b 下面分别简要介绍- p, C, B3 Q. E& Y, M% N4 S
. e& X7 b) }* O( u9 { df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:8 q: i9 N5 Z* s$ S3 e0 j
+ [4 I: q: T) R, ?+ G
以下是代码片段:7 m+ B- N2 z! H9 u) `
( |( F- B1 U# F) Q
[yayug@yayu ~]$ df -h: t8 j; l3 ?( \: p
Filesystem Size Used Avail Use% Mounted on
' D ~1 W, H; V/dev/sda1 3.9G 300M 3.4G 8% /; j& p# E! L7 \6 p* w
/dev/sda7 100G 188M 95G 1% /data08 Z4 g! ?7 |4 U$ J) N
/dev/sdb1 133G 80G 47G 64% /data1
$ X# U J G& ^. x9 ` t- G/dev/sda6 7.8G 218M 7.2G 3% /var
, }! [- F( I f W9 A5 g2 I/dev/sda5 7.8G 166M 7.2G 3% /tmp
: c# s/ m1 h2 T3 H. ]; I$ h* a, `( n/dev/sda3 9.7G 2.5G 6.8G 27% /usr% x& Z: E4 E5 `1 j+ U) a
tmpfs 2.0G 0 2.0G 0% /dev/shm
; X, B @9 j) w. m9 [. m! y, s
|. E" ?2 j B L 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。9 s* R3 |) X' |1 L! N- p9 A
2 U7 S* l, A8 j5 p, p; X% ~3 [
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。+ s, X8 {' U4 R) `7 g, S7 R2 K/ I. ?
4 T& B& W o. b* \, t5 D7 J 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。' f$ t% \/ j$ P4 D" |
1 ?# L5 u; v% L2 V) J8 U3 X
du:查询文件或文件夹的磁盘使用空间
/ ~6 Q( D' E" b6 X6 S$ S, J
8 y" W/ M% E, A |1 c& u2 ~$ X 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.* R+ X/ p; U/ z+ T& \) i7 U
( d3 @; {8 G2 x# Q. p3 z
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。" `3 Q6 i, H1 U- S9 m- \8 c, j
6 Z4 ]" U' g! b4 N3 B. v w以下是代码片段:# C x: {& @/ H" h u; n g( c" D
8 [9 f1 _! V2 L) J[root@bsso yayu]# du -h --max-depth=1 work/testing
% Z; f) a5 ?/ C! I27M work/testing/logs) T. B" f! t! U3 ~ g i; V
35M work/testing
# b- u' J% I k. m f" H" j E$ H; o$ U* a: r( |% C
[root@bsso yayu]# du -h --max-depth=1 work/testing/*) p. U& E2 |5 g
8.0K work/testing/func.php, F! H8 h7 r* p6 ^
27M work/testing/logs, c* Z* B5 ^( \. d
8.1M work/testing/nohup.out
0 }2 W E* j2 k, B7 \8.0K work/testing/testing_c.php0 X9 R; F/ ]4 X. N, I: l" [
12K work/testing/testing_func_reg.php$ B$ t. E4 B, Z) j
8.0K work/testing/testing_get.php7 l( I4 G( I- e7 C- R" j2 O
8.0K work/testing/testing_g.php B3 k2 O% j# x6 y/ g: C: r
8.0K work/testing/var.php5 c+ p) O! @ B) L! z, l- |% F
8 r% `9 \5 q0 E `
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
: l& E/ E: Q% G& t# P/ w( O4 Y27M work/testing/logs/
9 _: S, A" O/ E5 G2 L# O; Z
5 _$ n7 {/ J/ {* \ t! U9 R[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
6 ^% h5 i2 ^; K2 \3 d% }3 o24K work/testing/logs/errdate.log_show.log- }1 _) K( _" n1 O
8.0K work/testing/logs/pertime_show.log
, a: K+ h" l, z5 j% M2 Q2 ]/ \27M work/testing/logs/show.log5 l) M9 p! A0 f" f5 \
: S! R. L9 ?8 H) l/ R |
|