|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
8 V3 b; s" g2 h+ r' h+ B
) r( _ O1 a6 W u! [ O+ Y df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
2 G/ n0 W1 J/ R; q5 M3 r du可以查看文件及文件夹的大小。
9 r4 c) c- F% w" G$ D9 \) ~
2 z0 O1 k8 L3 E5 t" R i- [, C/ E 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。# L4 H" Y7 l) |' M4 G! ~# N* q
2 ], `* y% E- i1 Q6 D$ G j 下面分别简要介绍3 v3 L/ S/ u, y% N+ f/ u
% t& ~. W& t4 @$ V& O df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
3 j7 e+ T: z$ v/ D) d3 y1 A
: o+ ?6 t$ H) I以下是代码片段: Z Y% y9 F. F( J
; M4 t8 H* {- D+ x. C+ r" ~$ ?6 d! S
[yayug@yayu ~]$ df -h8 C9 O, E4 C/ x9 x: B8 P6 q
Filesystem Size Used Avail Use% Mounted on+ K4 r# c; D; x$ X0 }
/dev/sda1 3.9G 300M 3.4G 8% /
' J+ f8 F- I% h; Y( h" M" u* H/dev/sda7 100G 188M 95G 1% /data0
4 _/ V# S1 ?9 @/dev/sdb1 133G 80G 47G 64% /data1
8 c5 w$ N& X z1 i0 P9 J/dev/sda6 7.8G 218M 7.2G 3% /var! f& i6 d7 d9 `' e) L
/dev/sda5 7.8G 166M 7.2G 3% /tmp' h0 i% e* s, w1 {2 I1 k+ }
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
, B; t6 W7 ]# X3 ?; r, q- Btmpfs 2.0G 0 2.0G 0% /dev/shm
& Y0 v2 W, {- `8 @
4 B3 I; l1 D h& k8 p6 D 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。( z. D2 a% u' T
1 e y6 b0 W. c; w 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。5 {0 K5 ~$ C) {, E/ P' @" t
: k1 Y# { w6 i1 q, K 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。/ b/ k) Q; V2 j" i3 ^3 {6 _4 O/ a
' l E# K' A6 k% O* D/ D
du:查询文件或文件夹的磁盘使用空间
( i/ L" A' G! g7 X0 S& {; C7 g }, y2 a- w% _
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
% t& P, k) W+ h, ]! D2 _. c
# P! b+ w: X# m 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。. z _8 O/ C( ^& R& F
1 m/ x! I2 Y# R! D: o以下是代码片段:: p, r/ z& Z" \' E& c; a
% K3 m8 L& W( \4 q5 O* k( h: D( d
[root@bsso yayu]# du -h --max-depth=1 work/testing
# ]3 l" ^# b6 w9 i27M work/testing/logs5 d8 E7 J& ~4 g+ I2 h, J h
35M work/testing
8 }, `+ n0 r' \) S$ t3 u& ], l( }1 Z- v
[root@bsso yayu]# du -h --max-depth=1 work/testing/*2 k" ?/ b4 j7 C& u) U, Z" Y" w& K
8.0K work/testing/func.php0 @/ }4 l- f3 g& z0 b% x4 @
27M work/testing/logs, f7 A" ^: h& \, b5 W
8.1M work/testing/nohup.out
6 x( S* Y' W0 d: X: g( d8.0K work/testing/testing_c.php; _4 `: }/ G6 T# @2 I; |1 T
12K work/testing/testing_func_reg.php1 ?7 k. @5 w6 G0 k0 c
8.0K work/testing/testing_get.php$ ^9 ]5 n5 m4 A& ?# e
8.0K work/testing/testing_g.php+ c u: U( N: e- x" P7 a7 u. X* f
8.0K work/testing/var.php
/ J+ k' \. ]) L
' z( r7 `1 p4 t2 S[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
6 H0 N- _! i2 I1 ]# C' W. k27M work/testing/logs/( Q5 h9 t: m; m$ i
3 a; e0 a+ o/ o2 s
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*2 O! ]/ A1 R& D# C+ X* \ G
24K work/testing/logs/errdate.log_show.log! J6 u% T& U' p B5 {4 e* f
8.0K work/testing/logs/pertime_show.log
$ o, d( s( m% q27M work/testing/logs/show.log
5 `6 V9 G9 u$ H7 c0 ~5 b
; e+ j2 I- b) K |
|