找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14731|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
9 B" n& M* g0 c6 v6 U
: g" x8 h! b, W4 _* c5 `' x9 c+ z9 E    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
) s; Z2 Y7 v( Y$ K    du可以查看文件及文件夹的大小。
- b7 ^, W5 A7 _8 g4 f  E0 U/ o+ Z
+ Z# x( w; Z, Q8 R" \( {0 A# C    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
9 B; a; a, @6 X( B: p/ F; ?
) j+ x, h" g: `) C5 Q- h' `" \  下面分别简要介绍
1 ^4 c' L* r# W
* L8 R; e% b" v    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:' J. }1 i" G! z- d- i2 N( X) u+ U
# V: p8 M( ?) x2 s
以下是代码片段:/ J- x/ u/ _2 g* \% s
! X; u% U) J& |% G, Y
[yayug@yayu ~]$ df -h
8 L3 }% D4 a( \' {$ |: {6 ?1 PFilesystem            Size  Used Avail Use% Mounted on+ w$ |9 ?9 r) r8 o
/dev/sda1             3.9G  300M  3.4G   8% /  d) A# g7 W+ w' N& G) C: _
/dev/sda7             100G  188M   95G   1% /data0& D7 H# m* `5 n0 H
/dev/sdb1             133G   80G   47G  64% /data1
. T. c+ ]6 K) m% f2 F/ f/dev/sda6             7.8G  218M  7.2G   3% /var
: X+ I1 B' P+ n4 `+ V/dev/sda5             7.8G  166M  7.2G   3% /tmp, D, J" r( V+ c/ Q  n% ], y# @  P
/dev/sda3             9.7G  2.5G  6.8G  27% /usr
& |* U" ^* T& t8 ~* ttmpfs                 2.0G     0  2.0G   0% /dev/shm3 j$ ~  B1 q/ ]9 Z, I. }/ B8 b
: Z0 t+ V1 W! ^. G7 F7 q
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。6 q: g, U; P8 Z

; l  W9 |: ?) x( {$ S" v    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。3 p! i# J# X- q$ a# l7 {+ J

5 P% F6 X; [; k9 w4 r/ `    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。. j- u! h( I" H; i; p# Q
8 S/ n. ^8 G1 ]" Z+ b
    du:查询文件或文件夹的磁盘使用空间
/ l. M5 N$ d; ~2 ~; \1 A
8 h3 c3 X, b) o/ e5 E4 F    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
) z1 M9 M2 L) J% V* `' q/ L& K3 b% p1 Y/ z/ h
    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。. X. k% T- B% R4 m; O% `2 d

! T% I! V" z1 m( F以下是代码片段:; Q* R( B- s' T
& @  m& {1 V9 g) g+ z8 r* g+ {' g
[root@bsso yayu]# du -h --max-depth=1 work/testing
+ |' v4 x# I% }. ~27M     work/testing/logs+ Z4 _: R1 r* o
35M     work/testing
: n" ~2 s+ T* L2 X9 @( Y* S8 X! _: Z
[root@bsso yayu]# du -h --max-depth=1 work/testing/*+ H  b+ [9 T, Z, R& v
8.0K    work/testing/func.php/ {* n9 j# a2 I: ~9 `
27M     work/testing/logs
/ o8 O: h2 I% Q+ H1 I) i5 _, L8.1M    work/testing/nohup.out  J1 ]+ \% c: P' @7 ^
8.0K    work/testing/testing_c.php
8 P- D! h" N! I7 C; w. P& o7 N12K     work/testing/testing_func_reg.php
: |# J; x  U, n9 C' f0 s8.0K    work/testing/testing_get.php
: R, u9 ]( H3 Z) H/ F8.0K    work/testing/testing_g.php1 [& u* @: Y' G- W* m. g8 J
8.0K    work/testing/var.php
- K1 C8 z/ |& U/ P$ G9 c; [9 H& w: I4 e/ [+ P
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
. Z, N5 e4 X" q- Q7 o6 F- \3 {27M     work/testing/logs/; M- _' n' v( W# ]& R3 h

2 v, o# P* Y4 X9 `5 `[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*# Z, s& u1 ?. W3 ?) E9 V
24K     work/testing/logs/errdate.log_show.log' @1 O) F! |/ q
8.0K    work/testing/logs/pertime_show.log
/ F8 Y1 P: o3 X7 H1 G27M     work/testing/logs/show.log) v" q: T! r& Y! l& ?5 j, s. o
7 n7 K- G9 J9 c: _
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-10-24 16:56 , Processed in 0.073227 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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