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

 更新时间:2016年11月19日 09:43:43   投稿:jingxian  
下面小编就为大家带来一篇linux下使用 du查看某个文件或目录占用磁盘空间的大小方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。

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 -h:这个就不多说了。

二、du -a:使用此选项时,显示目录和目录下子目录和文件占用磁盘空间的大小。

可以看出,默认情况下du只显示download目录占用磁盘空间的大小,而使用-a选项后,它不仅显示了目录(最后一行),而且显示了目录下各个文件占用磁盘空间的大小。

三、du -s:使用此选项时,du只显示目录所占用磁盘空间的大小,而不显示其下子目录和文件占用磁盘空间的信息。

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

四、du --apparent-size:显示文件或目录自身大小,而不是它们占用的磁盘空间大小。文件或目录占用磁盘空间的大小与它们自身大小有时候并非完全一致;这种现象非linux所独有,windows里也是如此。我们看这个选项的帮助文档的解释:The apparent size of a file is the number of bytes reported by `wc –c` regular files ,or more generally, `ls –l –block-size=1` or `stat –format=%s`.For example, a file containing the word `zoo` with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 kib or more of disk space, depending on the type and configuration of the file system on which the file resides.

这段话给出了文件或目录自身大小与占用磁盘空间大小的区别。他下面举出了一个更加夸张的例子,这里就不把它写出来了。我们知道了:wc或ls --block-size显示的是其自身大小,而du给出的则是占用的磁盘空间的大小。

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

如图所示,加上-c选项后,du不仅显示两个目录各自占用磁盘空间的大小,还在最后一行统计它们的总和。

六、du -l:这个选项主要是针对硬链接。在统计目录占用磁盘空间大小时,-l选项会把硬链接也统计进来。帮助文档是这样解释的:Count the size of all files,even if they have appeared already(as a hard link)。

我们在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)。

我们在download目录下创建一个符号链接,指向本目录下的一个文件。我们看到上面图片中显示的操作结果,当使用-L选项时,du会把符号链接所指向的文件的大小也统计到目录里来。

另外我们看du -lh的结果,与du -h相同,好像没有统计出符号链接的大小;其实并非如此。从实际操作来看,符号链接本身似乎并不占用磁盘空间,所以才出现上述情况。

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

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

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

以上这篇linux下使用 du查看某个文件或目录占用磁盘空间的大小方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux Apache Web服务器安全的8种安全设置技巧

    Linux Apache Web服务器安全的8种安全设置技巧

    这篇文章主要介绍了Linux Apache Web服务器安全的8种安全设置技巧,需要的朋友可以参考下
    2016-10-10
  • Linux命令之文件分割split命令方式

    Linux命令之文件分割split命令方式

    这篇文章主要介绍了Linux命令之文件分割split命令方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Linux和windows文件互传的两种方案

    Linux和windows文件互传的两种方案

    有时linux主机中的一些文件可能会在windows环境下用到,例如在linux主机中抓了一些图片,想把它们传到windows主机上以作为 word文档的插图,在这些情况下,都需要一种方法来进行两者之间的互通,所以本文给大家介绍了Linux和windows文件互传的两种方案
    2024-05-05
  • Linux曝出Sudo提权漏洞 任意用户亦可运行root命令

    Linux曝出Sudo提权漏洞 任意用户亦可运行root命令

    近期曝出的一个提权漏洞,却直指 sudo 的一个安全策略隐患 —— 即便配置中明确不允许 root 用户访问,该漏洞仍可允许恶意用户或程序,在目标 Linux 系统上以 root 用户身份执行任意命令
    2019-10-10
  • Linux CentOS 7.0中java安装与配置环境变量的步骤详解

    Linux CentOS 7.0中java安装与配置环境变量的步骤详解

    这篇文章主要给大家分享介绍了关于Linux CentOS 7.0中java安装与配置环境变量的相关资料,文中通过示例代码将安装与配置的过程介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-07-07
  • 值得收藏的27个Linux文档编辑命令

    值得收藏的27个Linux文档编辑命令

    本文是小编给大家收藏整理的27个Linux文档编辑命令,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • Linux 判断文件修改时间和系统时间差

    Linux 判断文件修改时间和系统时间差

    这篇文章主要介绍了 Linux 判断文件修改时间和系统时间差的相关资料,需要的朋友可以参考下
    2017-05-05
  • Ubuntu系统查看进程被kill的命令和方法

    Ubuntu系统查看进程被kill的命令和方法

    这篇文章主要介绍了Ubuntu查看进程被kill的几种方式,在Ubuntu系统中,要查看进程被杀掉的记录,可以使用文中命令和方法,文章通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • 利用Apache Common将java对象池化的问题

    利用Apache Common将java对象池化的问题

    对象被创建后,使用完毕不是立即销毁回收对象,而是将对象放到一个容器保存起来,下次使用的时候不用创建对象,而是从容器中直接获取,这篇文章主要介绍了利用Apache Common将java对象“池化”,需要的朋友可以参考下
    2022-06-06
  • linux下vi(vim)的新的用法总结

    linux下vi(vim)的新的用法总结

    在本篇文章里,我们给大家整理了一篇关于linux下vi(vim)的新的用法,有此需要的朋友们可以学习下。
    2019-11-11

最新评论