|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。6 I, [* o6 Z- ^
& ?( I: x5 ^/ `3 a df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。0 @2 G' Z% ~: `, C& N
du可以查看文件及文件夹的大小。
5 e- u9 g) l4 F; f8 H5 U- _! G( B7 d7 E5 f5 J
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
2 j- J( O! Y- T+ u. w+ f+ m9 K4 M( ]/ j) A& J: T2 o
下面分别简要介绍
8 D5 M2 |: s& K! b! T' W4 R* u4 I
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
+ ~$ v1 t* D# l( U& p0 c' V# z9 x. c9 P4 ^ K
以下是代码片段:
6 z; q: ]+ s7 p4 } Y+ Z% u' @& g% s8 a8 w
[yayug@yayu ~]$ df -h
7 o+ X- B4 D9 v1 b; r: aFilesystem Size Used Avail Use% Mounted on$ `' Q- @ m8 ]- |/ `
/dev/sda1 3.9G 300M 3.4G 8% /
# @* s, P1 g7 u. G F' L/dev/sda7 100G 188M 95G 1% /data0
% T9 ?+ }% H2 B) N" M/dev/sdb1 133G 80G 47G 64% /data1
. ~9 S* [+ t2 w0 }7 U/dev/sda6 7.8G 218M 7.2G 3% /var( e7 w0 X& p6 ?8 m6 a6 u; r$ {
/dev/sda5 7.8G 166M 7.2G 3% /tmp
& p" M, ]3 f6 Z# k- L6 z/dev/sda3 9.7G 2.5G 6.8G 27% /usr/ D. S% B: r9 G5 N: I+ q* O
tmpfs 2.0G 0 2.0G 0% /dev/shm
( G* j! J: Q1 c b
- R6 w* e' O" l8 }5 i 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。* p q2 [% ]) w2 V. b# k7 R" r! P
: I+ @5 k# L9 {2 ^* M/ ^ 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。5 k1 U0 ?2 R! b/ N
9 \. b1 S2 T5 W9 z4 P 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
& q6 L+ l; s/ I
- h' B! v8 Y3 C- g' D# f/ f2 v du:查询文件或文件夹的磁盘使用空间
" G: | @, `- b1 D% e) O$ E) P" s! Y& ~; D
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
$ ?: e0 W: `7 {! q3 Y
9 q) w ?& g, k6 ` 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 ]. ? h+ A/ n: H |
4 W7 `* A: U" `8 `: R
以下是代码片段:" ?: o9 P* _% v4 B3 m
3 b6 b/ L& N u/ n/ T5 ?( l[root@bsso yayu]# du -h --max-depth=1 work/testing+ P9 A7 E3 u& O7 \: S% p% G
27M work/testing/logs
% I) Q/ d8 Q& o& ?. f0 t35M work/testing
$ W% J6 X, }' {) y
+ g9 _2 w% N7 f5 k7 X[root@bsso yayu]# du -h --max-depth=1 work/testing/*
. }$ Z5 _9 g, k# l }* o( h8.0K work/testing/func.php
0 f5 l, x$ j+ {5 q27M work/testing/logs0 u" n3 `$ o2 {9 x! H) Y
8.1M work/testing/nohup.out5 f9 `. ], f# X& r4 T0 P$ y
8.0K work/testing/testing_c.php
1 K1 `6 j. x$ ]' }& S. G% j6 \12K work/testing/testing_func_reg.php/ |* f/ X+ c( x, s& P
8.0K work/testing/testing_get.php6 Q; d& ]4 a% [/ E' V8 Y
8.0K work/testing/testing_g.php
& z6 q9 n, V- y, g8.0K work/testing/var.php
0 p# h0 k( U" Z) ^; n p+ N0 e6 G( ^
1 U/ ~0 b0 ] l5 D: w! Q[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
# e) K7 T, l3 B" N. y! [2 [0 [27M work/testing/logs/
2 Y( Q8 J( [* z$ p+ ^; @" s4 Z. K- g% S# N0 Y. |
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
' M, V5 g6 _2 b0 @2 B- ]24K work/testing/logs/errdate.log_show.log
* d8 D* M- `8 [: G w+ g% J8.0K work/testing/logs/pertime_show.log
, j6 `2 [9 }/ Z1 f27M work/testing/logs/show.log
) e6 @( O( `8 z- v5 ?* D- h# n1 K
|
|