|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。" |" t1 K4 \$ t# z+ t* U5 H9 z* s
) }* N# r3 B( q/ x" |2 Q3 ` df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
; M: L1 Z/ A( w1 \9 U. O+ P+ c2 p du可以查看文件及文件夹的大小。7 c/ w# E. G3 V/ [5 r
5 _- h6 y. \, ~! T. g
两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。) y, M6 X3 f% q; [/ A& \
; Q2 n) ^/ o* s9 J3 X 下面分别简要介绍 ~1 d0 W. z- b+ v# I
8 m3 V C1 D& E2 j- {2 E df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:0 ^# R1 o7 Z" r% H8 f s& i. X
, M2 Q% j+ {2 }/ x8 H
以下是代码片段:$ X" G% y( x9 ~) G3 o
u2 T2 i2 x [: @[yayug@yayu ~]$ df -h0 m0 i. u% S# X
Filesystem Size Used Avail Use% Mounted on
6 ]: v( s4 h% W, ]! V; {. o+ L: M$ D3 K/dev/sda1 3.9G 300M 3.4G 8% /
; b6 k8 ^% N. q( D/ U/dev/sda7 100G 188M 95G 1% /data0 o3 _% ~; l: R) d9 n
/dev/sdb1 133G 80G 47G 64% /data1
8 R+ X& g9 Y m& d# B: q/dev/sda6 7.8G 218M 7.2G 3% /var: `6 O( l6 f6 `0 _
/dev/sda5 7.8G 166M 7.2G 3% /tmp
' m- f& p2 t4 F+ R, U1 c/dev/sda3 9.7G 2.5G 6.8G 27% /usr
" B$ q6 E' z8 p3 C R# btmpfs 2.0G 0 2.0G 0% /dev/shm
3 s# @: ]+ j8 U8 \8 b& Q* ? I' Q/ @/ A D# F( m
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
$ V$ ?- p% Q' [4 i6 d+ {! I3 I) B1 I* r2 @# M# I4 ~/ a4 S3 L4 U
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。+ a# b: o" ?% }4 A9 }# S
* r [0 ?/ _4 A' o* g7 D! p; p
接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。! `, X9 E$ r# _! C
# P- V9 B- ?% a# y) `$ i" F du:查询文件或文件夹的磁盘使用空间+ G) h4 h4 Y I
: b- U% G' E8 N2 U S
如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
b: N3 `- z0 W/ |: U
, I4 X0 H5 x, c! c' P. v, a 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
; l0 r: t# X4 O" ^9 t: ?
; F7 j; ^+ [- D( F' \3 L- f以下是代码片段:5 x' Q; T2 G3 J, N
* ^0 X0 y' O" s3 u6 Y" V, E5 o6 b[root@bsso yayu]# du -h --max-depth=1 work/testing
( r# G1 c" b+ \0 T& f/ j/ i3 N27M work/testing/logs" C5 @. {1 X1 C" k1 r5 d
35M work/testing$ e9 u' Q$ s5 X; d# R% E: i
# C' M; q% p2 Y/ C+ ][root@bsso yayu]# du -h --max-depth=1 work/testing/*5 f7 [9 Q8 L1 l+ d! V4 s% F0 I
8.0K work/testing/func.php
6 W7 ]4 B/ K1 ?! I; ^" S27M work/testing/logs
+ Z$ W& z! J' E5 ~/ W X4 R- U/ g8.1M work/testing/nohup.out
' }3 ~2 O% F4 K* H5 `0 G2 o, ^( w8.0K work/testing/testing_c.php$ N: T& g% ~# l2 Y
12K work/testing/testing_func_reg.php
! A1 K+ ^% B+ G2 X8.0K work/testing/testing_get.php
1 z8 M% l3 o* \; B1 Q3 Z* ~1 j' R( w8.0K work/testing/testing_g.php- ]1 k9 H( v/ @, v8 W
8.0K work/testing/var.php
% t' n' A: t3 R9 y
0 A9 V# }. _ F' c[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/; ~$ j9 R1 R6 @4 ~2 Y+ z
27M work/testing/logs/" k1 a2 {' \0 r t. ^1 s
/ D- G9 {& f; B, D1 M8 H* V[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
2 n+ A& r; [6 y9 D! K% Y24K work/testing/logs/errdate.log_show.log9 ]" J* c' X+ n6 ?' `
8.0K work/testing/logs/pertime_show.log# E; \; J5 H) D$ P6 f B) H
27M work/testing/logs/show.log4 y. {- v0 s* q7 g6 |+ M: l
7 @, L! C* M7 z! o; e; _+ x
|
|