`

linux的du和df命令

阅读更多
linux的du和df命令

      今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧。
前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令。
du查看目录大小,df查看磁盘使用情况。
我常使用的命令(必要时,sudo使用root权限),
1.查看某个目录的大小:du -hs /home/master/documents
  查看目录下所有目录的大小并按大小降序排列:sudo du -sm /etc/* | sort -nr | less
2.查看磁盘使用情况(文件系统的使用情况):sudo df -h
  df --block-size=GB
-h是使输出结果更易于人类阅读;du -s只展示目录的使用总量(不分别展示各个子目录情况),-m是以MB为单位展示目录的大小(当然-k/-g就是KB/GB了)。
更多信息,还是man du 和 man df 来获得吧。
du - estimate file space usage
Summarize disk usage of each FILE, recursively for directories.
df - report file system disk space usage
Show information about the file system on which each FILE resides, or all file systems by default.
df displays the amount of disk space available on the file system containing each file nameargument. If no file name is given, the space available on all currently mounted file systems is shown.


du
du的英文为:disk usage,含义是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况,如果没有指定目录,则对当前的目录进行统计。
du的命令各个选项含义如下:

a:显示全部目录和其次目录下的每个档案所占的磁盘空间
s:只显示各档案大小的总合
b:大小用bytes来表示
x:跳过在不同文件系统上的目录不予统计
a:递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数
...
使用du进行查看
root@tech163:/home/htmlfile# du
16      ./test
60      ./bbb
84      .

其中第一列是以块为单位计的磁盘空间容量,第二列列出目录中使用这些空间的目录名称

1)查看当前目录包含子目录的大小
root@tech163:/home/htmlfile# du -sm .
1       .
其中的du -sm . 的“.”是代表当前目录。

2)查看当前目录以及子目录的大小
root@tech163:/home/htmlfile# du -h
16K     ./test
60K     ./bbb
84K     .
其中 -h 表示使用K,M,G的人性化形式显示。

3)看到当前目录下的bbb目录大小,但不想查看其他目录以及子目录
root@tech163:/home/htmlfile# du -ch bbb | tail -n 1
60K     total
使用了管道包含了du和tail两个命令,-c表示最后计算出所列目录的大小之和。

4)列出当前目录下所有目录和文件的大小
root@tech163:/home/htmlfile# du -ah bbb
4.0K    bbb/mysql.php
4.0K    bbb/index.htm
4.0K    bbb/p.php
28K     bbb/memcache.php
12K     bbb/.session.php.swp
4.0K    bbb/hello.html
60K     bbb
其中-a表示包含目录和文件

5)不换行列出目录以及子目录大小的信息
root@tech163:/home/htmlfile# du -0h
16K     ./test60K       ./bbb84K        .root@tech163:/home/htmlfile#
其中 -0 表示列出一条信息后不换行,接着输出第二条信息。

df
于du不同的是,du是面向文件的命令,只计算被文件占用的空间。不计算文件系统metadata 占用的空间。df则是基于文件系统总体来计算,通过文件系统中未分配空间来确定系统中已经分配空间的大小。df命令可以获取硬盘占用了多少空间,还剩下多少空间,它也可以显示所有文件系统对i节点和磁盘块的使用情况。

df命令各个选择的含义如下:

a:显示全部的档案系统和各分割区的磁盘使用情形
i:显示i -nodes的使用量
k:大小用k来表示 (默认值)
t:显示某一个档案系统的所有分割区磁盘使用量
x:显示不是某一个档案系统的所有分割区磁盘使用量
T:显示每个分割区所属的档案系统名称
....

使用df进行查看

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p1      2068156    611572   1351528  32% /
tmpfs                  1038080         4   1038076   1% /lib/init/rw
udev                     10240        64     10176   1% /dev
tmpfs                  1038080         4   1038076   1% /dev/shm
/dev/cciss/c0d0p9    130700120  44034236  86665884  34% /home
/dev/cciss/c0d0p7      2068156     68932   1999224   4% /tmp
/dev/cciss/c0d0p8      4132372   1760620   2161840  45% /usr
/dev/cciss/c0d0p6      2068156    330104   1632996  17% /var

第一行是文件系统对应的硬盘分区
第二行是分区包含的数据块的数据(1数据库为1024字节)
第三四行是已用和未用的数据块数组
第五行是普通用户空间使用的百分比
第六行是文件系统的安装点

其中第三四行已用和未用数据块相加并不等于第二行总数据块,这是因为分区留了少量空间提供给

系统管理员使用。

1)
chenyz@gzhouse:~$ df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/cciss/c0d0p1     2.0G  598M  1.3G  32% /
tmpfs                1014M  4.0K 1014M   1% /lib/init/rw
udev                   10M   64K   10M   1% /dev
tmpfs                1014M  4.0K 1014M   1% /dev/shm
/dev/cciss/c0d0p9     125G   42G   83G  34% /home
/dev/cciss/c0d0p7     2.0G   68M  2.0G   4% /tmp
/dev/cciss/c0d0p8     4.0G  1.7G  2.1G  45% /usr
/dev/cciss/c0d0p6     2.0G  333M  1.6G  18% /var
其中 -h 表示使用K,M,G的人性化形式显示。

2)
chenyz@gzhouse:~$ df -ia
文件系统               Inode (I)已用 (I)可用 (I)已用% 挂载点
/dev/cciss/c0d0p1     262752   60150  202602   23% /
tmpfs                 224142      10  224132    1% /lib/init/rw
proc                       0       0       0    -  /proc
sysfs                      0       0       0    -  /sys
procbususb                 0       0       0    -  /proc/bus/usb
udev                  224142     770  223372    1% /dev
tmpfs                 224142       3  224139    1% /dev/shm
devpts                     0       0       0    -  /dev/pts
/dev/cciss/c0d0p9    130763968 1972907 128791061    2% /home
/dev/cciss/c0d0p7     262752      54  262698    1% /tmp
/dev/cciss/c0d0p8     524832   35743  489089    7% /usr
/dev/cciss/c0d0p6     262752    4896  257856    2% /var
     所谓的 inode 是用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。在分割扇区时,系统会先做出一堆 inode 以供以后使用,inode 的数量关系着系统中可以建立的档案及目录总数。如果要存的档案大部分都很小,则同样大小的硬盘中会有较多的档案,也就是说需要较多的 inode 来挂档案及目录
分享到:
评论

相关推荐

    "三菱PLC与触摸屏联合开发气压传动焊条包装线技术详解",No.945 三菱PLC和触摸屏基于气压传动的焊条包装线的研发 ,核心关键词:三菱PLC; 触摸屏; 气压传动; 焊条包装线; 研

    "三菱PLC与触摸屏联合开发气压传动焊条包装线技术详解",No.945 三菱PLC和触摸屏基于气压传动的焊条包装线的研发 ,核心关键词:三菱PLC; 触摸屏; 气压传动; 焊条包装线; 研发; No.945,"三菱PLC与触摸屏在气压传动焊条包装线研发项目No.945中的应用"

    vb图书馆管理系统(源代码+论文).rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    [matlab系统程序]MATLAB危险区域预警系统.zip

    本项目是自己做的设计,有GUI界面,完美运行,适合小白及有能力的同学进阶学习,大家可以下载使用,整体有非常高的借鉴价值,大家一起交流学习。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。

    [matlab系统程序]MATLAB图像去雾.zip

    本项目是自己做的设计,有GUI界面,完美运行,适合小白及有能力的同学进阶学习,大家可以下载使用,整体有非常高的借鉴价值,大家一起交流学习。该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。

    基于文献知识与知识图谱补全方法用于COVID-19药物再利用的创新算法

    内容概要:文章介绍了针对COVID-19的药物再利用的创新方法,这种方法融合了基于文献的知识(LitCovid和CORD-19数据集)及先进的知识图谱补全技术。具体采用了基于神经网络的TransE、RotatE等多种算法预测药物再利用的潜力,并通过开放和封闭的发现模式为预测结果提供合理的机制解释,包括发现模式、准确性分类及定性评估等手段,增强了方法的实用性。研究表明,TransE表现最优,并成功预测并验证了一系列药物作为COVID-19的治疗候选人选。此外,方法不仅适用于COVID-19,还具备应用于其他疾病药物再利用及其他临床问题解决的潜力。此研究为快速高效地推进药物再利用提供了一个新的计算框架。 适合人群:生物医学科研人员,从事药品再利用、人工智能药物筛选的专业研究人员,对生物信息数据分析和处理感兴趣的学者或技术人员。 使用场景及目标:① 利用计算模型预测药物能否被重新应用于新的适应症,尤其是在面对突发公共卫生事件时加快新药物的研发进程。② 对现有药物进行再评价,以发现更广泛、安全、有效的治疗用途,为临床治疗提供依据和理论指导。③ 探讨通过自动化手段发掘药物作用机理的技术路径。 其他说明:作者团队来自多个国家和地区,研究获得了多项国家级基金支持,论文详尽描述了实验细节,并附上了全部代码和数据资源供后续拓展和重复研究使用。

    "基于三菱PLC与组态王技术的智能交通灯车辆监测系统:No.808的实践与应用",No.808 基于三菱PLC和组态王的智能交通灯车辆监测 ,关键词: 基于三菱PLC; 组态王; 智能交通

    "基于三菱PLC与组态王技术的智能交通灯车辆监测系统:No.808的实践与应用",No.808 基于三菱PLC和组态王的智能交通灯车辆监测 ,关键词: 基于三菱PLC; 组态王; 智能交通灯; 车辆监测; No.808,"三菱PLC与组态王协同的智能交通灯车辆监测系统No.808"

    minecraft1.16.1生存基地 搭配了1.16.1的BSL着色器 BSL光影:https://cdn.modrinth.com/data/Q1vvjJYV/versions/oGcsNfpD/

    在湖上建造的生存基地,希望大家喜欢

    基于西门子S7-1200 PLC与Wincc组态技术的智能路口交通指挥系统解决方案 ,No.698 西门子S7-1200 和Wincc组态基于PLC的路口交通指挥系统 ,No.698; 西门子S7-1

    基于西门子S7-1200 PLC与Wincc组态技术的智能路口交通指挥系统解决方案。,No.698 西门子S7-1200 和Wincc组态基于PLC的路口交通指挥系统 ,No.698; 西门子S7-1200; Wincc组态; PLC; 路口交通指挥系统; 交通控制系统。,基于PLC与Wincc组态的西门子S7-1200交通指挥系统

    电子设计大赛+C题+FPGA+省级获奖

    本资源为无线传输信号模拟系统的完整设计报告,基于ZYNQ7020开发平台实现,包含硬件设计、FPGA算法逻辑、软件控制及详细测试方案。系统可生成直达信号、多径信号及合路信号,支持参数动态调节,适用于通信系统仿真、教学实验及科研开发。 资源内容 设计报告全文:方案论证、理论分析、电路设计、程序流程图、测试结果。 附录数据:AM调制频谱、载波有效值测量、多径时延/衰减/初相实测数据。 配套资料:系统架构图、DAC模块电路图、FPGA算法逻辑框图(PDF+高清图)。 适用场景 设计参考 FPGA数字信号处理开发 无线信道模拟与通信系统仿真 科研项目中的信号生成与测试

    毕业设计&课程设计&毕设&课设-java-ssm网络视频播放器

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    sqllite查询数据库的语句

    sqllite查询数据库的语句

    (源码)基于物联网的Buddy康复激励系统.zip

    # 基于物联网的Buddy康复激励系统 ## 项目简介 Buddy是一个旨在支持和激励个人在日常生活中的身体活动,从而促进康复和保持健康的系统。它由两部分组成可穿戴设备和名为“Wrfel”的游戏组件。通过可穿戴设备追踪用户的步数和心率等身体数据,并在显示屏上展示。名为“Motivationsbuddy”的角色会在每次活动时陪伴用户,并通过提醒和小提示激励用户保持活动。此外,用户还可以通过设备与其他人员进行网络联系。每周用户可以通过掷骰子的方式选择新的活动。收集到的可穿戴设备数据也会在骰子游戏的界面上进行展示。 ## 项目的主要特性和功能 1. 穿戴设备的步数和心率监测功能实时追踪用户的步数和心率,并在显示屏上展示数据。 2. 激励功能通过提醒和小提示激励用户保持活动。 3. 网络联系功能用户可以与其他人员进行网络联系,分享活动数据和经验。 4. 掷骰子活动选择功能每周用户可以通过掷骰子的方式选择新的活动,增加活动的多样性和趣味性。

    (源码)基于MFC框架的指纹识别系统.zip

    # 基于MFC框架的指纹识别系统 ## 项目简介 本项目是一个基于MFC(Microsoft Foundation Classes)框架的指纹识别系统,主要用于指纹的采集、预处理、特征提取、特征过滤、特征匹配和入库等操作。系统通过本地文件夹存储指纹库信息,并提供分步测试、登记和识别功能。 ## 项目的主要特性和功能 1. 指纹采集与预处理 使用指纹采集器(中控ZK4500)进行指纹图像的采集。 通过中值滤波、高斯锐化、均值化等方法对指纹图像进行预处理。 2. 特征提取与过滤 使用Sobel算法进行方向计算,提取图像梯度信息。 通过掩码计算和Gabor滤波增强指纹图像。 使用基于边界的特征过滤算法,减少特征点数量,提高识别速度。 3. 指纹识别与登记 提供指纹登记功能,用户可以通过采集指纹并输入姓名进行登记。 提供指纹识别功能,通过采集指纹并与指纹库中的信息进行匹配,识别用户身份。

    基于Unet技术的医学图像分割系统-DL00366:以皮肤病数据训练的自动分割模型,DL00366-基于Unet的医学图像分割系统 用Unet来做医学图像分割 我们将会以皮肤病的数据作为示范,训练

    基于Unet技术的医学图像分割系统——DL00366:以皮肤病数据训练的自动分割模型,DL00366-基于Unet的医学图像分割系统 用Unet来做医学图像分割。 我们将会以皮肤病的数据作为示范,训练一个皮肤病分割的模型出来,用户输入图像,模型可以自动分割去皮肤病的区域和正常的区域。 ,DL00366; 基于Unet的医学图像分割系统; 皮肤疾病数据; 模型训练; 图像自动分割。,基于Unet的皮肤病图像分割系统

    毕业设计&课程设计&毕设&课设-java-旅游景点线路网站

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    前端Node:第四章:大事件

    前端Node:第四章:大事件

    (源码)基于区块链的金融管理系统.zip

    # 基于区块链的金融管理系统 ## 项目简介 本项目是一个基于区块链技术的金融管理系统,旨在提供一个去中心化、安全可靠的平台,用于处理公司间的财务交易。通过使用智能合约和Python SDK,用户可以进行银行操作、注册公司、登录系统以及进行各种财务操作。 ## 项目的主要特性和功能 ### 主要特性 1. 去中心化利用区块链技术,实现数据的去中心化管理。 2. 安全性通过智能合约和区块链技术,保障数据的安全性和不可篡改性。 3. 可靠性确保交易的可靠性和持久性。 ### 功能 1. 银行界面展示银行相关的数据,如存款、贷款等。 2. 注册与登录允许用户注册新账户并登录系统。 3. 公司管理允许用户创建公司账户,管理公司的财务信息。 4. 财务操作包括转账、购买、融资、还款等操作。 5. 智能合约交互通过Python SDK与智能合约进行交互,实现各种功能。 ## 安装使用步骤 ### 假设用户已经下载了本项目的源码文件

    西门子S7-200 PLC与组态王联合楼宇消防系统电气控制设计解决方案 No.950,No.950 基于西门子S7-200 PLC和组态王楼宇消防系统电气控制系统设计 ,核心关键词:西门子

    西门子S7-200 PLC与组态王联合楼宇消防系统电气控制设计解决方案 No.950,No.950 基于西门子S7-200 PLC和组态王楼宇消防系统电气控制系统设计 ,核心关键词:西门子S7-200 PLC;组态王楼宇消防系统;电气控制系统设计;No.950,基于西门子S7-200 PLC的楼宇消防电气控制系统设计

    java JDK11版本安装包

    Java Development Kit (JDK) 11 版本简介 Java Development Kit (JDK) 作为Java平台的核心组件之一,是开发人员用来构建、运行和测试Java应用程序的必备工具集。JDK 11 是Oracle公司于2018年9月发布的长期支持(LTS)版本,标志着Java语言发展的一个重要里程碑。它不仅继承了之前版本的优点,还引入了一系列新特性与改进,以更好地适应现代软件开发的需求。 主要特点: 性能提升:通过优化垃圾回收机制等手段,JDK 11在性能方面取得了显著进步。 模块化系统:基于Java 9中引入的模块化系统进一步优化,使得开发者能够更高效地组织代码结构,提高安全性及可维护性。 增强的安全性:新增了多项安全功能,比如TLS 1.3的支持,以及对现有加密算法的加强。 新的APIs:增加了许多实用的新APIs,如用于处理HTTP请求的HttpClient API正式版、本地变量类型推断var关键字等。 移除过时元素:为了保持框架的简洁性和现代化,JDK 11移除了部分不推荐使用的API和选项。

    2008-2020年各省国内发明专利申请授权量数据.xlsx

    2008-2020年各省国内发明专利申请授权量数据 1、时间:2008-2020年 2、来源:国家统计J、统计nj 3、指标:行政区划代码、地区、年份、国内发明专利申请授权量(项) 4、范围:31省

Global site tag (gtag.js) - Google Analytics