找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13937|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
6 D. _, S* }! d7 b6 x1 l0 E1 I# d' ?' D1 q8 q' @
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。5 }. ^2 |* H$ t
    du可以查看文件及文件夹的大小。, h6 ], ~7 f+ V$ k* \; A( D2 J. ^/ k

& [  j! y. x% b" y! g( ?    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
. x; k) \" Z# w/ T7 g% a
: w# q( d6 v4 H% a0 G; [/ k+ K  下面分别简要介绍
* S2 n7 y8 j0 O
% R9 m$ o1 g8 P0 O3 I- y    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
9 j1 z2 W! E/ M& W4 A
6 @# V* `1 R2 e5 v/ i以下是代码片段:+ L& u5 \& E1 u+ D0 b
0 q8 f7 S) e5 A. N& |3 S
[yayug@yayu ~]$ df -h' s5 \- z3 Z( I) X+ L1 D# S0 K
Filesystem            Size  Used Avail Use% Mounted on
2 P9 u9 m; \! q6 C/dev/sda1             3.9G  300M  3.4G   8% /9 A* l& {' q4 X3 ~
/dev/sda7             100G  188M   95G   1% /data0. n6 N/ t9 a5 g9 ?, P
/dev/sdb1             133G   80G   47G  64% /data1, i1 j8 Z2 Q0 P% I9 a- y& V
/dev/sda6             7.8G  218M  7.2G   3% /var
. B$ `2 F+ k7 j+ y/dev/sda5             7.8G  166M  7.2G   3% /tmp* K. B! h8 a; K/ _& o
/dev/sda3             9.7G  2.5G  6.8G  27% /usr- F' k' I4 B3 t6 l' i- Z2 C3 w$ [
tmpfs                 2.0G     0  2.0G   0% /dev/shm& T& `6 T  U( u

: e: w. j6 f& b; ? 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。/ R, ?5 a! v6 T) m* e7 N5 T

, f) g9 K( f, I" P    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。8 M- a4 C4 H, ^) k; C
1 [7 D. i) I+ H& d
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。6 t  T" l+ z9 \1 J9 u9 B1 M( [& A

0 f) V' L* o% L& F1 D6 X- s    du:查询文件或文件夹的磁盘使用空间
' n* t# y' G/ L1 o) \* s! U
+ O1 ]4 [! m6 d% v2 Z    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.  ]0 r7 @/ Z- z. J  l* g6 P

) t  o- d! t7 f    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。6 Y/ y/ J! h( E) G5 H
, F- L3 ]: ?$ {4 @# Z( {( d
以下是代码片段:1 o' F6 }7 L* P; A' Z( |

% u. o5 n3 n+ o5 H) c8 s[root@bsso yayu]# du -h --max-depth=1 work/testing6 q; c4 r7 Q: S1 q$ N$ ]
27M     work/testing/logs
5 [( P  q; |1 \3 q, u35M     work/testing
! l4 T3 z& h* G/ y6 \/ O1 c6 o; t( V, ~" D+ n6 J/ a
[root@bsso yayu]# du -h --max-depth=1 work/testing/*
" s3 z( ]6 a6 V* u3 {+ M1 K% I8.0K    work/testing/func.php
9 U- Z3 z/ m) M3 y( L  x27M     work/testing/logs& z6 m5 D* J3 e5 Q
8.1M    work/testing/nohup.out% K, e+ ]: O, ]8 _: e9 p) M
8.0K    work/testing/testing_c.php
% t5 h; j/ P; H8 y3 c* G5 n" U12K     work/testing/testing_func_reg.php
5 `$ m/ {- I7 n- X8.0K    work/testing/testing_get.php. ~  p7 i: y  w+ }
8.0K    work/testing/testing_g.php
! T1 f1 _$ N. J9 W8.0K    work/testing/var.php
7 x4 Q  j$ |* {% O& C6 N
/ ?! Z* A+ q* H. ?. E8 H[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
$ U' P' g1 P* B7 b$ X27M     work/testing/logs/
% S( z# a5 j( l4 v0 g+ J+ n. L- {1 S8 B3 C5 t# z3 v" N
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
+ S- y5 [9 w: i+ ?. s6 f' K9 J24K     work/testing/logs/errdate.log_show.log- k$ m% z, u3 s& M9 `$ k; a
8.0K    work/testing/logs/pertime_show.log1 j  ~5 r. A) v; K
27M     work/testing/logs/show.log
2 R/ ~2 x2 j; \8 l& N- N6 P$ {, J0 D: L; E/ J, j9 J% I  J
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-7-25 22:16 , Processed in 0.092310 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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