|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。7 O2 w; u* L2 a; X+ a. i
: g8 c4 P7 {5 {- y2 `; ] df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
8 b3 A, Z; @' W, _ du可以查看文件及文件夹的大小。
1 B2 P4 b4 X; M8 ~( w; o: u
1 | f( G) B2 N) t( U 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。% n4 u+ P8 t- y, m
! j$ H" Q* J1 x$ p" j6 F- U5 V1 e# j
下面分别简要介绍! g" Y3 f8 Y) {+ @2 E ?0 b3 [
3 b/ \9 n. t5 H7 B
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
* B, Q1 b8 X, R: z: c
n0 N/ F- M9 x) E4 \3 I. R& Y以下是代码片段:, N' `2 _& D F" w4 L9 A5 P
- w4 I3 f7 v5 b. C2 ?" T( i1 d
[yayug@yayu ~]$ df -h
$ F+ G; I5 ]5 }" F- B+ _Filesystem Size Used Avail Use% Mounted on' R( f4 F9 P- _/ [( l/ y
/dev/sda1 3.9G 300M 3.4G 8% /
9 A' B& [4 M$ T/dev/sda7 100G 188M 95G 1% /data0
1 h/ d1 ^% f9 T* H+ U/ `/dev/sdb1 133G 80G 47G 64% /data1
9 D5 Y! E- B8 _0 Z+ D0 c/dev/sda6 7.8G 218M 7.2G 3% /var; j0 |7 E1 P, `- |4 U
/dev/sda5 7.8G 166M 7.2G 3% /tmp! l O( D6 {4 R$ p. C' n+ p1 E
/dev/sda3 9.7G 2.5G 6.8G 27% /usr! V7 d$ s, O# y; ?+ M/ G
tmpfs 2.0G 0 2.0G 0% /dev/shm/ L$ X6 d. ?0 b
5 ^ X6 b3 w( a; Z9 U$ X 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。4 h6 a9 c2 m) @: O
. D/ ^% b$ o3 \; H) z6 r" i
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。. ~! B4 A$ ~* i6 H
4 P, b0 A/ _! J
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。% U" N) N1 `0 a. P& _, }/ q
6 s) {+ ?( }( n& C2 T
du:查询文件或文件夹的磁盘使用空间
5 Q2 ]8 H) E/ V5 _# s
$ @7 k2 ]; N' s `+ L E/ k 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.9 U. z' D3 M S4 X$ \9 h& @
?. n6 \# R% T0 k$ b 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
3 _# i4 a( o/ |5 A8 c' p
) e- C6 T0 v5 u3 W以下是代码片段:# U( C6 q2 R: C. b7 v$ L" b- H
4 f+ a- V/ z! H5 {/ C( Y) [0 x
[root@bsso yayu]# du -h --max-depth=1 work/testing
6 c- |7 d- d# z) ^8 n9 E+ h27M work/testing/logs' X; a3 M' x, ~- C
35M work/testing
. u2 g$ n4 p; Q/ c: Z/ }+ Y+ C4 r: v! `
[root@bsso yayu]# du -h --max-depth=1 work/testing/*, i7 o, E" c; G* L+ I) [' p
8.0K work/testing/func.php0 d3 w1 `0 d' ~5 T0 G
27M work/testing/logs
9 t5 h) {; n4 N8.1M work/testing/nohup.out
/ M U+ k7 w+ s8 F! F8.0K work/testing/testing_c.php
! b4 v( j0 I) e! O. j f! r12K work/testing/testing_func_reg.php
3 R: j9 L7 ^8 b0 D; r, q: r8.0K work/testing/testing_get.php# \- F( }! E! l0 I* [: C
8.0K work/testing/testing_g.php2 |2 E' [" _' p( r5 |+ k5 {* E |. M
8.0K work/testing/var.php
- I; g% V2 q* Y$ e( R4 @
& u# W$ F: C- T8 h0 ?0 n6 I9 E[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
: y; Y) z" M0 e0 x% x27M work/testing/logs/
) y! D: \" u" U0 e _9 {9 m8 ^' u# ^+ N, C& I
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*5 T3 O6 U: l- @7 x# j) G( [+ c/ m- R
24K work/testing/logs/errdate.log_show.log( d. F/ N' w+ q7 s
8.0K work/testing/logs/pertime_show.log6 M% {3 u7 t3 r @9 [
27M work/testing/logs/show.log$ Z4 Q( _. k1 X0 P3 r" H* S
3 N3 B& J3 e7 V% b
|
|