`

linux中查看磁盘空间的方法举例

阅读更多
查看当前目录大小:
[root@typengine.com]# du -sh /var/www 


查看指定目录大小:
[root@typengine.com]# du -sh /www/typengine.com 


查看当前目录文件总数:
[root@typengine.com]# find . -type f |wc -l


查看指定目录文件总数:
[root@typengine.com]# find /var/www -type f |wc -l


查看当前目录的目录总数:
[root@typengine.com]# find . -type d |wc -l


查看指定目录的目录总数:
[root@typengine.com]# find /www/typengine -type d |wc -l 

以下内容供参考:
# du -ks  ---in all
# du -k  ---every last

du和df命令都被用于获得linux系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /用于报告文件系统使用的块数。但是,我们可以发现从df命令算出的文件系统使用块数的值与通过du命令得出的值是不一致的。如下例:
# du -s /tmp 返回如下值:
---12920 /tmp
而 df /tmp返回如下值:
Filesystem --512-blocks-- Free --%Used --Iused-- %Iused --Mounted on
/dev/hd3 --------57344 --42208--- 26% ----391 ------4% --/tmp

从上面的值我们可以算出 - = : 57344 - 42208 = 15136.

而15136大于12920。该值差异的存在是由于du与df命令实施上的不同: du -s命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数;而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。

文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。

这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。
du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。

例如,一个frag=4096 并且 nbpi=4096的空的大小为4MB的日志文件系统中Meta Data的分配情况如下:
1 4k block for the LVM
2 4k super blocks
2 4k blocks for disk maps
2 4k blocks for inode maps
2 4k blocks for .indirect
32 4k blocks for inodes
-------------------------
41 4k blocks for meta data on an empty 4MB file system

对于AIX 4.X版本:
执行 du /foo返回的结果如下:
----8 -------/foo/lost+found
----16 ------/foo

要使du命令输出的结果与df命令输出的结果匹配,我们必须要加上Meta Data。首先,将41个4k的块转换为以512字节为单位的值:
41 * 8 = 328
328(meta data) + 16(from du) = 344

所以有344个以512字节为单位的块分配给了这个空的文件系统。
而使用 df /foo命令我们可以得到下面的结果:
Filesystem --512-blocks --Free --%Used --Iused---%Iused --Mounted on
/dev/lv01 ------8192 -----7848 -----5% -----16 -----2% ----/foo

从中我们可以得到该文件系统使用的块数:
8192(total blocks) - 7848(free blocks) = 344。

该值与上面得出的值一致。

上面的换算方法对于空的文件系统很容易实现,但是对于非空的文件系统,由于Meta Data中文件间接块的大小不定,因此较难实现。

不需要查看du 与 df返回的值的匹配关系,而只需要了解du -s命令返回的值反映了分配给文件及目录的磁盘块数,而df命令则反映了文件系统的实际分配情况。df命令反映的实际情况包含了用户数据(文件及目录)和Meta Data。

另一个表现出du与df命令不同之处的例子如下:
如果用户删除了一个正在运行的应用所打开的某个目录下的文件,则du命令返回的值显示出减去了该文件后的目录的大小。但df命令并不显示减去该文件后的大小。直到该运行的应用关闭了这个打开的文件,df返回的值才显示出减去了该文件后的文件系统的使用情况。

列出一个目录占用的空间
1. du或du -s或du -k
  du -S | sort -n 可以迅速发现那个目录是最大的。
2. 用df可以看到已安装的文件系统的空间大小及剩余空间大小。

3. quota -v查看用户的磁盘空间信息,如果你用quota限制了用户空间大小的话。
boot
5746310 /boot
[blinux@localhost test]$ du -ks /boot
5772    /boot
[blinux@localhost test]$ du -ms /boot
6       /boot


3.显示目录的总大小及目录树中各文件夹的大小,并以较好的单位表示
[blinux@localhost test]$ du -h /boot
308K    /boot/grub
5.7M    /boot
分享到:
评论

相关推荐

    linux系统获取硬盘使用信息

     Linux下可以用df命令获取硬盘的使用情况,通过man可以获取df命令的详细情况。df命令经常用的参数为:  a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:...

    深入分析Linux内核源码

    1.5.1 Linux内核在整个操系统中的位置 1.5.2 Linux内核的作用 1.5.3 Linux内核的抽象结构 1.6 Linux内核源代码 1.6.1 多版本的内核源代码 1.6.2 Linux内核源代码的结构 1.6.3 从何处开始阅读源代码 ...

    安装 SUSE Linux Enterprise Server --服务器版

    其他安装目标可能是提供运行操作系统所需的足够磁盘空间和速度的所有种类 的块设备。这包括网络块设备,如 iSCSI 或 SAN。也可以在提供标准 Unix 许 可权限的网络文件系统上安装。但是,引导这些网络文件系统可能会...

    LINUX与UNIX SHELL编程指南(很全)

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    Linux shell编程指南

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的...

    Linux与unix shell编程指南

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    绝版经典《Linux与UNIX Shell编程指南》

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    Ubuntu/Linux 系统备份

    拿到目标机上,从usb启动,然后运行 ubuntu-cloner ,选择“克隆当前系统”,按提示进行,即可将移动硬盘中的系统克隆到目标机中。 2. 在一个安装、配置好的 ubuntu 系统中运行 ubuntu-cloner ,选择“备份当前系统...

    linux shell 编程教程

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

    LINUX那些事儿 linux经典之作

    到了这一阶段基本上就能回答我是U盘中所有的困惑了.(其中Block层由于过于复杂和规模庞大,主要是举例和个别函数分析,主要是辅助另外几个模块进行分析.) 以上每一阶段代码跳跃性会逐渐增强,即开始会讲的细,之后会讲的...

    LINUX与UNIX_Shell编程指南

    详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...

    LINUX与UNIX SHELL编程指南

    18.6.3 监视磁盘空间 187 18.7 while循环 188 18.7.1 简单的while循环 188 18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 ...

Global site tag (gtag.js) - Google Analytics