找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13028|回复: 0

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

[复制链接]
发表于 2017-4-5 10:38:43 | 显示全部楼层 |阅读模式
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。% L5 Q- n1 T4 i1 O  l
: F4 L- G8 Q$ o+ z" i0 |
    df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
9 l% b* Y) w! h+ ]) \/ l    du可以查看文件及文件夹的大小。
# a$ |, F* ^' g1 }  q5 j% l; U7 a) o& H4 d  d1 a9 t; v
    两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。
4 ]& H$ Y  K5 H; a5 j9 ], d/ ^: n9 a8 c
  下面分别简要介绍7 v  ^0 m% j5 w" C

. `9 l/ q, b4 s    df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:
/ `( v! u! w# @' x4 ], h. x- {/ \5 H$ D3 G/ T
以下是代码片段:* O: V9 c1 R5 s6 W( l5 }, w

( K4 U3 C7 n9 ][yayug@yayu ~]$ df -h
- Q2 R& C, `7 ^Filesystem            Size  Used Avail Use% Mounted on+ D" Q. K6 ~- P
/dev/sda1             3.9G  300M  3.4G   8% /
& L1 x* T/ @  b4 f: u* q% P  S1 n/dev/sda7             100G  188M   95G   1% /data0
0 K& ~5 n  r: E/ @; I/dev/sdb1             133G   80G   47G  64% /data1& }! W1 n! f; C3 X4 m0 {0 ?) D1 s
/dev/sda6             7.8G  218M  7.2G   3% /var! g+ g# T$ \5 o: P/ G
/dev/sda5             7.8G  166M  7.2G   3% /tmp( A1 U/ i3 \2 f; a5 i  u
/dev/sda3             9.7G  2.5G  6.8G  27% /usr/ J  |  U  ]* E" }9 }
tmpfs                 2.0G     0  2.0G   0% /dev/shm
8 P8 P7 D: K; @. _* h6 K
0 u2 v& w3 I: i8 x; }! } 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
2 z0 C) U, b; {; z
- J" ~" N  C2 d    上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。& \7 r! l3 w6 F

7 r! T7 E  R! ^/ i2 O    接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。1 j, ?6 B0 x' H5 `6 S$ G
$ p% y0 F3 V. ?, h  k
    du:查询文件或文件夹的磁盘使用空间8 t6 n# F$ I, L' Z1 O+ v9 r9 T" m' ?

/ w$ r4 {% e/ f, b" t. N0 Z% t9 H9 n    如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.5 `  P2 f& S/ p
4 w9 `; k" ?8 b/ b1 C, }7 R
    提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。
  y- T: w' |: K$ @/ e0 [5 I, |
% x: U# ?- V, }* t3 t' I! m以下是代码片段:
" B9 A! Z' f+ W  m
8 V8 F  K9 A! v4 a! N[root@bsso yayu]# du -h --max-depth=1 work/testing
/ C6 W- ^4 l/ S9 S9 e6 g+ B27M     work/testing/logs
  a' P7 B; T( s  q5 B9 u35M     work/testing
2 F; y- o+ B5 c
5 q4 I) k, B6 q2 O& V1 U0 s[root@bsso yayu]# du -h --max-depth=1 work/testing/*. O+ O7 y$ `. R5 z& h* K
8.0K    work/testing/func.php
3 D; a% |  w+ ]9 \27M     work/testing/logs
  {8 v' ?8 `% a5 E4 S# t8.1M    work/testing/nohup.out% o( y' t% g2 a& o% _; c
8.0K    work/testing/testing_c.php
4 l2 H0 Z5 f7 D, P9 ~, c+ K12K     work/testing/testing_func_reg.php
5 q/ F7 k& B0 V  u* E8.0K    work/testing/testing_get.php
- N; @) L# \* A# |6 ~8.0K    work/testing/testing_g.php
6 ?8 ]8 q: y6 E' }7 v8.0K    work/testing/var.php
' a. w0 E* G. }4 f$ L  W7 [
% ?4 n9 h9 y9 m/ J' Y) M2 {[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/& G6 A. {2 U2 P9 {( w- ~$ M# X
27M     work/testing/logs/& }/ E$ A" H! Q8 o: n& Z) v; M

. x1 ^( }" Q* e3 C# S$ P6 e[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*
# m; U1 y/ c, z( g5 I8 F  [24K     work/testing/logs/errdate.log_show.log8 Q" r5 \# N& c
8.0K    work/testing/logs/pertime_show.log
( S; d4 H$ q9 n# \+ M27M     work/testing/logs/show.log7 l$ {1 D2 q4 A- G4 |% n
3 I# q& X, ]8 L; l2 C; t
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-23 08:26 , Processed in 0.057992 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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