找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11880|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。7 O2 w; u* L2 a; X+ a. i

: g8 c4 P7 {5 {- y2 `; ]    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
8 b3 A, Z; @' W, _    du可以查看文件及文件夹的大小。
1 B2 P4 b4 X; M8 ~( w; o: u
1 |  f( G) B2 N) t( U    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。% n4 u+ P8 t- y, m
! j$ H" Q* J1 x$ p" j6 F- U5 V1 e# j
  下面分别简要介绍! g" Y3 f8 Y) {+ @2 E  ?0 b3 [
3 b/ \9 n. t5 H7 B
    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
* B, Q1 b8 X, R: z: c
  n0 N/ F- M9 x) E4 \3 I. R& Y以下是代码片段:, N' `2 _& D  F" w4 L9 A5 P
- w4 I3 f7 v5 b. C2 ?" T( i1 d
[yayug@yayu ~]$ df -h
$ F+ G; I5 ]5 }" F- B+ _Filesystem            Size  Used Avail Use% Mounted on' R( f4 F9 P- _/ [( l/ y
/dev/sda1             3.9G  300M  3.4G   8% /
9 A' B& [4 M$ T/dev/sda7             100G  188M   95G   1% /data0
1 h/ d1 ^% f9 T* H+ U/ `/dev/sdb1             133G   80G   47G  64% /data1
9 D5 Y! E- B8 _0 Z+ D0 c/dev/sda6             7.8G  218M  7.2G   3% /var; j0 |7 E1 P, `- |4 U
/dev/sda5             7.8G  166M  7.2G   3% /tmp! l  O( D6 {4 R$ p. C' n+ p1 E
/dev/sda3             9.7G  2.5G  6.8G  27% /usr! V7 d$ s, O# y; ?+ M/ G
tmpfs                 2.0G     0  2.0G   0% /dev/shm/ L$ X6 d. ?0 b

5 ^  X6 b3 w( a; Z9 U$ X 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。4 h6 a9 c2 m) @: O
. D/ ^% b$ o3 \; H) z6 r" i
    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。. ~! B4 A$ ~* i6 H
4 P, b0 A/ _! J
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。% U" N) N1 `0 a. P& _, }/ q
6 s) {+ ?( }( n& C2 T
    du:查询文件或文件夹的磁盘使用空间
5 Q2 ]8 H) E/ V5 _# s
$ @7 k2 ]; N' s  `+ L  E/ k    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.9 U. z' D3 M  S4 X$ \9 h& @

  ?. n6 \# R% T0 k$ b    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
3 _# i4 a( o/ |5 A8 c' p
) e- C6 T0 v5 u3 W以下是代码片段:# U( C6 q2 R: C. b7 v$ L" b- H
4 f+ a- V/ z! H5 {/ C( Y) [0 x
[root@bsso yayu]# du -h --max-depth=1 work/testing
6 c- |7 d- d# z) ^8 n9 E+ h27M     work/testing/logs' X; a3 M' x, ~- C
35M     work/testing
. u2 g$ n4 p; Q/ c: Z/ }+ Y+ C4 r: v! `
[root@bsso yayu]# du -h --max-depth=1 work/testing/*, i7 o, E" c; G* L+ I) [' p
8.0K    work/testing/func.php0 d3 w1 `0 d' ~5 T0 G
27M     work/testing/logs
9 t5 h) {; n4 N8.1M    work/testing/nohup.out
/ M  U+ k7 w+ s8 F! F8.0K    work/testing/testing_c.php
! b4 v( j0 I) e! O. j  f! r12K     work/testing/testing_func_reg.php
3 R: j9 L7 ^8 b0 D; r, q: r8.0K    work/testing/testing_get.php# \- F( }! E! l0 I* [: C
8.0K    work/testing/testing_g.php2 |2 E' [" _' p( r5 |+ k5 {* E  |. M
8.0K    work/testing/var.php
- I; g% V2 q* Y$ e( R4 @
& u# W$ F: C- T8 h0 ?0 n6 I9 E[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
: y; Y) z" M0 e0 x% x27M     work/testing/logs/
) y! D: \" u" U0 e  _9 {9 m8 ^' u# ^+ N, C& I
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*5 T3 O6 U: l- @7 x# j) G( [+ c/ m- R
24K     work/testing/logs/errdate.log_show.log( d. F/ N' w+ q7 s
8.0K    work/testing/logs/pertime_show.log6 M% {3 u7 t3 r  @9 [
27M     work/testing/logs/show.log$ Z4 Q( _. k1 X0 P3 r" H* S
3 N3 B& J3 e7 V% b
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-8 12:25 , Processed in 0.076148 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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