|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
4 M* m6 ?8 O. j* I, D+ q6 p, |9 C+ ^
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
1 R# [/ J4 u! x& @% M7 @ du可以查看文件及文件夹的大小。
* g. [$ S. ?$ W6 [$ M( D w7 |, h3 Z* p* u3 Z
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
2 {0 G. F/ p9 f. I. i: T, P) d2 u! L
下面分别简要介绍5 A8 T! g% e- A* {
. {" U0 ^% D$ b5 W3 ^6 ~, \
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
2 l; j K0 E$ p4 G' Q
) e u# F5 e1 t' f. R& T: h, y以下是代码片段:
; P1 G$ R8 t% ~. }: m8 ~
. K: I9 w* G) {- Y1 H( @3 A[yayug@yayu ~]$ df -h
% k9 D! e6 z% _/ V; aFilesystem Size Used Avail Use% Mounted on( I- \8 ?( d5 {( o
/dev/sda1 3.9G 300M 3.4G 8% / M5 l: q! ^" Q3 ]1 h6 B
/dev/sda7 100G 188M 95G 1% /data0
. {2 X' G* N; y* c( Z$ l/ V3 j/dev/sdb1 133G 80G 47G 64% /data1
$ t; S6 q/ y f6 }/dev/sda6 7.8G 218M 7.2G 3% /var# z g7 C$ I' j9 v
/dev/sda5 7.8G 166M 7.2G 3% /tmp
' \2 q* y, Z* x0 k" z/dev/sda3 9.7G 2.5G 6.8G 27% /usr' F( x+ i, s; v7 M) C
tmpfs 2.0G 0 2.0G 0% /dev/shm4 o6 @6 B# g( U$ d }1 @
2 |' E9 n* ~; A3 t# ^% E 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。3 v& H- e# B/ q, K
" a% P8 Z2 B* i' s" ]3 C) q) ?
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
A. n3 J' `! s* T+ u
( l' A0 n P. w n$ B% G+ l 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
6 w' e/ x8 H, S, {4 O) u; B6 B9 n; X5 e/ E2 X% T5 Y, G$ n- G) V
du:查询文件或文件夹的磁盘使用空间. K, x1 r! k& a% E' r) J* r V
; ]- j8 e0 n7 t$ T- N 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.+ j8 y7 x8 g* p) U
& D( h' z3 X2 n1 q* _5 c i 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
, P/ b# W0 Q4 D. `. n. z& D; G4 ]% w: }8 j' H- i
以下是代码片段:6 q& L4 p! A% [
0 d. Z$ Q; N3 E5 |2 _
[root@bsso yayu]# du -h --max-depth=1 work/testing3 q% B6 V0 P1 Z5 S6 \8 n
27M work/testing/logs' h. h: h7 \' i( x
35M work/testing
, ?% u$ T# Q+ L8 i1 @- y
5 p9 G% r9 r% A% K- {* h# z[root@bsso yayu]# du -h --max-depth=1 work/testing/*
& b* S- g- F1 g! B8.0K work/testing/func.php" c+ o! k2 T# Q
27M work/testing/logs
& n% V2 x0 I% q5 Z+ ]8.1M work/testing/nohup.out4 b* [+ B: ^% H3 e) p" u/ J
8.0K work/testing/testing_c.php
* D9 ^7 k1 I8 F* u' Q12K work/testing/testing_func_reg.php
3 |" q; m: s; Y B1 F8.0K work/testing/testing_get.php5 i! e2 l3 y: o; V! k2 G
8.0K work/testing/testing_g.php7 Q" ~- W" R7 ?8 ]; K/ D
8.0K work/testing/var.php) ]" a( J V" u0 |3 H. X0 {. ^; m
# e9 L7 \9 R5 [8 `8 `
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/$ g7 {; i4 X$ q7 v; Q
27M work/testing/logs/
5 R' B$ i4 D# j7 t$ k- j
5 N9 v) X2 ]7 {; z7 I[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*$ s$ @* N' ?6 D. u
24K work/testing/logs/errdate.log_show.log7 Y& R* K, Y0 Z0 j
8.0K work/testing/logs/pertime_show.log
* J( `) i' _* c! G' X4 p, V; y27M work/testing/logs/show.log& P7 k& X3 \. a8 w# M
5 a$ c4 P4 V8 L- Q v |
|