linux du

本文最后更新于:7 个月前

du查看某个文件或目录占用磁盘空间的大小

一、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…开始)

示例:

du -sh *

img

2.

du -ch *.tar.gz

img

-c选项,是 –total 的缩写形式,它表示的是针对输出的各个对象来计算其磁盘使用量的总和

3.

du -lh --max-depth=1

img

当–max-depth设定为0时, 只显示当前文件夹总大小

可见, –max-depth=0的作用, 相当于-s

du和ls的区别

  • du 展示的是磁盘空间占用量。
  • ls 展示的是文件内容的大小。

同时, du 和 ls 针对同一个文件,展示的大小是不一样的 (抽象说:磁盘占用=内容+包装)

因为大部分文件系统规定:

  1. 一个数据块中最多存放一个文件的内容,当没存满时,剩余的空间不得被其他文件使用。
  2. 当一个文件的内容较大时,则可以存储到多个数据块中。

linux du
https://lunasaw.github.io/2021/10/12/linux-du/
著者
luna
作成日
2021年10月12日
著作権