找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12401|回复: 0

Linux下查看文件和文件夹大小

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。. o0 ^( n; u% v

& ^) Y. V' ^7 O- A6 z    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
& x- A# L" }9 s4 A: ~9 o: ^4 I4 n    du可以查看文件及文件夹的大小。0 f; u# `9 \# x

4 x4 x1 t4 E) ]- {  d' s    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。! L; D9 L# E2 C

/ V2 y6 o! y( O* h: m  下面分别简要介绍
/ y7 g% N% `6 A/ Z
5 A; A6 u4 I5 h" g    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:2 _! u8 Y$ S6 k# w
$ @& J4 a) Z) v4 p
以下是代码片段:1 @. I. e$ K- X  o
: h  g% F, x7 o2 L
[yayug@yayu ~]$ df -h$ O, o: Z; o" Y) i1 |
Filesystem            Size  Used Avail Use% Mounted on, |0 |9 @4 \7 ?( U$ b* \
/dev/sda1             3.9G  300M  3.4G   8% /
$ A! b* d5 Q* t9 Z/dev/sda7             100G  188M   95G   1% /data0* \4 C' N+ y& v+ N. K3 Y: j- [4 X
/dev/sdb1             133G   80G   47G  64% /data12 G4 a6 W7 K; P# b' A1 ], |/ ]5 E
/dev/sda6             7.8G  218M  7.2G   3% /var
2 L# K( n: A! S. J) v/dev/sda5             7.8G  166M  7.2G   3% /tmp8 e, z# O# V5 M/ O; p7 T
/dev/sda3             9.7G  2.5G  6.8G  27% /usr+ e$ q, v* t: x6 W7 f
tmpfs                 2.0G     0  2.0G   0% /dev/shm. W) j  ~; E, I1 |  _& V+ r1 T

3 }1 h, C  @! x7 j* m# q 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。- {4 e1 ], H& m  S1 T0 F
) u0 @. W( T. O& v' A( X3 @
    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
. m+ b9 O! A9 {2 l; R8 F$ W: a0 \7 I
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
7 f3 X& y- @6 S
: |0 M' X, C" j5 g" p$ N0 V    du:查询文件或文件夹的磁盘使用空间
( X7 f$ j2 g! H- A1 a& o1 q, Z; G# A0 p& l8 P  N3 }
    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
" _1 c( X+ g* p+ r  [# m. q* X- h4 F7 }
    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。5 f# s: B% m- E0 ?6 a. F  Q

, b7 Z! \, z2 L; r% N; _以下是代码片段:
/ c5 X# e! z/ H# ~; [  A
3 c5 k0 R* L4 Z; u& T[root@bsso yayu]# du -h --max-depth=1 work/testing
; I, ^7 N- s( _, i. Q/ G% v9 N( _27M     work/testing/logs2 d. W9 w( J3 d. r8 @, I% z
35M     work/testing
; X8 G9 b( Q/ a$ b: }
7 G7 H0 F$ N5 F+ S' F[root@bsso yayu]# du -h --max-depth=1 work/testing/*6 L* I9 Z/ t2 l. Z7 a
8.0K    work/testing/func.php* K2 R0 M9 {4 P' Q9 ]3 _
27M     work/testing/logs3 [* H- ~3 Z& U- ]
8.1M    work/testing/nohup.out! _$ L1 p( f2 M, u5 R: s0 q( N
8.0K    work/testing/testing_c.php
8 \" o! z* |' \* ~0 D4 b; S  W12K     work/testing/testing_func_reg.php
. `7 @7 T4 v& ?) o, y8.0K    work/testing/testing_get.php7 n& u$ Y( `4 n! B6 D( `2 h
8.0K    work/testing/testing_g.php
+ L8 ]; l( ?# o: Z1 b1 L9 O8.0K    work/testing/var.php
1 a' O2 [9 x; R7 w9 X6 z( r  k9 f. p- d% ?; E
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/8 K; {0 s5 @, b' S* j9 f; }
27M     work/testing/logs/
  M" b/ O( R! A$ x& E
- y" J9 Q8 P) [1 Q[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*% m, i: H* x- ?7 ^& b7 N; o
24K     work/testing/logs/errdate.log_show.log
9 o; C% f" ^) h, v, ~  D( c8.0K    work/testing/logs/pertime_show.log9 k- ^9 L! F2 ~" G. W
27M     work/testing/logs/show.log* r: l3 t  I, z9 w5 C

7 d# J! `) Y' z: u6 W: G6 t1 B4 C
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2026-2-22 23:13 , Processed in 0.123638 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表