一、du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). with no arguments,`du` reports the disk space for the current directory。
很明显,与df不同,它用来查看文件或目录所占用的磁盘空间的大小。
二、du常用的选项:
-h:以人类可读的方式显示(表示以恰当的K/M/G单位展示)
-a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
-s:(summarize)显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小(即算总和)
-c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
-l :统计硬链接占用磁盘空间的大小
-L:统计符号链接所指向的文件占用的磁盘空间大小
一、du -h:这个就不多说了。
二、du -a:使用此选项时,显示目录和目录下子目录和文件占用磁盘空间的大小。
常用的命令
du -sh [指定文件或目录]: 查看当前目录总共占的容量。而不单独列出各子项占用的容量
du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。--max-depth 选项控制深度(从0、1...开始)
示例:
1.
du -sh *
2.
du -ch *.tar.gz
-c
选项,是 --total 的缩写形式,它表示的是针对输出的各个对象来计算其磁盘使用量的总和
3.
du -lh --max-depth=1
当--max-depth设定为0时, 只显示当前文件夹总大小
可见, --max-depth=0的作用, 相当于-s
du和ls的区别
- du 展示的是磁盘空间占用量。
- ls 展示的是文件内容的大小。
同时, du 和 ls 针对同一个文件,展示的大小是不一样的 (抽象说:磁盘占用=内容+包装)
因为大部分文件系统规定:
- 一个数据块中最多存放一个文件的内容,当没存满时,剩余的空间不得被其他文件使用。
- 当一个文件的内容较大时,则可以存储到多个数据块中。