找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12625|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
8 V3 b; s" g2 h+ r' h+ B
) r( _  O1 a6 W  u! [  O+ Y    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
2 G/ n0 W1 J/ R; q5 M3 r    du可以查看文件及文件夹的大小。
9 r4 c) c- F% w" G$ D9 \) ~
2 z0 O1 k8 L3 E5 t" R  i- [, C/ E    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。# L4 H" Y7 l) |' M4 G! ~# N* q

2 ], `* y% E- i1 Q6 D$ G  j  下面分别简要介绍3 v3 L/ S/ u, y% N+ f/ u

% t& ~. W& t4 @$ V& O    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
3 j7 e+ T: z$ v/ D) d3 y1 A
: o+ ?6 t$ H) I以下是代码片段:  Z  Y% y9 F. F( J
; M4 t8 H* {- D+ x. C+ r" ~$ ?6 d! S
[yayug@yayu ~]$ df -h8 C9 O, E4 C/ x9 x: B8 P6 q
Filesystem            Size  Used Avail Use% Mounted on+ K4 r# c; D; x$ X0 }
/dev/sda1             3.9G  300M  3.4G   8% /
' J+ f8 F- I% h; Y( h" M" u* H/dev/sda7             100G  188M   95G   1% /data0
4 _/ V# S1 ?9 @/dev/sdb1             133G   80G   47G  64% /data1
8 c5 w$ N& X  z1 i0 P9 J/dev/sda6             7.8G  218M  7.2G   3% /var! f& i6 d7 d9 `' e) L
/dev/sda5             7.8G  166M  7.2G   3% /tmp' h0 i% e* s, w1 {2 I1 k+ }
/dev/sda3             9.7G  2.5G  6.8G  27% /usr
, B; t6 W7 ]# X3 ?; r, q- Btmpfs                 2.0G     0  2.0G   0% /dev/shm
& Y0 v2 W, {- `8 @
4 B3 I; l1 D  h& k8 p6 D 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。( z. D2 a% u' T

1 e  y6 b0 W. c; w    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。5 {0 K5 ~$ C) {, E/ P' @" t

: k1 Y# {  w6 i1 q, K    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。/ b/ k) Q; V2 j" i3 ^3 {6 _4 O/ a
' l  E# K' A6 k% O* D/ D
    du:查询文件或文件夹的磁盘使用空间
( i/ L" A' G! g7 X0 S& {; C7 g  }, y2 a- w% _
    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
% t& P, k) W+ h, ]! D2 _. c
# P! b+ w: X# m    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。. z  _8 O/ C( ^& R& F

1 m/ x! I2 Y# R! D: o以下是代码片段:: p, r/ z& Z" \' E& c; a
% K3 m8 L& W( \4 q5 O* k( h: D( d
[root@bsso yayu]# du -h --max-depth=1 work/testing
# ]3 l" ^# b6 w9 i27M     work/testing/logs5 d8 E7 J& ~4 g+ I2 h, J  h
35M     work/testing
8 }, `+ n0 r' \) S$ t3 u& ], l( }1 Z- v
[root@bsso yayu]# du -h --max-depth=1 work/testing/*2 k" ?/ b4 j7 C& u) U, Z" Y" w& K
8.0K    work/testing/func.php0 @/ }4 l- f3 g& z0 b% x4 @
27M     work/testing/logs, f7 A" ^: h& \, b5 W
8.1M    work/testing/nohup.out
6 x( S* Y' W0 d: X: g( d8.0K    work/testing/testing_c.php; _4 `: }/ G6 T# @2 I; |1 T
12K     work/testing/testing_func_reg.php1 ?7 k. @5 w6 G0 k0 c
8.0K    work/testing/testing_get.php$ ^9 ]5 n5 m4 A& ?# e
8.0K    work/testing/testing_g.php+ c  u: U( N: e- x" P7 a7 u. X* f
8.0K    work/testing/var.php
/ J+ k' \. ]) L
' z( r7 `1 p4 t2 S[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
6 H0 N- _! i2 I1 ]# C' W. k27M     work/testing/logs/( Q5 h9 t: m; m$ i
3 a; e0 a+ o/ o2 s
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*2 O! ]/ A1 R& D# C+ X* \  G
24K     work/testing/logs/errdate.log_show.log! J6 u% T& U' p  B5 {4 e* f
8.0K    work/testing/logs/pertime_show.log
$ o, d( s( m% q27M     work/testing/logs/show.log
5 `6 V9 G9 u$ H7 c0 ~5 b
; e+ j2 I- b) K
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-3-19 02:01 , Processed in 0.071160 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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