找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13935|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。
4 M* m6 ?8 O. j* I, D+ q6 p, |9 C+ ^
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
1 R# [/ J4 u! x& @% M7 @    du可以查看文件及文件夹的大小。
* g. [$ S. ?$ W6 [$ M( D  w7 |, h3 Z* p* u3 Z
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
2 {0 G. F/ p9 f. I. i: T, P) d2 u! L
  下面分别简要介绍5 A8 T! g% e- A* {
. {" U0 ^% D$ b5 W3 ^6 ~, \
    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
2 l; j  K0 E$ p4 G' Q
) e  u# F5 e1 t' f. R& T: h, y以下是代码片段:
; P1 G$ R8 t% ~. }: m8 ~
. K: I9 w* G) {- Y1 H( @3 A[yayug@yayu ~]$ df -h
% k9 D! e6 z% _/ V; aFilesystem            Size  Used Avail Use% Mounted on( I- \8 ?( d5 {( o
/dev/sda1             3.9G  300M  3.4G   8% /  M5 l: q! ^" Q3 ]1 h6 B
/dev/sda7             100G  188M   95G   1% /data0
. {2 X' G* N; y* c( Z$ l/ V3 j/dev/sdb1             133G   80G   47G  64% /data1
$ t; S6 q/ y  f6 }/dev/sda6             7.8G  218M  7.2G   3% /var# z  g7 C$ I' j9 v
/dev/sda5             7.8G  166M  7.2G   3% /tmp
' \2 q* y, Z* x0 k" z/dev/sda3             9.7G  2.5G  6.8G  27% /usr' F( x+ i, s; v7 M) C
tmpfs                 2.0G     0  2.0G   0% /dev/shm4 o6 @6 B# g( U$ d  }1 @

2 |' E9 n* ~; A3 t# ^% E 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。3 v& H- e# B/ q, K
" a% P8 Z2 B* i' s" ]3 C) q) ?
    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。
  A. n3 J' `! s* T+ u
( l' A0 n  P. w  n$ B% G+ l    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
6 w' e/ x8 H, S, {4 O) u; B6 B9 n; X5 e/ E2 X% T5 Y, G$ n- G) V
    du:查询文件或文件夹的磁盘使用空间. K, x1 r! k& a% E' r) J* r  V

; ]- j8 e0 n7 t$ T- N    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.+ j8 y7 x8 g* p) U

& D( h' z3 X2 n1 q* _5 c  i    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
, P/ b# W0 Q4 D. `. n. z& D; G4 ]% w: }8 j' H- i
以下是代码片段:6 q& L4 p! A% [
0 d. Z$ Q; N3 E5 |2 _
[root@bsso yayu]# du -h --max-depth=1 work/testing3 q% B6 V0 P1 Z5 S6 \8 n
27M     work/testing/logs' h. h: h7 \' i( x
35M     work/testing
, ?% u$ T# Q+ L8 i1 @- y
5 p9 G% r9 r% A% K- {* h# z[root@bsso yayu]# du -h --max-depth=1 work/testing/*
& b* S- g- F1 g! B8.0K    work/testing/func.php" c+ o! k2 T# Q
27M     work/testing/logs
& n% V2 x0 I% q5 Z+ ]8.1M    work/testing/nohup.out4 b* [+ B: ^% H3 e) p" u/ J
8.0K    work/testing/testing_c.php
* D9 ^7 k1 I8 F* u' Q12K     work/testing/testing_func_reg.php
3 |" q; m: s; Y  B1 F8.0K    work/testing/testing_get.php5 i! e2 l3 y: o; V! k2 G
8.0K    work/testing/testing_g.php7 Q" ~- W" R7 ?8 ]; K/ D
8.0K    work/testing/var.php) ]" a( J  V" u0 |3 H. X0 {. ^; m
# e9 L7 \9 R5 [8 `8 `
[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/$ g7 {; i4 X$ q7 v; Q
27M     work/testing/logs/
5 R' B$ i4 D# j7 t$ k- j
5 N9 v) X2 ]7 {; z7 I[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*$ s$ @* N' ?6 D. u
24K     work/testing/logs/errdate.log_show.log7 Y& R* K, Y0 Z0 j
8.0K    work/testing/logs/pertime_show.log
* J( `) i' _* c! G' X4 p, V; y27M     work/testing/logs/show.log& P7 k& X3 \. a8 w# M

5 a$ c4 P4 V8 L- Q  v
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-7-25 19:20 , Processed in 0.075251 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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