|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
0 l9 m2 T5 R6 E. J" p) l. [- K9 ?5 I
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
. s6 a, X" j g+ G du可以查看文件及文件夹的大小。; c& V) H {: [ f7 q/ N% Z
5 A: t0 P2 p: _
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
! A0 H* w( x! X" w: }" e7 z- }' n* w0 j7 O
下面分别简要介绍
X" F* P% H J' G5 ?! \; E1 X1 `& M
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:" j! V- K& G& n L& f
* L0 {) A/ ~ K/ {! x# w
以下是代码片段:
( G3 s& g' o* [* j* y! |" |% z
, Z I* C/ @0 W/ f0 j" |$ d% Z8 T' R4 f[yayug@yayu ~]$ df -h
9 F7 g/ w0 X2 q7 H( YFilesystem Size Used Avail Use% Mounted on
" E, ~* L% W% H, m, _/dev/sda1 3.9G 300M 3.4G 8% /
n1 I6 f$ K# ~7 e; Q: |/dev/sda7 100G 188M 95G 1% /data0
. N8 g2 w. ^( n/dev/sdb1 133G 80G 47G 64% /data1' ^; }$ Q9 |' h# S3 m
/dev/sda6 7.8G 218M 7.2G 3% /var* P# U+ t I. A9 h! ?7 d
/dev/sda5 7.8G 166M 7.2G 3% /tmp; f: b6 O3 T/ O3 C+ \$ S6 ?" K! i( S
/dev/sda3 9.7G 2.5G 6.8G 27% /usr/ w) k! o' g' G# n! E% J4 J
tmpfs 2.0G 0 2.0G 0% /dev/shm
, w4 C2 i8 o y/ b& p4 s0 M
! J+ S0 |/ F4 p! J2 t) ` 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。7 W g7 t& L& N' S( i- Z8 P9 ~
% i5 v( Q6 o/ j6 V 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
0 M/ N9 V! [4 Y+ A& J; [
* t9 o2 e" \' @; R f 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。: U6 t# l9 {+ \" E& ]5 O j3 O r
# ?: O" Q L1 ^4 C( n0 ? du:查询文件或文件夹的磁盘使用空间
$ m) `3 h3 {% a4 ]2 j3 K |
c0 o7 f; G- w* P4 g 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.% m+ U# b3 |' }- O0 }
7 N% v" d9 C' U, S) f 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。( U, r: K8 f3 R4 J* p4 A; G
6 i3 W* D/ f% X7 @5 E& v( H
以下是代码片段:
6 I5 g" S1 c7 E* G$ }# |0 `7 X) N7 H4 F5 `' F5 W0 h s
[root@bsso yayu]# du -h --max-depth=1 work/testing
) a, K3 K; i5 [* z' R+ C8 K27M work/testing/logs
, D6 f' ]" G* R4 G* ^35M work/testing
. i1 t' [# H; B! e
+ U [- l8 ]) H' I; Y( B[root@bsso yayu]# du -h --max-depth=1 work/testing/** D5 g* p+ G* ], k3 e
8.0K work/testing/func.php
4 K, i9 M5 e3 ?2 L5 [27M work/testing/logs( Y) B {5 f6 C1 u- b
8.1M work/testing/nohup.out
9 |9 k$ p: ^' r* e8 z& F8.0K work/testing/testing_c.php
7 A, G H; \1 f( ~12K work/testing/testing_func_reg.php' j) @& t3 \3 L T% |7 S) z5 Z
8.0K work/testing/testing_get.php
7 i( L3 c2 o# C- }( |. k7 a" X8.0K work/testing/testing_g.php
" y( ]3 @# s3 C* o. z, _( q- `1 K8.0K work/testing/var.php
+ d+ p, v: P U" n3 W$ w6 Q' j
$ }: O4 C' e1 ?+ `# r6 W[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/% P9 u( j" z+ B( \8 S" R% j# |
27M work/testing/logs/6 ?7 a: a: X) U8 b
" f* H. r/ \/ ]# S3 q
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*+ ?9 Q" d* F: l# d& N+ w1 `
24K work/testing/logs/errdate.log_show.log
" E& O7 D! V/ B' i5 ^& _8.0K work/testing/logs/pertime_show.log
' G, H" l- W3 W, p0 Y" w/ G# U9 T27M work/testing/logs/show.log
/ W# c" q' m B! I8 d; q2 {0 e& @4 [/ g
|
|