习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容

ls 在这方面的两个诟病出现了:

小诟1. 显示的信息很全,我们只提取Size和Name两列,分别是第5和9列

但是发现不对,像Edge的话起码有200G,但是为什么显示的是306B,说明ls只是显示目录的本身大小,不显示内容大小

大诟2. 不显示目录的实际大小,要显示目录(文件夹)的内容大小,需要用到du(disk utility的缩写)来显示

这样,可以把这条命令存为alias,方便以后使用,alias ldu='ls -1 | xargs du -h -d 0 2>/dev/null' 到.bash_profile(Mac下),.bashrc(Debian系下)中,source;问题是这样只能显示当前目录下的情况,要是我想看Edge下按个目录比较大呢,办法就是先cd到那个目录,在ldu,但是每次都要输这么长的命令着实恼火,所以我想,把它变成一个函数

把这个函数放到bash配置文件(.bashrc或者.bash_profile)中,source,这样效果和ldu一样了,而且还可以显示非当前目录,但是我想把*通配符也加进来,例如我想显示P开都的目录的大小,同时还可以接受多个目录作为参数

同时,使得接受*匹配

同时接受文件大小正确显示

哈哈,三方面的顾虑都解除了,函数最终确定为

下载为: lus.sh

这样就大功告成了!

有个注意点就是查看文件夹实际大小时,除了du还有一个df命令,下面说说他们的区别。

1. 如何记忆这两个命令

du-Disk Usage

df-Disk Free

2. df 和du 的工作原理

2.1 du的工作原理

du命令会对待统计文件逐个调用fstat这个系统调用,获取文件大小。它的数据是基于文件获取的,所以有很大的灵活性,不一定非要针对一个分区,可以跨越多个分区操作。如果针对的目录中文件很多,du速度就会很慢了。

2.2 df的工作原理

df命令使用的事statfs这个系统调用,直接读取分区的超级块信息获取分区使用情况。它的数据是基于分区元数据的,所以只能针对整个分区。由于df直接读取超级块,所以运行速度不受文件多少影响。

3 du和df不一致情况模拟

常见的df和du不一致情况就是文件删除的问题。当一个文件被删除后,在文件系统 目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除, 分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件。

实际应用:

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。

下面分别简要介绍

df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子:

[duanzhang@duanzhang ~]$ df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 3.9G 300M 3.4G 8% /

/dev/sda7 100G 188M 95G 1% /data0

/dev/sdb1 133G 80G 47G 64% /data1

/dev/sda6 7.8G 218M 7.2G 3% /var

/dev/sda5 7.8G 166M 7.2G 3% /tmp

/dev/sda3 9.7G 2.5G 6.8G 27% /usr

tmpfs 2.0G 0 2.0G 0% /dev/shm

参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/sda1 这个分割区被挂在根目录下。

接下来的四个字段 Size、Used、Avail、及 Use% 分别是该分割区的容量、已使用的大小、剩下的大小、及使用的百分比。 FreeBSD下,当硬盘容量已满时,您可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。

du:查询文件或文件夹的磁盘使用空间

如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定 深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.

提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。

[root@duanzhang]# du -h --max-depth=1 work/testing

27M work/testing/logs

35M work/testing

[root@duanzhang]# du -h --max-depth=1 work/testing/*

8.0K work/testing/func.php

27M work/testing/logs

8.1M work/testing/nohup.out

8.0K work/testing/testing_c.php

12K work/testing/testing_func_reg.php

8.0K work/testing/testing_get.php

8.0K work/testing/testing_g.php

8.0K work/testing/var.php

[root@duanzhang]# du -h --max-depth=1 work/testing/logs/

27M work/testing/logs/

[root@duanzhang]# du -h --max-depth=1 work/testing/logs/*

24K work/testing/logs/errdate.log_show.log

8.0K work/testing/logs/pertime_show.log

27M work/testing/logs/show.log

du 统计文件大小相加

df 统计数据块使用情况

如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。

如此一来在定期删除 /var/spool/clientmqueue下面的文件时,如果没有杀掉其进程,那么空间一直没有释放。

使用下面的命令杀掉进程之后,系统恢复。

fuser -u /var/spool/clientmqueue

分享到:

