|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。. o" [' s T& Q
' y) x8 q* ?0 X$ y/ j# s
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
* l% f2 S/ g3 N3 U% U. w du可以查看文件及文件夹的大小。2 s/ y0 z8 K; j5 | z* ]; b
7 D# U2 q) Z: O7 u3 T5 R
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。. _8 Z* ]3 b/ k: J2 L
& c( p7 g8 L1 q, M* J 下面分别简要介绍1 I5 D8 q9 m, M, d. y) m
- o. Y: d% }/ h' a! o- Q2 A" t
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:' U5 r! k; i5 Z W5 V
5 W$ y0 W( z+ W以下是代码片段:7 P0 B6 J- Z1 y5 j) C9 O
7 E( U8 X$ Y/ a& _+ t; W
[yayug@yayu ~]$ df -h4 O" w: _, E" e) G6 [3 b
Filesystem Size Used Avail Use% Mounted on/ @2 L$ J5 C: H1 @4 [: m; g+ N/ _6 `% c
/dev/sda1 3.9G 300M 3.4G 8% /
; B4 w' Q7 L+ g& W/dev/sda7 100G 188M 95G 1% /data0
' A* m; ~/ y8 c0 T) g2 J8 n8 c/dev/sdb1 133G 80G 47G 64% /data1
' d* r2 n+ f3 F0 s9 P- U: q/dev/sda6 7.8G 218M 7.2G 3% /var
' y7 [5 G7 J6 q) \/dev/sda5 7.8G 166M 7.2G 3% /tmp
5 ~8 |( O& C! J# y/dev/sda3 9.7G 2.5G 6.8G 27% /usr: {' E z* g- F& B) s
tmpfs 2.0G 0 2.0G 0% /dev/shm8 }' z' ~8 [+ P/ s! l& l* Z. j
' m/ z6 W% t! p- \2 b$ r8 e 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。. ?, S. ?1 J6 q8 f& c% {" X
4 Q; Z% b w9 R# Q- \* u7 R 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
! o E5 d, w# v: d5 B. ~; u' x( x( [1 y9 O& h; T
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。2 w, m5 _4 m5 m3 Q1 o) A) u
# N- {6 x k8 T' ]: S( U du:查询文件或文件夹的磁盘使用空间
6 o4 \: p1 h, s, ^
$ Q( \: [4 |2 ?" \1 ] 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
7 {( T h- S: _% i+ k S" e: K- k, K8 V* }5 v
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
6 Z5 Q* w: W: Y9 E$ {1 `% f# I" {, J9 i
以下是代码片段:
# {% b9 }6 F% }% N5 M0 a
; g) L$ g! \5 U" v2 O' j' F[root@bsso yayu]# du -h --max-depth=1 work/testing
* Y+ c o5 B- w3 r27M work/testing/logs' A. |) j/ z s# v# \/ A; V
35M work/testing) L+ ^2 y/ g8 w. K; K. j
- i5 j- J* W( o* m' O5 ~
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
+ K* \9 `! ^1 ~% A4 X# a' F8.0K work/testing/func.php
0 [( j" Q, o4 b6 d5 S4 U* L8 o4 k8 Y1 c27M work/testing/logs
0 [/ ~+ m1 o, I0 g- m8 u; u3 M8.1M work/testing/nohup.out
" K9 w4 R- A; j; c5 ^2 F1 C. x8.0K work/testing/testing_c.php3 F: w; ?, K g$ r: `) h' ^' W
12K work/testing/testing_func_reg.php
7 J/ X$ G) O* w4 Q6 g$ \8.0K work/testing/testing_get.php4 P3 ] a! j9 L# c
8.0K work/testing/testing_g.php
# q$ u7 G2 S$ }. ^8.0K work/testing/var.php6 o. E! Q/ S! X1 D" V
( d, Y1 x- ^8 l1 a0 r
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
" l! m+ C U) z1 r. y27M work/testing/logs/5 F1 ^2 k% N$ `6 p8 L/ v+ H
$ ?! H4 H2 Z5 r7 P/ F[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*- i; g. D& Q, q6 z
24K work/testing/logs/errdate.log_show.log
/ O+ N- e$ ?0 o, g1 \1 |8.0K work/testing/logs/pertime_show.log
/ @$ D' i- ]7 S0 ]/ p4 d27M work/testing/logs/show.log4 M6 }: t! ]* q" ~+ L9 a/ C
2 j8 @8 m8 y( T |
|