|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
- c N5 R6 z) j! U, B1 ^
' g: s0 h0 K5 X6 F/ M df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。& R* Y* W8 |. s, t9 T" ~
du可以查看文件及文件夹的大小。+ L9 ]6 H0 v( w/ I- D# x
8 [8 ~9 n( Q3 i+ H. z+ |' n3 K
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
- |! F+ {+ ]6 k# P4 a9 E! ^" ^# k" {9 P4 H3 ]
下面分别简要介绍
" n) z- b) O6 G, m* V- R+ S0 l" l4 }5 g
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
2 N4 G! g ?/ O& T% V( S+ O1 k* `( X5 C6 I7 Q) a& D2 B0 Q
以下是代码片段:
' f, \7 N" |! c# u& A V2 K
3 w7 m( N( J. w- N[yayug@yayu ~]$ df -h
' z8 }* g! p( |Filesystem Size Used Avail Use% Mounted on
) \. l9 W4 r# l% \. g3 f4 D/dev/sda1 3.9G 300M 3.4G 8% /
: s A) T" j- J% q& [, h: X/dev/sda7 100G 188M 95G 1% /data0/ ~# j3 X9 Q8 ^* |) `9 j& Y C8 K
/dev/sdb1 133G 80G 47G 64% /data1" J3 g8 n0 c+ R5 |: @* ~# D
/dev/sda6 7.8G 218M 7.2G 3% /var
7 W: x1 ~3 u8 e/dev/sda5 7.8G 166M 7.2G 3% /tmp
2 \& T+ _; K9 \8 ~. o f/dev/sda3 9.7G 2.5G 6.8G 27% /usr$ J& `" B% _, ?7 J& O7 g5 M
tmpfs 2.0G 0 2.0G 0% /dev/shm, T6 u+ @$ f" i9 h R5 h
& E S, Y d. X6 O
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。- _, W0 ]) Q6 o9 u% x
8 Q) i, [9 c) m# c3 _; J8 Q9 y
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。2 l8 U7 I9 a; A3 T
0 m0 r8 x$ h y- t$ \0 Z 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
$ l, B- ?- a/ r0 P/ [5 ~: U1 [/ q+ T
1 n) w$ V( e: ~ du:查询文件或文件夹的磁盘使用空间
. T5 n0 K1 ?7 {. C+ U7 H& q4 d+ s1 b3 z2 Q. Z& p
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
, f' y3 `0 Z; ?+ y- |6 g. |" {
4 ~! ~ \5 F( T; ?, e: U' P( | 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
, j2 w# y- C; o4 c6 S# @/ n: Z; k3 L) ]" n. R. r) c
以下是代码片段:$ C& h$ D! y3 e! m: O0 J% M
. F+ S: V l0 j
[root@bsso yayu]# du -h --max-depth=1 work/testing. Y% g0 k4 @' ^# z, {* A% F
27M work/testing/logs3 j- ]: @+ B; |1 p
35M work/testing
8 z. \- U, w' p% o6 _2 l) t! W- r! ^+ \ P7 z, B1 e
[root@bsso yayu]# du -h --max-depth=1 work/testing/*+ E: B. K$ C2 T
8.0K work/testing/func.php
* z# V& s' o& M! d7 t8 z27M work/testing/logs: p6 f9 c, u2 W& ^( G8 `
8.1M work/testing/nohup.out) {' e& a, Z) O5 F! w# t; i$ ^% G: l
8.0K work/testing/testing_c.php: k' a* H9 R) f5 l7 F: z
12K work/testing/testing_func_reg.php
3 a- r! W* Y B" L! @8.0K work/testing/testing_get.php
( i+ s! M5 W% `8.0K work/testing/testing_g.php
6 s) U3 Z4 i! g# l8 v8.0K work/testing/var.php$ k, c$ f3 L+ M. S& X4 G
8 u2 z! U5 q# d% V$ U, g
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
# R" T. M0 `9 p4 s( X+ {27M work/testing/logs/% E z+ V0 ^, i. |) n0 p
) ^6 h; q! n& W |2 V
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*! G: T: h) ]- X7 U6 }
24K work/testing/logs/errdate.log_show.log) K- y! E7 v7 E+ v L1 y7 L2 z
8.0K work/testing/logs/pertime_show.log- q- v" l8 m* a9 L
27M work/testing/logs/show.log
1 ?7 c6 e( x7 k6 [5 f1 v% `% v6 D8 I6 M( S
|
|