找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12344|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
7 }, _+ ?# e2 J, ], d- S( }) K3 \; i/ D$ j* I
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
0 @" R& w% z) v( X( w    du可以查看文件及文件夹的大小。" O1 W( q/ Z' I( o% \6 ]' _$ R
( ^# T( J5 l) j4 E  w+ N- k, g/ y
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。( l* w1 E+ B$ [% \8 h
- ]9 b4 n4 S- Z, d3 s
  下面分别简要介绍
9 c9 M# A  A: |* _
) h2 L! C& ^/ E- [0 ~, T2 ^    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
' s6 l( c4 V' t. M7 i
2 Q( y0 }9 V- ?( S6 v2 p" g1 v# f以下是代码片段:
+ H$ [! X- n! ^
1 f- S$ B% c" h: T- ~) [% z/ C[yayug@yayu ~]$ df -h5 a( P5 l. P# x  `/ Y
Filesystem            Size  Used Avail Use% Mounted on0 y' {) y9 b8 H% m% v. W# F
/dev/sda1             3.9G  300M  3.4G   8% /
8 ?1 H( v! g6 s/dev/sda7             100G  188M   95G   1% /data0
7 e  }6 L* \" ^! E: Y/dev/sdb1             133G   80G   47G  64% /data1: M' ^0 m, t& X4 V
/dev/sda6             7.8G  218M  7.2G   3% /var
6 r9 f: G: K5 C# B- a/dev/sda5             7.8G  166M  7.2G   3% /tmp) Y. J% v. h: y) @9 S7 ~
/dev/sda3             9.7G  2.5G  6.8G  27% /usr" E% {4 ]3 j9 v2 E
tmpfs                 2.0G     0  2.0G   0% /dev/shm
; W/ \+ H( e' A" W: ?7 X$ d* F
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。, w' x2 o1 z2 [- F
+ H. M) M. y" {9 i+ j  H* V: r
    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。/ ], Z4 x3 T( f; K- j& }0 k5 Q
5 d" H. p/ @! ^% f7 g
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
% m4 o4 y0 U7 R5 I2 o$ L* W- i9 T, X7 u  ?( n
    du:查询文件或文件夹的磁盘使用空间
: E5 }/ n9 r+ B2 ]+ q  J0 e0 W: O) ^' T- b( i
    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
* d3 g$ C0 h, ]  k) x# y5 X, u+ O* N6 ^; d
    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
/ V2 d5 [& W* H! k5 z' h# ^7 y: }1 r3 ^% z
以下是代码片段:* X+ n  W8 Y( N9 K( B# \: [

  F: f% W! ?; ^# V# K: v[root@bsso yayu]# du -h --max-depth=1 work/testing
! q0 n5 ~; ?  U  F, z/ ^27M     work/testing/logs
* P* j1 H! k5 P* [0 b  x35M     work/testing- \; M$ g  t) I% j0 }
# I. m3 S. L& R) E  l% ~
[root@bsso yayu]# du -h --max-depth=1 work/testing/*; u0 |$ Q4 E& N% X0 W: M, Y
8.0K    work/testing/func.php
7 `  W# s7 X7 I( K27M     work/testing/logs
+ z/ D* M' V7 C- X$ x9 C! D7 E7 s8.1M    work/testing/nohup.out# \! m) z9 e# E' B/ y6 r: M
8.0K    work/testing/testing_c.php  y( x3 W6 U. k, [( @
12K     work/testing/testing_func_reg.php
2 {6 A% J) z# o# d8 k( v% |2 l3 q8.0K    work/testing/testing_get.php
3 g& Z4 t+ t* a8.0K    work/testing/testing_g.php
& P: J/ j2 K; j" ?0 b' U; C- q8.0K    work/testing/var.php
" v) N5 ]: B- F2 [: `1 H  h$ U& h  `8 p5 o( g7 |' F6 Q
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/$ E- {3 n6 {2 P6 P
27M     work/testing/logs/$ ~2 Z2 h4 n& Y" e; G. }- x
! i8 M# w: S) j4 N  S( t9 y+ y! t
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
/ K3 F$ Q( H. ~# n! _) R24K     work/testing/logs/errdate.log_show.log
# d5 C$ F% L- B' u8.0K    work/testing/logs/pertime_show.log' S0 w! C4 \3 a7 N; v  A
27M     work/testing/logs/show.log9 D) }. u# q% h, c

. [$ Z4 I! L/ C  k5 W1 N/ \
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-15 23:07 , Processed in 0.083565 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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