找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11078|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
+ i: S$ \. |8 ~5 P; A
( H- P/ y; _- ~" g: d1 s! ^4 d: {    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。& V. u1 l0 J. w: l" K
    du可以查看文件及文件夹的大小。
/ g, S* j) I8 K4 t, f) W# A+ r+ `' T* z5 b6 P$ v
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
" D$ |, b$ q# I4 \3 ~+ W6 X0 e% X: `- x7 V
  下面分别简要介绍
% `: Y& D( ?# k0 P3 |. r# U7 {$ Y( N: ]0 a& b
    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:7 f' v, P, k4 E/ `* Y
# K: A# L3 S2 S$ g% @; O2 @- e# _
以下是代码片段:
  N1 }6 l! g4 |$ ^7 D. J$ |, D6 Z& Z& \4 f
[yayug@yayu ~]$ df -h$ i8 h' }- N8 O; D
Filesystem            Size  Used Avail Use% Mounted on
+ S$ E( {& F& ^5 f+ I) E# Q/dev/sda1             3.9G  300M  3.4G   8% /
/ `/ k5 ?0 ]0 k. n" y/dev/sda7             100G  188M   95G   1% /data0# o/ b8 }& }7 A9 K2 [8 u( W3 |; J3 T0 v  V
/dev/sdb1             133G   80G   47G  64% /data1$ [! u% N/ h: X: w; f
/dev/sda6             7.8G  218M  7.2G   3% /var
, r+ i; K6 N. s/dev/sda5             7.8G  166M  7.2G   3% /tmp5 a+ U$ w6 h% w8 W8 O* g
/dev/sda3             9.7G  2.5G  6.8G  27% /usr
" E1 j* p0 e, ^/ r3 h6 B  i! w. utmpfs                 2.0G     0  2.0G   0% /dev/shm$ X, V4 c; F% p; ?

# t/ `- A0 U5 g/ M( B3 |( w8 v 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。. x+ \9 F# j" i; |( z

4 C2 o* r! I& L! U    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
5 H& K( j4 V( T5 X& E8 a# m7 W" A! Z' |/ L. f. a
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。; B3 b9 R2 a/ l& F9 N% H

, X( R# s. z* C% G9 L, {- ^    du:查询文件或文件夹的磁盘使用空间( I) W, s& [2 X3 L

0 Z' i$ r3 O3 I    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
! K4 G- \6 t. e& O* c! \  ]- p; v) l' y: Z' n" {  l. U: h! W" t; q% f
    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
2 e/ y( V$ K' I3 [; j! Y3 E' A0 u9 \; Q) o9 s' L, g
以下是代码片段:( {9 I3 n& v% P5 ^5 S4 A0 q7 ]
. a2 O/ W) d! J/ k( W
[root@bsso yayu]# du -h --max-depth=1 work/testing" ~  L1 m  w, Y% ~- [3 ~' D
27M     work/testing/logs
( s9 S: e2 j. }& p% A35M     work/testing5 S: x7 S5 Q/ U
# `9 U% m1 e3 n4 d( E9 J5 ?
[root@bsso yayu]# du -h --max-depth=1 work/testing/*4 y9 v0 e. ~3 C# Z; t+ D
8.0K    work/testing/func.php
7 c: f8 z: h7 o+ D. v; V9 Z/ k27M     work/testing/logs3 n+ @1 c# ]. Z& T; [4 z& ]
8.1M    work/testing/nohup.out1 B, M; @8 l3 R) v( _6 u
8.0K    work/testing/testing_c.php0 {" ^5 g5 S; G1 V+ p2 H9 T
12K     work/testing/testing_func_reg.php) Q& s. C: W4 `; i3 R: d& q, n
8.0K    work/testing/testing_get.php
. z" e4 O" p2 E& b- ?$ \8 R: K8.0K    work/testing/testing_g.php" N( e& Y' W8 b5 u
8.0K    work/testing/var.php; r! W# z8 q. a5 w  U* D1 z
$ y0 x  F, u, U; x
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/, q  n, k7 \" U+ d, `4 A6 r, c7 y
27M     work/testing/logs/4 g% x4 N: k' j1 a
/ Z- V+ R' S9 O4 O
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*8 x7 S3 ^& _+ y" j
24K     work/testing/logs/errdate.log_show.log
7 M' W, w5 E1 t, D# r8.0K    work/testing/logs/pertime_show.log. L/ R% @5 ~. c* y
27M     work/testing/logs/show.log5 [* r+ s1 R) Z' _7 T
. k- S  ?0 ]- V. R' L. t; @
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-19 07:47 , Processed in 0.082965 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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