|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
9 B" n& M* g0 c6 v6 U
: g" x8 h! b, W4 _* c5 `' x9 c+ z9 E df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
) s; Z2 Y7 v( Y$ K du可以查看文件及文件夹的大小。
- b7 ^, W5 A7 _8 g4 f E0 U/ o+ Z
+ Z# x( w; Z, Q8 R" \( {0 A# C 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
9 B; a; a, @6 X( B: p/ F; ?
) j+ x, h" g: `) C5 Q- h' `" \ 下面分别简要介绍
1 ^4 c' L* r# W
* L8 R; e% b" v df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:' J. }1 i" G! z- d- i2 N( X) u+ U
# V: p8 M( ?) x2 s
以下是代码片段:/ J- x/ u/ _2 g* \% s
! X; u% U) J& |% G, Y
[yayug@yayu ~]$ df -h
8 L3 }% D4 a( \' {$ |: {6 ?1 PFilesystem Size Used Avail Use% Mounted on+ w$ |9 ?9 r) r8 o
/dev/sda1 3.9G 300M 3.4G 8% / d) A# g7 W+ w' N& G) C: _
/dev/sda7 100G 188M 95G 1% /data0& D7 H# m* `5 n0 H
/dev/sdb1 133G 80G 47G 64% /data1
. T. c+ ]6 K) m% f2 F/ f/dev/sda6 7.8G 218M 7.2G 3% /var
: X+ I1 B' P+ n4 `+ V/dev/sda5 7.8G 166M 7.2G 3% /tmp, D, J" r( V+ c/ Q n% ], y# @ P
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
& |* U" ^* T& t8 ~* ttmpfs 2.0G 0 2.0G 0% /dev/shm3 j$ ~ B1 q/ ]9 Z, I. }/ B8 b
: Z0 t+ V1 W! ^. G7 F7 q
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。6 q: g, U; P8 Z
; l W9 |: ?) x( {$ S" v 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。3 p! i# J# X- q$ a# l7 {+ J
5 P% F6 X; [; k9 w4 r/ ` 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。. j- u! h( I" H; i; p# Q
8 S/ n. ^8 G1 ]" Z+ b
du:查询文件或文件夹的磁盘使用空间
/ l. M5 N$ d; ~2 ~; \1 A
8 h3 c3 X, b) o/ e5 E4 F 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
) z1 M9 M2 L) J% V* `' q/ L& K3 b% p1 Y/ z/ h
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。. X. k% T- B% R4 m; O% `2 d
! T% I! V" z1 m( F以下是代码片段:; Q* R( B- s' T
& @ m& {1 V9 g) g+ z8 r* g+ {' g
[root@bsso yayu]# du -h --max-depth=1 work/testing
+ |' v4 x# I% }. ~27M work/testing/logs+ Z4 _: R1 r* o
35M work/testing
: n" ~2 s+ T* L2 X9 @( Y* S8 X! _: Z
[root@bsso yayu]# du -h --max-depth=1 work/testing/*+ H b+ [9 T, Z, R& v
8.0K work/testing/func.php/ {* n9 j# a2 I: ~9 `
27M work/testing/logs
/ o8 O: h2 I% Q+ H1 I) i5 _, L8.1M work/testing/nohup.out J1 ]+ \% c: P' @7 ^
8.0K work/testing/testing_c.php
8 P- D! h" N! I7 C; w. P& o7 N12K work/testing/testing_func_reg.php
: |# J; x U, n9 C' f0 s8.0K work/testing/testing_get.php
: R, u9 ]( H3 Z) H/ F8.0K work/testing/testing_g.php1 [& u* @: Y' G- W* m. g8 J
8.0K work/testing/var.php
- K1 C8 z/ |& U/ P$ G9 c; [9 H& w: I4 e/ [+ P
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
. Z, N5 e4 X" q- Q7 o6 F- \3 {27M work/testing/logs/; M- _' n' v( W# ]& R3 h
2 v, o# P* Y4 X9 `5 `[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*# Z, s& u1 ?. W3 ?) E9 V
24K work/testing/logs/errdate.log_show.log' @1 O) F! |/ q
8.0K work/testing/logs/pertime_show.log
/ F8 Y1 P: o3 X7 H1 G27M work/testing/logs/show.log) v" q: T! r& Y! l& ?5 j, s. o
7 n7 K- G9 J9 c: _
|
|