debian 文件夹中文件大小_linux查看目录(文件夹)内容大小相关推荐

  1. debian 文件夹中文件大小_Linux下查看文件和文件夹大小 删除日志

    场景:在sts中执行自动部署时候maven提示No space left on device错误,后来经检查发现是磁盘空间满了,用下面的方法分析发现tomcat下面的logs目录占用了很大的空间,删除 ...

  2. linux查询当前目录剩余空间,如何在linux下查看目录的剩余空间大小

    df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Siz ...

  3. Shell - 查看目录文件(夹)大小并清理磁盘空间

    一.引言 通道机乱七八糟的东西太多导致卡顿,需要查看文件夹大小并删除,执行 ll -h 命令后只能看到文件大小,文件夹大小都为 4k,切换其他命令并成功删除. 二.查看空间占用 1.du -h -x ...

  4. windows用 tree命令查看目录文件夹结构

    windows用 tree命令查看目录文件夹结构 ## 查看帮助 tree --helptree --dirsfirst --filelimit 6 -h -t –dirsfirst 目录优先展示 – ...

  5. python递归创建目录_Node.js和Python使用递归查看目录文件和创建目录

    1. 查看目录文件: 1.1 Node实现: let fs = require('fs'); let path = require('path'); let filePath = path.resol ...

  6. Python查找文件夹中含有指定关键字的文件

    查找文件夹中含有指定关键字的文件,并将该文件复制到另一个文件夹中 ''' 查找文件夹中含有指定关键字的文件,并将该文件复制到另一个文件夹中 ''' import os import shutildef ...

  7. 使用ls命令查看Linux的目录结构,linux ls命令查看目录文件详解

    首页 > Linux教程 > 常用命令 > ls 查看目录文件 linux ls命令查看目录文件详解 linux中ls命令用来查看目录中的所有文件和子目录,可选的参数比较多,本文筛选 ...

  8. 实战:从文件夹中庞大的excel(.xlsx)文件中提取并整合数据

    从文件夹中庞大的excel(.xlsx)文件中提取并整合数据 Input 需要从文件夹树中提取有格式的单个数据格并汇总. 例如: 2017-2020x市蚊虫数据/2018/7月/abcds方法统计.x ...

  9. hdfs查看目录文件的大小 hdfs dfs -du -s -h /

    hdfs查看目录文件的大小 1.第一种方式:查看当前目录下的各级目录 分别大小 hdfs dfs -du -h /user/hive/warehouse/#查看结果 19.7 K 59.0 K /us ...

最新文章

  1. apache php php.ini,apache php环境搭建 httpd.conf php.ini 修改点
  2. 根据最大值和最小值获取对应的单元格值
  3. Atitit 软件工程概览attilax总结
  4. HDFS的API操作-获取FileSystem方式
  5. 民用建筑工程给水排水设计深度图样_河南省怎样办理市政设计给水排水工程设计乙级资质...
  6. 工业交换机的性能优势有哪些?
  7. 工作185:解决vue+el-element二级联动,选项选择后不显示的问题
  8. 站长如何屏蔽流氓宽带商在你的页面里面强行插入的广告代码
  9. [中等]寻找缺失的数
  10. 淘富成真,硬件智能—— 硬件创新一站赋能平台
  11. jsonp实现原理详细介绍
  12. Word入门教程之编辑脚注和尾注(转)
  13. Swift 类和结构体总结
  14. python 递归,迭代器,生成器,面向过程编程
  15. 大白用html5制作,别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感!...
  16. 趣图:程序员睡不着数绵羊清单
  17. Android 中网络连接检测和使用ping检测网络是否可访问
  18. 脑与认知神经科学Matlab Psytoolbox认知科学实验设计——视错觉
  19. iOS音效和音乐播放
  20. LOL:各服务器王者段位人数改动,越南菲律宾与韩国并列共300人

热门文章

  1. 操作系统笔记 Unite4
  2. 启动Word 2019时弹出“很抱歉,此功能看似已中断,并需要修复......或是Excel 2019提示很抱歉,OFFICE安装出现问题
  3. RIA系列技术讲座(1)——在RIA世界里混个脸熟
  4. Linux命令之在终端查看「天气预报」
  5. 关于抖音网红推广,你想知道的50个问题都在这里!
  6. 程序员专属段子集锦 8/10
  7. Android音视频视频基础(H264)
  8. 利用开源工具搭一套汉英翻译系统(一):预处理工具
  9. 阿里云服务器能做什么呢?
  10. 智慧楼宇篇 3 —— 室内定位技术(三) - UWB室内定位技术