|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。% L5 Q- n1 T4 i1 O l
: F4 L- G8 Q$ o+ z" i0 |
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
9 l% b* Y) w! h+ ]) \/ l du可以查看文件及文件夹的大小。
# a$ |, F* ^' g1 } q5 j% l; U7 a) o& H4 d d1 a9 t; v
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
4 ]& H$ Y K5 H; a5 j9 ], d/ ^: n9 a8 c
下面分别简要介绍7 v ^0 m% j5 w" C
. `9 l/ q, b4 s df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
/ `( v! u! w# @' x4 ], h. x- {/ \5 H$ D3 G/ T
以下是代码片段:* O: V9 c1 R5 s6 W( l5 }, w
( K4 U3 C7 n9 ][yayug@yayu ~]$ df -h
- Q2 R& C, `7 ^Filesystem Size Used Avail Use% Mounted on+ D" Q. K6 ~- P
/dev/sda1 3.9G 300M 3.4G 8% /
& L1 x* T/ @ b4 f: u* q% P S1 n/dev/sda7 100G 188M 95G 1% /data0
0 K& ~5 n r: E/ @; I/dev/sdb1 133G 80G 47G 64% /data1& }! W1 n! f; C3 X4 m0 {0 ?) D1 s
/dev/sda6 7.8G 218M 7.2G 3% /var! g+ g# T$ \5 o: P/ G
/dev/sda5 7.8G 166M 7.2G 3% /tmp( A1 U/ i3 \2 f; a5 i u
/dev/sda3 9.7G 2.5G 6.8G 27% /usr/ J | U ]* E" }9 }
tmpfs 2.0G 0 2.0G 0% /dev/shm
8 P8 P7 D: K; @. _* h6 K
0 u2 v& w3 I: i8 x; }! } 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
2 z0 C) U, b; {; z
- J" ~" N C2 d 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。& \7 r! l3 w6 F
7 r! T7 E R! ^/ i2 O 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。1 j, ?6 B0 x' H5 `6 S$ G
$ p% y0 F3 V. ?, h k
du:查询文件或文件夹的磁盘使用空间8 t6 n# F$ I, L' Z1 O+ v9 r9 T" m' ?
/ w$ r4 {% e/ f, b" t. N0 Z% t9 H9 n 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.5 ` P2 f& S/ p
4 w9 `; k" ?8 b/ b1 C, }7 R
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
y- T: w' |: K$ @/ e0 [5 I, |
% x: U# ?- V, }* t3 t' I! m以下是代码片段:
" B9 A! Z' f+ W m
8 V8 F K9 A! v4 a! N[root@bsso yayu]# du -h --max-depth=1 work/testing
/ C6 W- ^4 l/ S9 S9 e6 g+ B27M work/testing/logs
a' P7 B; T( s q5 B9 u35M work/testing
2 F; y- o+ B5 c
5 q4 I) k, B6 q2 O& V1 U0 s[root@bsso yayu]# du -h --max-depth=1 work/testing/*. O+ O7 y$ `. R5 z& h* K
8.0K work/testing/func.php
3 D; a% | w+ ]9 \27M work/testing/logs
{8 v' ?8 `% a5 E4 S# t8.1M work/testing/nohup.out% o( y' t% g2 a& o% _; c
8.0K work/testing/testing_c.php
4 l2 H0 Z5 f7 D, P9 ~, c+ K12K work/testing/testing_func_reg.php
5 q/ F7 k& B0 V u* E8.0K work/testing/testing_get.php
- N; @) L# \* A# |6 ~8.0K work/testing/testing_g.php
6 ?8 ]8 q: y6 E' }7 v8.0K work/testing/var.php
' a. w0 E* G. }4 f$ L W7 [
% ?4 n9 h9 y9 m/ J' Y) M2 {[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/& G6 A. {2 U2 P9 {( w- ~$ M# X
27M work/testing/logs/& }/ E$ A" H! Q8 o: n& Z) v; M
. x1 ^( }" Q* e3 C# S$ P6 e[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
# m; U1 y/ c, z( g5 I8 F [24K work/testing/logs/errdate.log_show.log8 Q" r5 \# N& c
8.0K work/testing/logs/pertime_show.log
( S; d4 H$ q9 n# \+ M27M work/testing/logs/show.log7 l$ {1 D2 q4 A- G4 |% n
3 I# q& X, ]8 L; l2 C; t
|
|