|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
' d( C* @4 k/ l7 {) @0 k; v+ o; p1 n7 z6 W, k( y
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
( V1 t1 A. ?% I du可以查看文件及文件夹的大小。
1 o, I ^; `! x* T8 m- c; X9 s o0 _, _! J: p3 U; f
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。* t3 M8 r2 |5 g+ X9 Q P# ~6 ~; Q
* D; ^; [: i! Q" c1 w 下面分别简要介绍6 U) U) K9 X1 M$ S: o
/ i* M& O8 j+ E& c df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
p4 h1 q2 c! a" X8 j- _) k2 ]6 m+ U7 d5 X) z" w
以下是代码片段: o7 a) U2 Z6 q4 ~9 c
5 _# p% B7 y: g" x[yayug@yayu ~]$ df -h1 |# e) X p& @% D9 Z
Filesystem Size Used Avail Use% Mounted on
9 {: N% ~2 P8 {& j, M& Y! g0 Q/dev/sda1 3.9G 300M 3.4G 8% /, y8 J7 q7 {# f2 M! E! B
/dev/sda7 100G 188M 95G 1% /data0
, s: c, n6 j. X- q1 Q, K/dev/sdb1 133G 80G 47G 64% /data1
+ ^# I9 b1 u! m/dev/sda6 7.8G 218M 7.2G 3% /var: @: z p# N: b' q3 l0 W7 h
/dev/sda5 7.8G 166M 7.2G 3% /tmp; @+ o( ]6 \: t% \" V# J
/dev/sda3 9.7G 2.5G 6.8G 27% /usr; [4 B& r, w( t" J
tmpfs 2.0G 0 2.0G 0% /dev/shm" d6 D. M: n7 N# ~ D. M
0 {- G% [% `" D( a 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
1 l- `* I) b7 o5 e- ?
; F0 x+ O1 o: x 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
2 z& J& v; \8 A7 D' [$ {/ k+ A+ p# S+ V$ p
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
* l, G& q; K5 P* S0 H" Q- {5 j* e; @* o1 u/ o
du:查询文件或文件夹的磁盘使用空间
7 Y6 i' z0 X9 ]* U
4 z. p* [# w& m2 O 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.. C9 j. k2 F W, o9 s' [0 R
6 ]5 r7 _, b. e# P 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。/ c& k4 ~# F+ X K) i
2 U8 q* g9 ~0 D3 \4 I
以下是代码片段:
* B, b/ ?+ t( |/ q9 ]6 \7 W+ c) J( r! T0 T# d$ a0 N# K
[root@bsso yayu]# du -h --max-depth=1 work/testing
% R4 R: E& s) T9 [4 I; k( v S8 r27M work/testing/logs
2 r) K- V; P5 |35M work/testing
! T$ [9 R5 D8 U$ x. s- W% g, M) y. [2 M; ^6 o
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
! h( m+ g5 D8 T/ n9 [* ?8.0K work/testing/func.php& G" c9 b$ f; y7 y
27M work/testing/logs
$ s. y! Z7 m q# g; c8.1M work/testing/nohup.out
& b M# d' N9 n2 K# c$ n& Q8.0K work/testing/testing_c.php B1 V Z8 X$ u+ z; {
12K work/testing/testing_func_reg.php
) d" V/ V' `, m: k, Q* O6 N8.0K work/testing/testing_get.php
1 B7 G4 I* U: ]- Z4 D3 o: O/ H8.0K work/testing/testing_g.php
. b8 ^6 Q, j6 r5 n1 ^/ R8.0K work/testing/var.php( y' m+ a6 ~( x! V# Q9 U, J
0 D: A+ y' }! A" u
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/( P e C, p0 n5 \' |# \
27M work/testing/logs/
0 c K$ u% o6 s2 r* D$ c( a1 |
. m H J1 }, S[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
N8 X! t7 k( M5 r24K work/testing/logs/errdate.log_show.log
' l2 ^* C' E3 q3 A8.0K work/testing/logs/pertime_show.log+ A6 J) J* }6 K5 E( l8 q+ X
27M work/testing/logs/show.log
' f6 o3 b' |5 i+ ?7 F% R3 Q% E" }' n% a0 |- Y6 ?
|
|