|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。6 `, c# A. I' S! [, m( K! L$ A
9 N: l% t$ ?! ?: ]$ a! E df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。, A, l5 ^( z" V: z( k; X7 {$ h. _
du可以查看文件及文件夹的大小。6 y$ ^7 ]0 N! ~. B- O$ M. T
5 Y! d: U8 t- u- w7 G+ h( c 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
; i9 H0 \) \- h- u2 v, m: F; A$ B8 ]! s2 [$ I
下面分别简要介绍
- K8 y! W- |, G' r/ I L! n6 U* E+ ?) K1 c6 e# k% @" w* ^5 x% m
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
* C9 k h& J9 v% _/ P& Q/ L, O) E: D3 N
以下是代码片段:
& i, t$ w9 W0 \# T) B
) d. p" @( }* f' N( v[yayug@yayu ~]$ df -h
/ X- E- L! J1 j6 ~Filesystem Size Used Avail Use% Mounted on
, j% {4 s* ~0 X5 B/dev/sda1 3.9G 300M 3.4G 8% // h5 k& n$ Q) j/ Q% F1 o9 ^' m- k% C
/dev/sda7 100G 188M 95G 1% /data0
% w0 @. b6 L$ b0 b/ W n2 Q) } o/dev/sdb1 133G 80G 47G 64% /data1! K' P# ~7 }# G3 ~) G
/dev/sda6 7.8G 218M 7.2G 3% /var( _8 V9 U8 e) f
/dev/sda5 7.8G 166M 7.2G 3% /tmp% P. Z* L* I/ l$ P% Z# \
/dev/sda3 9.7G 2.5G 6.8G 27% /usr
3 W5 U: |7 \; A. v4 e) [' b. atmpfs 2.0G 0 2.0G 0% /dev/shm
4 [/ X) k4 L. O+ p. m: E' w9 z& Q) m3 k8 U; f$ B2 Q1 `5 s
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。+ ]" \- y: E" Y2 \, s
0 e9 {4 P$ c# B
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
4 \9 n& w1 v1 v
5 R: C+ j4 s% [: d5 R X$ N% W 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。1 f3 p! ]! g& b6 R: l6 a
% L, {; N1 I/ p3 u! F: r% r9 v% K du:查询文件或文件夹的磁盘使用空间
# X& [: F# ]% O3 S. R# q I# a6 ?: f
8 j3 H# P# ?: Y; _' { 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.7 q# v: [" d; [9 [4 ?
T8 E K L4 T7 j ]0 A1 _
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 l" d4 f' Q( d* q
/ m' N4 c5 q" d- R& u; A以下是代码片段:
9 g! v* U' \( C2 u5 w1 j/ Y/ z" X% W& l4 a
[root@bsso yayu]# du -h --max-depth=1 work/testing6 X8 E0 C3 P) n0 q# W( L( a
27M work/testing/logs9 c8 n& K! o: z3 t, k
35M work/testing9 h% {7 ?) ]4 w
$ f z5 D5 y6 o* x0 O! e# _+ |[root@bsso yayu]# du -h --max-depth=1 work/testing/*
' I9 ]5 H8 N( v- m( Y1 W8.0K work/testing/func.php
; G [/ q1 w$ Y; W: c# u27M work/testing/logs) [3 Z2 G0 r: Z! J4 f
8.1M work/testing/nohup.out
0 F6 a6 j F3 B/ c# l' H9 J" g8.0K work/testing/testing_c.php
5 |7 ~4 a) U% f+ \12K work/testing/testing_func_reg.php0 U! T' n" [) d, a2 M7 F9 O
8.0K work/testing/testing_get.php
2 ?- k) y. _! y, b9 g6 P' _8.0K work/testing/testing_g.php+ K! J0 h m9 X- P
8.0K work/testing/var.php( H& q* h- u2 F. F# x! P" E' |1 Z6 i
! { [$ v6 ?7 Z. f6 E# _: z6 U! y[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
& {8 F) N; S' n6 Z' r X& t# C, b27M work/testing/logs/
" k8 K2 o N% S9 u* J" _+ _3 f6 g* _7 f/ v' ?. ^
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
" T& X" X7 s5 M- d! T24K work/testing/logs/errdate.log_show.log$ `/ C( @) k* M4 t, q
8.0K work/testing/logs/pertime_show.log
" j- R0 x/ O% G# p" c; i27M work/testing/logs/show.log
. k7 u; k8 B! R- W2 u i9 J# |% u. |. x+ b: M
|
|