[Linux] Linux下使用du命令查看空间使用情况
一、摘要
敬告,本文所有博客将迁移到博客园刘好念的博客!!!以后将逐渐弃用CSDN。
本文介绍了在linux下使用du
命令查看文件夹所占空间大小的命令,包括查看当磁盘中所有文件占空间大小、前目录的所占空间大小、当前目录下一级子目录各自所占空间大小等等操作。
二、du命令示例
1. du命令简介
du,disk usage
是一个用来统计文件/文件夹空间占用的命令,可以使用du
命令获得文件夹占据的硬盘空间大小。可以在linux终端下输入man du
查看du命令用户手册,或者在du(1) — Linux manual page查看du
命令用户手册。
2. 常用操作
假设当前在目录/..../A
下,目录A/
下包含一个文件夹B/
和一个文件./avator_A.jpg
,文件夹B/
下又存在一个文件夹C/
和一个文件avator_B.jpg
,目录结构如下:
sth@sth-pc:~/A$ tree
.
├── avator_A.jpg
└── B
├── avator_B.jpg
└── C
2 directories, 2 files
(1). 查看当前目录A
下所有文件夹
命令及结果:
sth@sth-pc:~/A$ du -h
4.0K ./B/C
48K ./B
92K .
命令参数及结果解释:
- 参数
-h
表示使用适合人类理解(human readable)的空间单位(此处是k)表示结果; - 结果显示,目录
./B/C/
以及其下的文件(此处./B/C/
下没有文件)占用空间4.0k,目录./B/
及其下的文件夹和文件(此处即文件./B/avator_B.jpg
)占用空间48k,当前目录A/
以及其下的文件夹(./B/
和./B/C
)和文件avator_A.jpg
占用空间92k。
(2). 只查看当前文件夹A
占用的空间
命令及结果:
sth@sth-pc:~/A$ du -sh
92K .
命令参数及结果解释:
- 参数
-s
表示显示总结(summarize)当前目录下所有文件夹、文件总空间占用大小; - 参数
-h
表示使用人类理解(human readables)的空间单位表示结果; - 结果显示,当前目录
A/
下所有文件夹、文件总的空间占用为92k。
(3). 分别查看所有子目录中文件的空间占用
命令及结果:
sth@sth-pc:~/A$ du -Sh
4.0K ./B/C
44K ./B
44K .
参数及结果解释:
- 参数
-S
表示显示单独的文件夹(separate dirs),及分别显示各个子目录下的文件占用,并且显示的空间占用大小不包括子目录占用的大小; - 参数
-h
,依旧为使用人类可理解的单位表示; - 结果显示,目录
A/
下的文件(avator_A.jpg
)占用空间为44k,目录./B/
下的文件(avator_B.jpg
)占用的空间为44k,目录./B/C/
下的文件(此处没有文件,但是文件夹./B/C/
也需要一定的空间)占用空间为4k。
(4). 指定显示目录深度
例如我们想要只显示目录A/
和目录./B/
,不显示目录./B/C/
(即目录深度为1),那么可以使用如下命令,
命令及结果:
sth@sth-pc:~/A$ du -hd 1
48K ./B
92K .
参数及结果解释:
- 参数
-h
,使用人类可以理解的单位; - 参数
-d
,指定显示的最大深度(depth),此处指定最大深度为1
,当最大深度为0
时与参数s
的操作结果相同,即只显示当前目录空间占用清空,不显示子目录。