找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13207|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。' ?! g( k9 ]# j* u! ]. |) |
  u% Z/ d! M! [+ ?6 o* V; m8 H
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
! S7 Q8 s& Q; M( ~6 g# h    du可以查看文件及文件夹的大小。
% F! d+ [  A/ v8 `2 a: r7 Z; k3 z
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。8 V" k# V  U9 y
5 X. B: g' p; @) S: L. F9 R6 S
  下面分别简要介绍
. z/ b; B! y4 v5 A( Y$ P5 n1 S% q' U$ M8 B2 c' O$ w
    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:; n$ X8 ~0 k# Q6 U6 A- {
3 c6 ^; {2 C2 z
以下是代码片段:
9 C; y% C2 |# f4 I$ M+ w" C  J2 s4 U
[yayug@yayu ~]$ df -h5 Z0 ?3 M+ A9 e7 |- m! Y! l
Filesystem            Size  Used Avail Use% Mounted on
, z) l" }* e7 T! ]" m/dev/sda1             3.9G  300M  3.4G   8% /) W- L4 t9 Y9 c
/dev/sda7             100G  188M   95G   1% /data0
+ H0 s. t2 H- P" M) v7 y8 j# u0 r/dev/sdb1             133G   80G   47G  64% /data1
; S2 }( Y7 a* R/dev/sda6             7.8G  218M  7.2G   3% /var: y  U6 v; I$ d
/dev/sda5             7.8G  166M  7.2G   3% /tmp
7 y' {2 W" U, s; S) v* @/dev/sda3             9.7G  2.5G  6.8G  27% /usr9 I4 c' E, t9 \7 Y% z( B  ~
tmpfs                 2.0G     0  2.0G   0% /dev/shm
+ [2 B2 G; d  ]3 ^% l8 o4 U
% n3 c6 K% C4 T" A1 i$ h  {/ M" S; U 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
8 ~, R$ X9 H4 X9 O% f5 B, N" J- p7 R, ?. a
    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
( y/ ]( n* N1 b& B% @# ?3 y7 _9 ?3 B1 _& `" m  S2 \7 q$ F
    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。  L# z4 t! G+ [

: S- p- [+ {: f# f! g    du:查询文件或文件夹的磁盘使用空间. G0 p  @0 m/ h' R5 q

* d: ?1 T# I3 c' k; V# S    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
9 u6 k$ \% c; b; Q! g  r0 q# n
$ k7 `2 E9 E! {" P5 s6 s    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。1 p  G3 {) e4 [+ S7 g
, [6 t" g" Y- Z5 a! n" m
以下是代码片段:) L; R6 f9 W  B) E

5 p. ^3 N9 }! ^5 \* v. K. e[root@bsso yayu]# du -h --max-depth=1 work/testing
1 ^+ Q' R' |5 H& n  E" c27M     work/testing/logs
: L5 J- @! N" Y4 e6 G! h4 D35M     work/testing2 ~% \! ]7 z  ~) s: a) g

1 u- [% @$ `8 Y+ W0 H7 R" G[root@bsso yayu]# du -h --max-depth=1 work/testing/*
- W: W# Y8 J) Y$ o, c8 p+ M! z8.0K    work/testing/func.php) s5 b! R# X5 A; f. k
27M     work/testing/logs
& u' M# f# e: h5 I2 w1 a1 {& D# ?& H8.1M    work/testing/nohup.out- O) |  m; o$ R7 [8 ]3 Y
8.0K    work/testing/testing_c.php% `9 I1 \- n/ G# t0 Y. T
12K     work/testing/testing_func_reg.php
- K1 |2 N' i6 `; |% A8.0K    work/testing/testing_get.php; F* b* f: O3 C! r2 s+ B1 s1 X5 ^
8.0K    work/testing/testing_g.php
) u* _9 }) H6 F6 r" X0 X0 L8.0K    work/testing/var.php
  w3 v" D# k/ ]$ Z( v2 k! g5 N2 G" l
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/
- Y8 t7 S) f& h& H3 ^; y27M     work/testing/logs/" }" c. F* S. U$ n# \8 M

% j' ~% E0 B6 T0 F, D5 b5 d[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*5 v9 A' x. _  y& v/ Y
24K     work/testing/logs/errdate.log_show.log
+ i4 a! ^  U: g8.0K    work/testing/logs/pertime_show.log. x5 I+ P' l+ b5 g; o0 N
27M     work/testing/logs/show.log
/ ]# C: ]# l- p- K5 q7 o8 w. V$ U
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-5-9 10:17 , Processed in 0.069602 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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