`

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命令大全chm格式的,方便查找

    - `df`:查看磁盘空间使用情况。 - `free`:查看内存和交换分区的使用情况。 - `uname`:显示系统信息。 9. 文件系统管理: - `mount`/`umount`:挂载和卸载文件系统。 - `fsck`:检查和修复文件系统的错误。 ...

    举例分析Linux动态库和静态库

    ### 举例分析Linux动态库和静态库 #### 静态库与动态库的基本概念 在Linux环境下,静态库和动态库是两种常见的链接库形式,它们分别在编译和运行阶段发挥着不同的作用。 **静态库**在程序编译过程中会被链接到...

    Redhat Linux系统下关于磁盘配额的设置

    在Redhat Linux系统中,磁盘配额是一种有效的管理工具,它允许管理员限制单个用户或用户组在特定分区上可以使用的磁盘空间和文件数量。这样,可以防止个别用户过度消耗系统资源,确保系统的稳定性和其他用户的公平...

    Linux内核的内存管理探秘之四 虚拟内存的管理.pdf

    虚拟内存是指系统使用部分硬盘空间充当内存使用,使系统能够提供比实际大得多的内存,可以运行比物理内存大的程序。虚拟内存技术实现了以下功能: 1. 系统可以运行比实际内存大的程序; 2. 程序不必一次性全部装入...

    linux必学的60个命令

    - `df`: 查看磁盘空间使用情况。 - `top`: 显示系统活动进程状态。 - `free`: 显示系统内存和交换分区的使用情况。 - `quota`: 管理用户的磁盘配额。 #### 五、网络操作命令 这些命令用于网络配置和诊断,包括`...

    linux常用命令.md

    举例中的`tcpdump -n -c3 port 22 -i ens33`命令,用于抓取在ens33接口上目的端口为22的数据包,数量为3个。 8. 进入虚拟机BIOS 文档提到了如何在虚拟机中进入BIOS设置。这通常是一个特定的按键操作,不同的虚拟机...

    linux系统获取硬盘使用信息

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

    最新版linux elasticsearch-8.1.3-linux-x86_64.tar.gz

    - 分配足够磁盘空间,考虑数据增长趋势。 - 设计合理的索引模板,优化分片策略。 - 定期进行健康检查,及时处理警告和错误。 总之,Elasticsearch是一个强大的搜索和分析引擎,通过理解其核心概念、配置方法、...

    深入分析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 从何处开始阅读源代码 ...

    RedHat Enterprise Linux Advanced server v3 安装 Oracle --MSN:zhoujianguo_leo@hotmail.com

    - **软件所需空间**:安装Oracle 10G需要约2.5GB的磁盘空间,使用`df -k`检查。 - **数据所需空间**:预计至少需要1.2GB的存储用于数据库数据。 2. **所需软件包**: - `make-3.79`:构建工具。 - `binutils-...

    linux自动删除日志

    在Linux操作系统中,日志文件会随着时间推移不断积累,占用大量的磁盘空间。为了解决这个问题,我们可以设置自动化任务来定期删除不再需要的日志文件。本文将详细介绍如何在Linux系统中实现自动删除特定天数前的日志...

    linux操作系统教程

    - **重点内容**:如何创建、删除用户和组,设置用户权限,管理口令以及磁盘空间分配等。 #### 5. 设备管理 - **章节覆盖**:第五章介绍Linux系统中的设备管理。 - **重点内容**:设备文件的创建、修改和使用,了解...

    Linux sysfs 文件系统机制详解

    通过遍历路径,可以查看和获取系统中的设备信息。这对于调试和故障排查非常有用。 ##### 5.5 Superblock 与 VFS Mount Superblock 是文件系统的一个元数据结构,它保存了文件系统的全局信息。VFS(Virtual File ...

    Linux内核完全注释

    书中详细介绍了Linux内核源代码的组织结构及其相互关系。这包括但不限于: - **文件夹结构**:如`kernel`、`drivers`、`fs`等目录下的文件及其作用。 - **核心组件**:如进程管理、内存管理、中断处理等模块的设计...

    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 带有测试条件的文件处理 ...

    proc文件系统使用举例

    在Linux操作系统中,`proc`文件系统是一种特殊的虚拟文件系统,它并不存储在磁盘上,而是提供了一个接口,使得用户空间程序可以与内核态进行通信,获取或设置内核的状态信息。`proc`文件系统是Linux内核提供的一种...

Global site tag (gtag.js) - Google Analytics