|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。' ?! g( k9 ]# j* u! ]. |) |
u% Z/ d! M! [+ ?6 o* V; m8 H
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
! S7 Q8 s& Q; M( ~6 g# h du可以查看文件及文件夹的大小。
% F! d+ [ A/ v8 `2 a: r7 Z; k3 z
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。8 V" k# V U9 y
5 X. B: g' p; @) S: L. F9 R6 S
下面分别简要介绍
. z/ b; B! y4 v5 A( Y$ P5 n1 S% q' U$ M8 B2 c' O$ w
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:; n$ X8 ~0 k# Q6 U6 A- {
3 c6 ^; {2 C2 z
以下是代码片段:
9 C; y% C2 |# f4 I$ M+ w" C J2 s4 U
[yayug@yayu ~]$ df -h5 Z0 ?3 M+ A9 e7 |- m! Y! l
Filesystem Size Used Avail Use% Mounted on
, z) l" }* e7 T! ]" m/dev/sda1 3.9G 300M 3.4G 8% /) W- L4 t9 Y9 c
/dev/sda7 100G 188M 95G 1% /data0
+ H0 s. t2 H- P" M) v7 y8 j# u0 r/dev/sdb1 133G 80G 47G 64% /data1
; S2 }( Y7 a* R/dev/sda6 7.8G 218M 7.2G 3% /var: y U6 v; I$ d
/dev/sda5 7.8G 166M 7.2G 3% /tmp
7 y' {2 W" U, s; S) v* @/dev/sda3 9.7G 2.5G 6.8G 27% /usr9 I4 c' E, t9 \7 Y% z( B ~
tmpfs 2.0G 0 2.0G 0% /dev/shm
+ [2 B2 G; d ]3 ^% l8 o4 U
% n3 c6 K% C4 T" A1 i$ h {/ M" S; U 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
8 ~, R$ X9 H4 X9 O% f5 B, N" J- p7 R, ?. a
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
( y/ ]( n* N1 b& B% @# ?3 y7 _9 ?3 B1 _& `" m S2 \7 q$ F
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。 L# z4 t! G+ [
: S- p- [+ {: f# f! g du:查询文件或文件夹的磁盘使用空间. G0 p @0 m/ h' R5 q
* d: ?1 T# I3 c' k; V# S 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
9 u6 k$ \% c; b; Q! g r0 q# n
$ k7 `2 E9 E! {" P5 s6 s 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。1 p G3 {) e4 [+ S7 g
, [6 t" g" Y- Z5 a! n" m
以下是代码片段:) L; R6 f9 W B) E
5 p. ^3 N9 }! ^5 \* v. K. e[root@bsso yayu]# du -h --max-depth=1 work/testing
1 ^+ Q' R' |5 H& n E" c27M work/testing/logs
: L5 J- @! N" Y4 e6 G! h4 D35M work/testing2 ~% \! ]7 z ~) s: a) g
1 u- [% @$ `8 Y+ W0 H7 R" G[root@bsso yayu]# du -h --max-depth=1 work/testing/*
- W: W# Y8 J) Y$ o, c8 p+ M! z8.0K work/testing/func.php) s5 b! R# X5 A; f. k
27M work/testing/logs
& u' M# f# e: h5 I2 w1 a1 {& D# ?& H8.1M work/testing/nohup.out- O) | m; o$ R7 [8 ]3 Y
8.0K work/testing/testing_c.php% `9 I1 \- n/ G# t0 Y. T
12K work/testing/testing_func_reg.php
- K1 |2 N' i6 `; |% A8.0K work/testing/testing_get.php; F* b* f: O3 C! r2 s+ B1 s1 X5 ^
8.0K work/testing/testing_g.php
) u* _9 }) H6 F6 r" X0 X0 L8.0K work/testing/var.php
w3 v" D# k/ ]$ Z( v2 k! g5 N2 G" l
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
- Y8 t7 S) f& h& H3 ^; y27M work/testing/logs/" }" c. F* S. U$ n# \8 M
% j' ~% E0 B6 T0 F, D5 b5 d[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*5 v9 A' x. _ y& v/ Y
24K work/testing/logs/errdate.log_show.log
+ i4 a! ^ U: g8.0K work/testing/logs/pertime_show.log. x5 I+ P' l+ b5 g; o0 N
27M work/testing/logs/show.log
/ ]# C: ]# l- p- K5 q7 o8 w. V$ U
|
|