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

linux 查看当前目录占用空间

du -ah --max-depth=1

du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量 

du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。

 

du 命令用来查看目录或文件所占用磁盘空间的大小。

常用选项组合为:du -sh

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:以人类可读的方式显示
     -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
     -s:显示目录占用的磁盘空间大小,显示其下子目录和文件占用的磁盘空间大小
     -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
     --apparent-size:显示目录或文件自身的大小
     -l :统计硬链接占用磁盘空间的大小
     -L:统计符号链接所指向的文件占用的磁盘空间大小

一、du -a:使用此选项时,显示目录和目录下子目录和文件占用磁盘空间的大小。直接使用-a 以字节为单位,-ha 如下图以k为结果显示。

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

使用-a选项后,它不仅显示了目录(最后一行),而且显示了目录下各个文件占用磁盘空间的大小。显示文件夹及子目录单个文件占用空间大小
二、du -s:使用此选项时,du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息。显示文件夹占用大小

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

默认情况下,du不显示目录下文件占用磁盘空间的信息,但它会显示其下子目录占用磁盘空间的信息;而使用-s选项以后,只显示xx目录占用磁盘空间的大小。

三、du --apparent-size:显示文件或目录自身大小,而不是它们占用的磁盘空间大小。文件或目录占用磁盘空间的大小与它们自身大小有时候并非完全一致;我们知道了du给出的是占用的磁盘空间的大小。

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

四、du -c:使用此选项时,不仅显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和。

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

如图所示,加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。
五、du -l:这个选项主要是针对硬链接。在统计目录占用磁盘空间大小时,-l选项会把硬链接也统计进来。帮助文档是这样解释的:Count the size of all files,even if they have appeared already(as a hard link)。

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

我们在download目录下建立一个硬链接,指向本目录下的一个文件。不使用-l选项时,du发现硬链接指向本目录下的文件,于是自动忽略该链接文件,以免造成重复统计;使用-l选项,du才会把硬链接文件也统计进来。
六、du -L:这个选项主要是针对符号链接。它会把符号链接所指向的文件占用磁盘空间的大小也统计进来。帮助文档是这样解释的:Dereference symbolic links(show the disk space used by the file or directory that the link points to instead of the space used by the link)。

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

我们在download目录下创建一个符号链接,指向本目录下的一个文件。我们看到上面图片中显示的操作结果,当使用-L选项时,du会把符号链接所指向的文件的大小也统计到目录里来。
  另外我们看du -lh的结果,与du -h相同,好像没有统计出符号链接的大小;其实并非如此。从实际操作来看,符号链接本身似乎并不占用磁盘空间,所以才出现上述情况。

最后,du命令在统计目录占用磁盘空间时,默认不统计链接文件(无论是硬链接或是符号链接),所以要用-l和-L选项特地指出来;此外,du命令默认不显示目录下文件占用磁盘空间的信息,但是却默认显示其下子目录所占用磁盘空间的信息。怪哉。

du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量

du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量。
du -ah --max-depth=1 :显示当前目录的占用磁盘容量

  linux下使用 du查看某个文件或目录占用磁盘空间的大小  
上一篇:linux之网络服务


下一篇:Linux磁盘管理