|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
/ H" u- E. h2 `0 f1 y0 u \ |; ?! C9 D9 _& q
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
/ B9 W, ^8 M$ i5 w$ U/ a. K1 h du可以查看文件及文件夹的大小。
' {6 E) q2 W+ m- r2 i4 J/ ?. q, D% w) K/ V6 `
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。. B7 Q0 L1 M# F
% u0 J5 _ t/ J+ |
下面分别简要介绍
0 A) {' ^5 V7 _$ O
/ y2 X0 N! _% e4 B1 O1 b7 G df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
7 R2 c1 T. Z7 ~0 c; S' F
) g6 J$ N" g3 O以下是代码片段:+ ~- X/ b6 l, a2 Z9 b
6 ?/ Q: l4 e) q" p$ q) p* f1 x
[yayug@yayu ~]$ df -h
# I' S9 ?& j( L ]& e, H0 g4 nFilesystem Size Used Avail Use% Mounted on
9 h' s. u7 J% G+ X7 l/dev/sda1 3.9G 300M 3.4G 8% /, e* L( \1 ^3 b5 J
/dev/sda7 100G 188M 95G 1% /data0
1 ]! L: u! o' v6 `/ [1 C/dev/sdb1 133G 80G 47G 64% /data1
4 R0 i f6 ]1 W/ K- S- Q& j8 W7 b/dev/sda6 7.8G 218M 7.2G 3% /var
* R* d0 M/ T7 C" J0 h/dev/sda5 7.8G 166M 7.2G 3% /tmp0 \8 B4 b7 @( a+ e( r3 @8 j
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
1 j8 a0 y ?1 R& O7 s2 X* jtmpfs 2.0G 0 2.0G 0% /dev/shm
! Q% a- a3 x% W: `
+ Q" g* ^5 X5 k1 C 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。, z" o/ j3 o4 \2 i3 o
u. N& w: ^( L3 Y2 p 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
) g1 q5 c( `4 b0 n9 D
2 t/ J" w' B# f8 N; r/ h" u- ? 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。' E2 C: p; ~+ V. f' d0 o! K
( h: f1 c* T$ C! B7 p* f. k+ s6 z du:查询文件或文件夹的磁盘使用空间2 R- B( e3 `9 V
1 g9 Y/ ^4 H0 q0 W 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小. _) K* Z, S/ p( J" U# A
7 q- h: V! D5 f' \6 ?; I 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
6 ]+ O7 Y* A- K5 g3 M9 Q# Q* p |6 E/ O1 {- \
以下是代码片段:1 p3 G0 s" ^! R' i$ H4 @, q
7 L, D( J f6 H[root@bsso yayu]# du -h --max-depth=1 work/testing+ p; h$ Q5 h* u5 _
27M work/testing/logs2 s0 o! d5 }7 P5 B1 c- G$ I1 O
35M work/testing4 h( r& \7 ~% c+ Y7 Z5 r! ^
2 g8 f0 W. q; B2 w% O/ t3 p
[root@bsso yayu]# du -h --max-depth=1 work/testing/*' j+ X# V/ z, N% v
8.0K work/testing/func.php
, i. N, `) Q9 `" F27M work/testing/logs
5 U& ]# a5 Y2 w6 ^8.1M work/testing/nohup.out1 I+ d9 K/ g2 R* p
8.0K work/testing/testing_c.php
: }% ^. G) W9 _* W12K work/testing/testing_func_reg.php1 d( n) D5 _* `, F. X
8.0K work/testing/testing_get.php, r$ k* u+ P+ W
8.0K work/testing/testing_g.php2 ^, x( E `& H; S1 u1 t
8.0K work/testing/var.php
- e) R+ G6 l; @9 l4 B5 [
( ?& X& E6 G$ r[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/3 y: L& c" h: K5 D( q0 {3 m
27M work/testing/logs/- U1 P, q" r+ D
% [: R: P( B; M8 x* _
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*# P% G8 U( h7 T( P
24K work/testing/logs/errdate.log_show.log
5 Z \" _- l6 M( _8.0K work/testing/logs/pertime_show.log
# W' R5 L7 B' P: H3 K27M work/testing/logs/show.log
* T# s! m( i3 V
1 ]& N# X1 E+ R! i) k8 K! @4 |8 a |
|