|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。- S2 T. t/ i" }+ Q
, F4 P( R, K+ Y5 o- D1 p9 l0 a
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
. i" ] ^( l/ i! [+ i/ H! D3 Q c du可以查看文件及文件夹的大小。
' r4 \/ _3 ?* v1 L. U+ o: s$ x6 i4 ]% x' {& j( e3 z) `
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。. S8 b4 ]) \) G1 o
# U) R o; S; v! L% @! G$ R 下面分别简要介绍
' h4 ] q' Y v% m5 z8 r5 { x; A& E0 i- y2 l" M
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
3 a4 G+ K! Q$ e' i% Z( \
/ p! S O. M- l以下是代码片段:
z0 l3 }- R0 s {& J5 z% h; ?0 {; ]- h. q8 R% |, j5 U0 e2 d" }! K
[yayug@yayu ~]$ df -h: c* r1 S6 f. R1 s/ K
Filesystem Size Used Avail Use% Mounted on
& S( k, B) V* Z3 h/dev/sda1 3.9G 300M 3.4G 8% /
5 C0 L5 G) l1 ?5 R; O/dev/sda7 100G 188M 95G 1% /data0$ P8 z) V- R7 Y. v" L
/dev/sdb1 133G 80G 47G 64% /data1: `" n c O3 I9 \( O# M# U& ]+ V6 R$ h
/dev/sda6 7.8G 218M 7.2G 3% /var$ A, Z3 z* D1 w" t# F" l
/dev/sda5 7.8G 166M 7.2G 3% /tmp5 w! E1 g4 j9 f/ S
/dev/sda3 9.7G 2.5G 6.8G 27% /usr n$ h5 ~) ?* ?
tmpfs 2.0G 0 2.0G 0% /dev/shm: f* p5 q' |) |/ H3 @7 B6 o) d! x
1 M' v7 L; Q0 h0 Z: w. G, E 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
: z. M5 @3 f' }- j5 ~
, T C6 B' E- o! K7 [; \9 ^/ L 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
# T. C" r+ c1 O! r* N- ^! F! S/ i
& B4 x# h" f* m' O# Z6 _2 W# G. A& U1 F 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。0 k. N* C% w+ N+ f- g
3 [1 |: W' s- ^4 Z, n9 Z- c
du:查询文件或文件夹的磁盘使用空间3 ? P: j4 Q$ ~
4 A8 ^. |' q, g! `0 G- I
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
' ~9 |" `+ K. Q9 I' S v; U
/ N9 w" k6 X) e1 S5 M 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
) K3 L" f* f- y# i# N2 _! u) F; a$ ? A% w( u! {2 |2 U
以下是代码片段:
% \" |% n4 }0 P* }; ?) W% p8 w0 t% U2 t( S
[root@bsso yayu]# du -h --max-depth=1 work/testing8 m& ?: u# o7 X' v
27M work/testing/logs
: E2 y- u8 d }; D+ n G35M work/testing
- `+ g/ b0 k+ d( j& d2 Y
1 p9 R7 i' T' N2 C* u[root@bsso yayu]# du -h --max-depth=1 work/testing/*
; t$ j/ y1 \9 [2 {8.0K work/testing/func.php
$ K- E3 A- O/ K9 o27M work/testing/logs
& T: g! L* K- V1 Y$ `) o/ K- q$ \# I$ G, l8.1M work/testing/nohup.out/ g) V5 |3 {: l; `& D: G/ H
8.0K work/testing/testing_c.php0 \1 u9 U6 O4 o/ ]( n
12K work/testing/testing_func_reg.php
4 X* c; q, ~2 O7 M' R2 X: C5 p8.0K work/testing/testing_get.php- W/ ^$ ^6 G9 j8 R+ y
8.0K work/testing/testing_g.php
: }/ c6 ]& y; S4 Z* Z$ L& i8.0K work/testing/var.php+ J3 u5 J' d7 n
. s! V% Y7 k) D$ q* N; M# Z- @
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
) _4 M' m+ G. {) o( X9 e* q' d27M work/testing/logs/
" X l/ I2 l; W# u# `# b. t6 E/ ^9 `; K) d8 V' R
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*5 f( Z. `. g; T
24K work/testing/logs/errdate.log_show.log
9 C w$ s6 O& H$ ^1 w% e8.0K work/testing/logs/pertime_show.log
9 L% H9 B$ K# m. @& D" o$ ?27M work/testing/logs/show.log
8 d6 i8 Q: u& d2 |$ ^5 q/ |9 y5 G# G8 m' T
|
|