|
|
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。# J) \# h" ^" |+ j+ L1 } ]
9 W& H/ {3 j3 J: r. R+ E! g) u, {
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。8 [9 H2 i+ ?2 [$ q E8 `
du可以查看文件及文件夹的大小。
2 K* H4 M; ~* G
% I2 i: |" y$ z8 o, j, { V3 J) [ 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
9 N' a r9 ]* A7 m( v/ g
+ v; g4 u) s% X 下面分别简要介绍
+ b P! k5 L5 h6 c& _$ ?: ` O% R% t4 b% y; D
df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:( B" b! C5 V) P
/ q% h* a4 \4 e+ Z1 {
以下是代码片段:; G9 f ?: k3 D& u8 I$ t+ s1 x* j; }7 Q
. F2 {" l$ M6 w3 g[yayug@yayu ~]$ df -h
, }6 s# |& r* Q A" A8 JFilesystem Size Used Avail Use% Mounted on4 @% D e4 B( r. X+ K7 z- n
/dev/sda1 3.9G 300M 3.4G 8% /
; Z+ `. [1 O+ C$ w# a/dev/sda7 100G 188M 95G 1% /data03 T+ v* z; Y& s$ U
/dev/sdb1 133G 80G 47G 64% /data1' [4 n0 n0 u& p4 K: g2 F
/dev/sda6 7.8G 218M 7.2G 3% /var
% l; x, M7 x! b% ~/dev/sda5 7.8G 166M 7.2G 3% /tmp
# s/ g, |+ Y$ M" V6 k# v/dev/sda3 9.7G 2.5G 6.8G 27% /usr
4 |4 J, {3 L9 e1 E' ?* E+ Btmpfs 2.0G 0 2.0G 0% /dev/shm Q, U$ K. H5 W8 K6 C* o/ Z
; q% J4 r( l0 O+ d 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。- U8 u% i7 O1 {, Y
& e! H4 B0 Y1 d. b$ H9 R
上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。6 G! E& r- Q/ |" Q6 {7 P
# j- x- t4 [) ?4 d* q+ K8 P. a( ?6 U 接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
" X- d3 v) f& x% y
$ x4 Q1 E Q, `. Q2 U du:查询文件或文件夹的磁盘使用空间7 |4 ]& @* l6 P! O
- }/ f* S) ?+ O1 y 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.* t6 C" L9 g' Q* V' f
. P+ v% o# g( ^% w% d* r6 j
提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
2 w. t# f) {) n3 x! |2 f' x- \5 I: B; C, Q; r3 j
以下是代码片段:" }7 y$ W% {1 X# x) W& V
( s4 {4 Z: E. h" {2 J) b `. D" k4 q[root@bsso yayu]# du -h --max-depth=1 work/testing
! S: I+ B: k5 U& o: p; _( [, c27M work/testing/logs5 {3 Z, P- _7 ~+ K
35M work/testing
1 L, H- {& ?+ }$ R4 v2 f- N9 c0 R3 a( { Z5 I5 h4 t8 Z
[root@bsso yayu]# du -h --max-depth=1 work/testing/*( q" R5 x4 X8 R% a i( T8 u
8.0K work/testing/func.php4 c) r$ N/ d" [/ g( |2 P
27M work/testing/logs
/ j' f m, \* N9 }0 x, v- O+ t8.1M work/testing/nohup.out1 K# m" [4 U" _. F6 b$ q* X. v
8.0K work/testing/testing_c.php
/ y F5 u- z9 f. R8 C' \1 u+ Y ]12K work/testing/testing_func_reg.php
8 Z5 L9 j& [3 f( ]8 m, I8.0K work/testing/testing_get.php# e. A2 ]) e7 ^3 P
8.0K work/testing/testing_g.php. u* \% v# t4 p; N% F
8.0K work/testing/var.php
4 }6 B& T/ d8 G8 U1 r4 {6 }- m4 o
. w; I5 v( [/ V3 W" p$ G[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/9 [1 r, p, K4 Q5 R) Q4 w7 f
27M work/testing/logs/
2 q, w3 U1 [6 _0 [- @0 J3 t& d
; \! t; j9 B- j9 l; i! Z/ @[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
/ y6 g6 C! C( x+ b2 d24K work/testing/logs/errdate.log_show.log# z/ k, d1 H5 j3 A6 f
8.0K work/testing/logs/pertime_show.log
, A$ x5 _$ s4 E' h+ w27M work/testing/logs/show.log
4 G% y# ^ T6 V5 {/ L& e
$ g8 D+ M& s, x: e" @0 i |
|