|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
/ A2 o$ _) U1 E
" ^! k) l% }, ?$ x$ w# l8 j df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
8 j7 D7 a" `! z du可以查看文件及文件夹的大小。
8 I' P( x) b5 A' \5 H# R0 w1 C0 h/ Z- }+ d- E
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。, u2 H& [! w7 S7 ]3 E7 r$ n' V5 R
8 l8 Q2 ^6 V r8 K3 Y% ~
下面分别简要介绍, j- r4 {/ M# l" L+ ]; c; W" |
0 b, l, `( W! [
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
0 B; T" F2 m1 M5 j2 s* x% l, N5 N% B" m6 k! ?7 z
以下是代码片段:
* h( V r& |8 N$ b, \
! X% R! Z: y8 h2 {0 C[yayug@yayu ~]$ df -h" D* {% F, M4 t
Filesystem Size Used Avail Use% Mounted on
) }. u$ s( O3 y8 g/dev/sda1 3.9G 300M 3.4G 8% /, N/ P4 u1 y- t' w
/dev/sda7 100G 188M 95G 1% /data05 k3 Y$ e: \& c
/dev/sdb1 133G 80G 47G 64% /data1
& e, \$ _( \, n- e8 z' u0 e3 H/dev/sda6 7.8G 218M 7.2G 3% /var
L/ U. ]# O1 d/dev/sda5 7.8G 166M 7.2G 3% /tmp) H% Y/ k5 }- V) O
/dev/sda3 9.7G 2.5G 6.8G 27% /usr! t8 L/ w0 Z, v1 E' l- _- j; Y
tmpfs 2.0G 0 2.0G 0% /dev/shm2 C; W3 b) E# H4 q' a8 h
# E) {3 y! e9 r! S/ q% r
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。 I) Y1 e( z% ~5 }
* Y7 j0 z4 C: ]% {* B
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。& c8 Y" I) H. z- ~
( u! W$ e; j* }$ A% [. J- B8 R
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
4 v! D, d' ~/ U X+ b0 ~$ E( Y9 }: w" I3 m
8 I) b3 T9 G3 | du:查询文件或文件夹的磁盘使用空间- g. K- Z' i# T
: M( ?5 J" o& s; T4 b) E 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
0 z1 W) Z- K# @$ ^) @7 O
) n7 E+ |" P. _9 B t6 R2 m 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
8 p. h* I3 `( O/ F T) E' ]& Z7 a3 i, L) a) M! D, s
以下是代码片段:
/ s. f& o: [% n2 `. T( [: O/ \7 S2 p
[root@bsso yayu]# du -h --max-depth=1 work/testing
0 Q; u6 d7 X' ]# j' r27M work/testing/logs/ s+ A4 z$ h! V3 ~ Y5 F* `. a* p
35M work/testing# a$ ] K/ H' U" `6 s5 m
( a2 n; y7 r: [
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
7 z$ z! D8 B( W( g1 c6 K8.0K work/testing/func.php" a9 I1 w& r+ q8 Q+ @) N( F
27M work/testing/logs
1 T# u/ `$ w, X6 ]8.1M work/testing/nohup.out
! i5 Z- g1 ?& E3 y( v8.0K work/testing/testing_c.php( O& S5 P2 [% t* F/ g9 a
12K work/testing/testing_func_reg.php/ _; U) [ z; ^0 Q' u# D
8.0K work/testing/testing_get.php# C" N' L6 S2 Q% B+ C
8.0K work/testing/testing_g.php) _* W8 q$ Y' X. P; K
8.0K work/testing/var.php Q3 e3 F# ^9 n& E; \7 g$ |4 K
) A, y# c% e. D, _2 o
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/; H7 Q( I+ @2 y* y" `* G
27M work/testing/logs/- V# m" {0 e R& X, z5 |
?% v5 `: X, `$ o
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*; S; a# I2 X2 \+ a
24K work/testing/logs/errdate.log_show.log
0 Z* p6 [1 q5 a! E7 \; P8.0K work/testing/logs/pertime_show.log6 h1 N( d' [1 a1 U
27M work/testing/logs/show.log
8 i" F, `& n1 \/ J9 D3 T. X8 F5 c1 j$ k$ Z4 V
|
|