|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。0 k# I5 f1 s" Y f
6 i/ R- G" O3 F, i1 Z& S
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
& r, y: v, F4 { du可以查看文件及文件夹的大小。7 e- \5 G+ z D1 j1 b6 }
. T2 E- L; l7 [) _( e
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。& z. X) O) _& j4 C2 A6 a2 A
% Y; U% W2 b( H2 J/ h1 \ L
下面分别简要介绍2 V/ X1 i: w3 ^6 O' y8 Y' `" E
4 G; ~' A. J7 s. b p
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:) o; A+ Q" n+ B8 |
" @6 s( S) D( ?/ A3 ~7 Y8 _以下是代码片段:( F) P6 P2 o+ Z$ h3 B8 A( R
4 x$ I' z \8 L/ l4 q
[yayug@yayu ~]$ df -h
Q& q9 Q2 a, Z" A! ~" {+ r$ RFilesystem Size Used Avail Use% Mounted on% y; i0 H( N" x0 t0 T
/dev/sda1 3.9G 300M 3.4G 8% /5 X& n1 K b* N& t
/dev/sda7 100G 188M 95G 1% /data0% E, B! t# y4 \3 C, f+ \
/dev/sdb1 133G 80G 47G 64% /data1
4 \; ~" ]6 ^. b5 F C/dev/sda6 7.8G 218M 7.2G 3% /var1 f A2 S! w' {, e( n1 {
/dev/sda5 7.8G 166M 7.2G 3% /tmp
6 U- F, a3 q+ [& O- X/dev/sda3 9.7G 2.5G 6.8G 27% /usr2 A2 D, m8 V& H' N% A/ o
tmpfs 2.0G 0 2.0G 0% /dev/shm+ {9 o& I& ^, ?& j* u
2 Z- ~/ m: H1 K( f 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
l8 B9 `8 I! Z2 d$ ]' {! q% R9 P5 S& K6 Z% t) [- z& P# |
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。8 n, M$ t3 d: o* y5 h+ @
5 G" e+ E( {; _( `3 B* d: f: w 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。3 K2 ]# D0 a8 `; N2 A4 e
5 X" h- h! v/ {- `! L( R du:查询文件或文件夹的磁盘使用空间
E3 T& I9 F& Z; I
( b+ D7 Y$ r7 z. w4 f 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.* ?! C" N/ W- e! U. q* B& |; C
% [6 P+ \3 d! s. I0 o! c+ d7 m
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。8 s6 y( Z6 J% W3 _) s, S7 z
( z) ?* C& h: v( _& P4 \以下是代码片段:
% E- J6 F B( o7 ^5 y& C* q" S* p; L4 h5 W
[root@bsso yayu]# du -h --max-depth=1 work/testing
( s- ~3 v! @1 Q( ]3 [% U2 k6 [27M work/testing/logs
; e0 T1 h6 R, [6 P1 A: P7 F35M work/testing
; y3 G4 ` c/ c+ ~* z {" P% q" [
9 H* V' A A- v( P: i0 M @[root@bsso yayu]# du -h --max-depth=1 work/testing/*
0 z2 o& C, B; L1 h7 f6 }9 v n! p8.0K work/testing/func.php
+ S6 |* ?9 B& Q6 o3 i! n5 Y/ I3 {5 ]4 b27M work/testing/logs
& X) _- H* L: l3 T. o6 o8.1M work/testing/nohup.out
) y" ?" Q T5 M8.0K work/testing/testing_c.php7 P* L) T$ K. E/ v' a$ o
12K work/testing/testing_func_reg.php
6 S" R, g! I" a q. N6 D8 u8.0K work/testing/testing_get.php
5 h" B2 e) j& |8 E0 R- [. z8.0K work/testing/testing_g.php
& k, W$ {: W- c. x8.0K work/testing/var.php1 N# ^' J3 ?! F2 v! ` R
; M5 o9 t' C4 ^- l& t[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/- e; c) d8 |2 }
27M work/testing/logs/! c' |3 o6 L" j2 G' N( M
( v; ^* J# @2 n; s% W[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
3 a% g5 |) \( m+ @& N t; G24K work/testing/logs/errdate.log_show.log
+ U; s2 @4 L) Z: |1 a: B/ c' @8.0K work/testing/logs/pertime_show.log
, `" p2 \8 {3 ^27M work/testing/logs/show.log
( ] X! f" J+ V1 A! A
8 Y4 ?( p# B U" Y |
|