|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。. f/ o. z; _" O* r" r) s U
5 {4 b+ I( R5 J V. v df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
0 X F* _" v! s4 L, Y1 J I( N du可以查看文件及文件夹的大小。. k6 T* B7 c" ~ S1 e v
) L; H, ^; i$ ^ 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
" e. p* L- T* q; h0 T% i. t8 T( t% p1 h$ y" ~. s+ u/ v
下面分别简要介绍 u; N( m. g# G- M. g
7 B8 L3 S+ c2 x* w- B2 |9 w df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
, F$ R1 L2 R3 d" e( N. F6 o
; D; v# Z* [$ y! [0 l以下是代码片段:
2 o( f9 j1 j; q0 D# K
" v3 o/ m3 C2 R) y& t3 i4 n[yayug@yayu ~]$ df -h& g% X% |* z: n
Filesystem Size Used Avail Use% Mounted on( ?. H2 X4 I5 b9 X9 L4 |8 d6 F
/dev/sda1 3.9G 300M 3.4G 8% /
2 C+ ^+ J- x. d! |# T/dev/sda7 100G 188M 95G 1% /data0
4 s9 O. q5 X& B/ I0 \# ~0 o/dev/sdb1 133G 80G 47G 64% /data1
7 t7 h; R& r/ V+ u2 l' j0 c/dev/sda6 7.8G 218M 7.2G 3% /var) j. k( \6 O* p! Z% q9 l' n; b
/dev/sda5 7.8G 166M 7.2G 3% /tmp
7 z* t! G* W& Q/ O/ K1 ~/dev/sda3 9.7G 2.5G 6.8G 27% /usr
4 r+ e) P! S/ ^, O% |; atmpfs 2.0G 0 2.0G 0% /dev/shm+ A) W/ e F- H% ?( d$ K/ p
1 i, ]& Z! m; V' P4 o( t, V$ x/ z 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。" V: M. k4 ?: c1 w
% i, X$ r0 y- F& e7 E 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
: ]9 o+ n: q; K+ H- n5 i3 F# o) ]5 I7 _" r; W2 ~ @! |
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
/ o% x/ i1 T9 F% W1 Z+ \6 y# ]( C0 I* g
, s; B; j `# s, Z6 n. h6 r du:查询文件或文件夹的磁盘使用空间
6 [* h' c8 k; c* S- m" J
. E! w+ f5 K# Q4 ~/ P; }, h 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
. r7 C& x w! A+ S8 V" ~. ~* u, b- c
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
0 P/ X/ h: }5 U5 }7 w# w; B) y9 V
8 p2 C6 K& _& f3 Z. v以下是代码片段:
3 R) h, i( F" S: J0 W& T7 M2 s* Y
[root@bsso yayu]# du -h --max-depth=1 work/testing
( \$ p7 p# X5 q h27M work/testing/logs
! y7 `- p' ^$ a6 [3 w35M work/testing- s+ E8 M; r1 L+ A
l3 t2 ~" o# A# U f& o# n- S8 a
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
" z; K) Q" S+ Y( ?$ G8.0K work/testing/func.php
4 A6 w- l5 t! o4 N; k' U$ k" n: m& g27M work/testing/logs
1 e; Z! O/ P$ z6 U" R8.1M work/testing/nohup.out2 T; Y! v8 ^" B8 ]% J z
8.0K work/testing/testing_c.php
8 W& `5 B# R9 b* C/ @, p9 L12K work/testing/testing_func_reg.php6 ] U; |1 A+ i0 _' g( ~4 g% F
8.0K work/testing/testing_get.php
+ P1 X) K e' M( U2 h) b8.0K work/testing/testing_g.php
' e6 C4 o7 p' @" D8 a9 G- q) U8.0K work/testing/var.php
0 i% s I& m7 G8 t) U/ g6 g0 Y( T# M7 S O0 _; Q2 E
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/3 \' w( W% U6 K- ~6 k
27M work/testing/logs/# a$ s5 X/ o7 @8 d" ^$ K
7 a$ H$ B1 ?9 _[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
( Y( I- [0 h& H+ [2 Y; z24K work/testing/logs/errdate.log_show.log2 j" R, P/ ~& p4 @ o$ x8 {' e" c
8.0K work/testing/logs/pertime_show.log
2 C# _. `9 b) \" h( C27M work/testing/logs/show.log0 ?; ? l/ v% y( A0 w' H$ i
' G# A& ~2 D2 k
|
|