|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。/ ^# x/ x8 I K/ D) H$ K3 m9 r/ [
; e0 a+ ]2 c! C+ v) l5 z df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
' _0 ^: n# ^7 ^+ h du可以查看文件及文件夹的大小。1 o8 g# n5 S9 n) g
" n6 E* J1 ]- s" U# p% T; ^
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。 l+ _) q2 h8 ~, `- `$ o/ y
' z1 u. H' s8 O" y D% a 下面分别简要介绍
' a8 @. W5 [" C% j! H9 j$ L
' k7 [* G( _# [4 w$ H! R df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:6 j- M" G) j! Z
C$ j7 V# x5 u1 [) O$ j
以下是代码片段:
n; X+ a1 ]- B1 V# h8 d" C1 T! e0 T1 }2 ]+ X0 m
[yayug@yayu ~]$ df -h1 h9 H; N. a) X, N( O' h
Filesystem Size Used Avail Use% Mounted on4 T' s7 p( \/ S" v& j& a
/dev/sda1 3.9G 300M 3.4G 8% / T( X% d2 ?# [8 H8 `
/dev/sda7 100G 188M 95G 1% /data0; y; G" n- @& J x0 M
/dev/sdb1 133G 80G 47G 64% /data1
- ]; T* j. P1 }* D- L" f1 }5 U/dev/sda6 7.8G 218M 7.2G 3% /var
1 A% ^5 n7 n0 |- U& T; y6 u8 |7 l/dev/sda5 7.8G 166M 7.2G 3% /tmp
& N; `* X& Z2 `' u/ ~; U/dev/sda3 9.7G 2.5G 6.8G 27% /usr; a% Y8 ]6 D* S. ^9 H
tmpfs 2.0G 0 2.0G 0% /dev/shm( b- d( q) |$ B" T/ S0 e
8 q" t$ Y2 Y" @( [# [6 ]
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。! ~9 n$ M3 g0 s. n
9 c8 G; q Q/ n 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。& u: Z/ d1 g# t# l! d3 q, D% H
: g+ H+ L7 m! m$ i7 y- a 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
& C0 R9 } _$ ^9 [7 g8 g7 g& M8 n( m1 J+ w o0 `
du:查询文件或文件夹的磁盘使用空间) b' V5 ]- h) p; P* H( E
+ _! @. @8 j4 s: w3 ^% d& n+ p 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.* U' \4 s9 `3 E
e; M. o5 l2 g! d% l, R
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
7 }* @1 d5 I+ d# p* }
7 q+ F# M8 @% g' A. b$ s以下是代码片段:
% v( l9 ^8 y; B' |$ E: z
* x" V4 `- } x1 S: r+ }[root@bsso yayu]# du -h --max-depth=1 work/testing
- f! u( i0 b) p, S27M work/testing/logs% S4 V$ X+ m7 i7 k- P
35M work/testing; a8 i4 n# Z! g( |" \
) h- M. T- a) U7 ]
[root@bsso yayu]# du -h --max-depth=1 work/testing/*3 s) V7 \- K( ~6 r: w
8.0K work/testing/func.php r- J" h+ f/ h# V
27M work/testing/logs
& i Y% c3 s% ^/ J8.1M work/testing/nohup.out+ D$ ?7 N6 _' P
8.0K work/testing/testing_c.php
q" R2 S5 s% ?" Y; V T12K work/testing/testing_func_reg.php9 `% k% e" Q1 E
8.0K work/testing/testing_get.php
1 I1 e! ~0 L4 @+ ^5 e9 R8.0K work/testing/testing_g.php2 P( ^+ L% J( q3 t) K" Q1 s2 u0 a
8.0K work/testing/var.php; ^0 |& I$ _. h6 T8 Z
) j7 l6 s/ z9 w# x" A2 v- P[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/* L' T$ H( c+ r& y
27M work/testing/logs/. q5 l1 k" \. y
& j1 l% D: U" V2 g. ]; |
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
: y! b4 T7 ]; E5 p! }24K work/testing/logs/errdate.log_show.log
( I _3 g6 H. D! L" {* ]8.0K work/testing/logs/pertime_show.log, l/ \+ G7 k: L! N( w5 G' r/ G
27M work/testing/logs/show.log
# {. S# W- {4 J/ E" ^% n% @- h+ V2 s! E4 Z+ u, n
|
|