|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
7 }, _+ ?# e2 J, ], d- S( }) K3 \; i/ D$ j* I
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
0 @" R& w% z) v( X( w du可以查看文件及文件夹的大小。" O1 W( q/ Z' I( o% \6 ]' _$ R
( ^# T( J5 l) j4 E w+ N- k, g/ y
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。( l* w1 E+ B$ [% \8 h
- ]9 b4 n4 S- Z, d3 s
下面分别简要介绍
9 c9 M# A A: |* _
) h2 L! C& ^/ E- [0 ~, T2 ^ df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
' s6 l( c4 V' t. M7 i
2 Q( y0 }9 V- ?( S6 v2 p" g1 v# f以下是代码片段:
+ H$ [! X- n! ^
1 f- S$ B% c" h: T- ~) [% z/ C[yayug@yayu ~]$ df -h5 a( P5 l. P# x `/ Y
Filesystem Size Used Avail Use% Mounted on0 y' {) y9 b8 H% m% v. W# F
/dev/sda1 3.9G 300M 3.4G 8% /
8 ?1 H( v! g6 s/dev/sda7 100G 188M 95G 1% /data0
7 e }6 L* \" ^! E: Y/dev/sdb1 133G 80G 47G 64% /data1: M' ^0 m, t& X4 V
/dev/sda6 7.8G 218M 7.2G 3% /var
6 r9 f: G: K5 C# B- a/dev/sda5 7.8G 166M 7.2G 3% /tmp) Y. J% v. h: y) @9 S7 ~
/dev/sda3 9.7G 2.5G 6.8G 27% /usr" E% {4 ]3 j9 v2 E
tmpfs 2.0G 0 2.0G 0% /dev/shm
; W/ \+ H( e' A" W: ?7 X$ d* F
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。, w' x2 o1 z2 [- F
+ H. M) M. y" {9 i+ j H* V: r
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。/ ], Z4 x3 T( f; K- j& }0 k5 Q
5 d" H. p/ @! ^% f7 g
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
% m4 o4 y0 U7 R5 I2 o$ L* W- i9 T, X7 u ?( n
du:查询文件或文件夹的磁盘使用空间
: E5 }/ n9 r+ B2 ]+ q J0 e0 W: O) ^' T- b( i
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
* d3 g$ C0 h, ] k) x# y5 X, u+ O* N6 ^; d
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
/ V2 d5 [& W* H! k5 z' h# ^7 y: }1 r3 ^% z
以下是代码片段:* X+ n W8 Y( N9 K( B# \: [
F: f% W! ?; ^# V# K: v[root@bsso yayu]# du -h --max-depth=1 work/testing
! q0 n5 ~; ? U F, z/ ^27M work/testing/logs
* P* j1 H! k5 P* [0 b x35M work/testing- \; M$ g t) I% j0 }
# I. m3 S. L& R) E l% ~
[root@bsso yayu]# du -h --max-depth=1 work/testing/*; u0 |$ Q4 E& N% X0 W: M, Y
8.0K work/testing/func.php
7 ` W# s7 X7 I( K27M work/testing/logs
+ z/ D* M' V7 C- X$ x9 C! D7 E7 s8.1M work/testing/nohup.out# \! m) z9 e# E' B/ y6 r: M
8.0K work/testing/testing_c.php y( x3 W6 U. k, [( @
12K work/testing/testing_func_reg.php
2 {6 A% J) z# o# d8 k( v% |2 l3 q8.0K work/testing/testing_get.php
3 g& Z4 t+ t* a8.0K work/testing/testing_g.php
& P: J/ j2 K; j" ?0 b' U; C- q8.0K work/testing/var.php
" v) N5 ]: B- F2 [: `1 H h$ U& h `8 p5 o( g7 |' F6 Q
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/$ E- {3 n6 {2 P6 P
27M work/testing/logs/$ ~2 Z2 h4 n& Y" e; G. }- x
! i8 M# w: S) j4 N S( t9 y+ y! t
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
/ K3 F$ Q( H. ~# n! _) R24K work/testing/logs/errdate.log_show.log
# d5 C$ F% L- B' u8.0K work/testing/logs/pertime_show.log' S0 w! C4 \3 a7 N; v A
27M work/testing/logs/show.log9 D) }. u# q% h, c
. [$ Z4 I! L/ C k5 W1 N/ \ |
|