|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
" \: k, k5 q( i1 E' x/ @2 T1 P' O% \; G5 C& }
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
: m' v( N5 l: M0 i du可以查看文件及文件夹的大小。
t8 Z0 O2 U4 F) x+ z6 e3 y3 u5 C$ a2 D. O4 N- v
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
9 w8 T$ P) @2 g1 N+ D% F1 p5 Z# \5 I$ u4 u. z2 y7 z
下面分别简要介绍
p/ C. X6 q1 S" y0 D8 y8 b* J) t" N+ S: G L9 O# {
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
( Y- r2 R1 F/ h/ k/ d* |/ W4 w6 m' { u
以下是代码片段:% R* |8 p" u, B3 l3 L$ s
( C0 n+ g, N' m8 k8 J; c- v[yayug@yayu ~]$ df -h+ ~- H- G; M5 \7 f! ^4 m5 r
Filesystem Size Used Avail Use% Mounted on4 P+ z$ J& k# |; }" p
/dev/sda1 3.9G 300M 3.4G 8% /
" [6 |0 S# S5 \, W. Y/dev/sda7 100G 188M 95G 1% /data0% X: B. d4 W( |
/dev/sdb1 133G 80G 47G 64% /data1! i/ M3 f& a I% U0 s6 N. B
/dev/sda6 7.8G 218M 7.2G 3% /var5 s; v+ n8 y! l: ]/ H3 h/ u
/dev/sda5 7.8G 166M 7.2G 3% /tmp8 ^) F) m4 Z1 J2 N) P
/dev/sda3 9.7G 2.5G 6.8G 27% /usr7 Y% t, [- C$ ?9 ?- b; n
tmpfs 2.0G 0 2.0G 0% /dev/shm* {( t8 f1 p5 P1 v! N% t' ^! |
8 l+ r9 K- p4 A1 _) G0 F) R2 b) U& K
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。8 l5 E' W# r/ T% O1 ^/ j$ {; N
$ f/ w. \9 y' }5 i! v 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
8 ]' t' A$ l, {$ O
& ~2 m. ~* r0 d6 ^+ u5 V4 N 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。; J% X& d# t$ v% j. O0 |
0 }. _7 T% Y6 H y, D- I du:查询文件或文件夹的磁盘使用空间0 d* g. I3 _3 V0 z2 j/ `
- k: ]5 }; Q: g1 P8 d
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
: f; F4 s& q" \6 g1 g) w9 ]0 o# o' ~# d) h! }
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。3 P. M0 i j2 c1 N6 q( K
0 Z0 D3 w: u: p2 S2 c5 K以下是代码片段:- H7 \& {( Y- c4 I
( h, e. J$ h* p$ x2 j7 m, o[root@bsso yayu]# du -h --max-depth=1 work/testing" b" I! G) |% _ t9 k( ?0 X
27M work/testing/logs
- x, l8 _& N H4 s35M work/testing
* I% ]% Z4 S8 M0 r
1 |: ^4 O+ h5 v) H5 E9 K[root@bsso yayu]# du -h --max-depth=1 work/testing/*1 U% R9 K$ X. b) F
8.0K work/testing/func.php9 R) K2 M' x# w. c' H5 e
27M work/testing/logs, @ {: q: Q' s$ _1 @" `
8.1M work/testing/nohup.out2 q0 a% b c' t! J
8.0K work/testing/testing_c.php3 y+ S* H. t& m j6 k, j6 N
12K work/testing/testing_func_reg.php
, Y4 o A3 `' N" [$ t8.0K work/testing/testing_get.php
% N' w3 M! e" \" `8.0K work/testing/testing_g.php$ I: |1 V& u% o7 y* [
8.0K work/testing/var.php
0 Y% ^0 P! c! R% E
# e5 C+ P) M2 \* R[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
. |7 W4 F0 `4 Y4 I. t27M work/testing/logs// i9 P9 ~, \; U) `. T
4 S) C( [% O. r4 f5 E* s A6 A; j. ?
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/* j! ^& a0 Z: h( F
24K work/testing/logs/errdate.log_show.log
4 G: h9 m/ h2 v8 n h8.0K work/testing/logs/pertime_show.log/ }5 Z7 e* R, a1 o% r" F: j
27M work/testing/logs/show.log
; G5 v9 B' c2 ]3 ?
, Y0 V6 t1 a9 H3 n! f; W# f |
|