du_命令可以像find_命令那样列出最大的文件吗

【赠送】IT技术视频教程,白拿不谢!思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读418次。风和日丽,小微给你送福利~如果你是小微的老粉,这里有一份粉丝福利待领取...如果你是新粉关注到了小微,那恭喜你,你赚到了![欢迎关注微信公众号:厦门微思网络]正值微思19周年庆之际,我们在想:是否可以为大家创造更多的价值?为了感激大家长期来的关注,几经商榷,我们决定先给大家发一份大福利!如何索取呢?加小姐姐微信:xmws-IT,验证备注:CSDN学习视频话不多说,直接上福利介绍——福利1思科零基础入门实战视频教程今天我们为大家整理了一份...https://xmws-it.blog.csdn.net/article/details/117297837?spm=1001.2014.3001.5502

工作中系统管理员会使用 du 命令或者 ncdu 等工具来查找/分析文件系统中存在的大文件。

通常系统管理员会使用 du 命令来查看文件或目录,或者直接用 du 命令对目录大小进行排列

如下所示:查找最大的5个目录

[root@localhost ~]# du -h /* 2>/dev/null | sort -rh | head -5
1.5G /usr
878M /usr/lib
677M /usr/lib/firmware
276M /usr/share
255M /var
[root@localhost ~]#

使用这种方法,可以快速定位到 /usr 目录是最占用空间的,然后再使用相同的方法(切换到 /usr 目录)一层一层的往下检查。

这种方法可以定位到哪个目录最占用空间,但是无法定位到哪个文件最占用空间。

想象一下 test 目录下有2个子目录 a 和 b,其中 a 大小 500M,b 大小 200M。

a 目录下有 500个 1MB 的文件,而 b 目录下只有一个 200MB 的文件。

此时使用 du 方法只能知道 a 目录占用空间大,但不意味着最大的文件就在 a 目录下,因为其实最大的文件在 b 目录中

[root@localhost ~]# du -h ~/* | sort -rh
701M /root/test
501M /root/test/a
200M /root/test/b
[root@localhost ~]#

重要的

du 命令默认输出只会显示目录。如果要显示文件大小,需要加上 -a 选项

使用 du -a 选项列出目录下所有文件的大小,此时可以看到 test/b/file 才是最大的文件,占用 200M

[root@localhost ~]# du -ah test/* | tail -10
1.0M test/a/file93
1.0M test/a/file94
1.0M test/a/file95
1.0M test/a/file96
1.0M test/a/file97
1.0M test/a/file98
1.0M test/a/file99
501M test/a
200M test/b/file
200M test/b
[root@localhost ~]#

但是如果文件很多,这样输出的结果还是有点杂乱无章,主要原因是不太容易区分目录和文件。

find 命令可以很好的解决这个问题,如果要找到系统上最大的文件,可以执行:

[root@localhost ~]# find / -type f | xargs du -sh 2>/dev/null | sort -rh | head -3
200M /root/test/b/file
121M /var/lib/rpm/Packages
83M /boot/initramfs-0-rescue-0f1f1093c97f4c6895bec08ebbe382e0.img
[root@localhost ~]#

使用 du 命令列出最大的3个文件

如果非要使用 du 命令来完成这件事,也可以,思路如下:

1. 使用 du -a 列出所有文件的大小

2. 在所有目录后面手动添加 / 目录符用以区分目录

3. 使用 grep -v 命令过滤掉目录条目即可

[root@localhost ~]# du -aSh /* 2>/dev/null | sort -rh | \
> while IFS=$'\t' read -r size line; \
> do printf "%s\t%s" $size "$line"; \
> [[ -d $line ]] && printf "/"; echo; done | \
> grep -v /$ | head -3
200M /root/test/b/file
121M /var/lib/rpm/Packages
83M /boot/initramfs-0-rescue-0f1f1093c97f4c6895bec08ebbe382e0.img

微/信/公/众/号【厦门微思网络】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt信号量用于对共享资源进行同步

定义信号量与缓冲区: const int BufferSize 8; int buffer1[BufferSize]; int buffer2[BufferSize]; int curBuf1; //当前正在写入的Bufferint bufNo0; //采集的缓冲区序号quint8 counter0;//数据生成器QSemaphore emptyBufs(2);//信号量:空的缓冲区…

关于论文图表目录和交叉引用的使用小结

目录 1 题注用法 2 交叉引用 最近在写论文,遇到不少Word使用的问题(错误!文档中没有指定样式的文字。) 网上其实也有很多解决方案但我当时还是折腾了几个小时才整出来图目录,以下是针对我目前使用的感觉简明很多的方法。 1 题注用法 1) 假…

基于LDPC编译码和FP-MAP球形检测算法的协作MIMO系统误码率matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 LDPC码 4.1 Fincke-Pohst-MAP球形检测算法 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2017b 3.部分核心程序 .........................................…

CLK_CFG_AD9516时钟芯片(配置代码使用说明)

目录 1 概述2 例程功能3 例程端口4 数据时序5 注意事项6 调用例程7附录(代码以及寄存器) 1 概述 本文用于讲解CLK_CFG_AD9516例程配置代码的使用说明,方便使用者快速上手。 2 例程功能 本例程 是采用verilog hdl编写,实现AD951…

以太网和局域网

计算机网络的定义 计算机网络是一个将分散的、具有独立功能的计算机,通过通信设备与线路连接起来,由根据协议编写的软件来实现的资源共享和信息传递的系统 计算机网络的分类 广域网是互联网的核心部分 局域网 常见的局域网拓扑结构有4大类&#xff1a…

2023注册电气工程师考试大纲

考试大纲如下: 基础考试大纲 一、公共基础 (一)数学 1.1空间解析几何 向量的线性运算;向量的数量积、向量积及混合积;两向量垂直、平行的条件;直线方程;平面方程;平面与平面、直线与直线、平面与直线之间的位置关系;点到平面、直线的距离;球面、母线平行于坐标…

前端设计模式之【工厂模式】

文章目录 前言什么时候不用介绍工厂模式的流程例子优点缺陷后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端设计模式 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。…

九九乘法表c 语言

下面是用C语言打印九九乘法表的示例代码&#xff1a; #include <stdio.h>int main() {int i, j;for (i 1; i < 9; i) {for (j 1; j < i; j) {printf("%d * %d %d\t", i, j, i * j);}printf("\n");}return 0; }这段代码使用嵌套的两个循环&…

Spring-事务

EnableTransactionManagement工作原理 开启Spring事务本质上就是增加了一个Advisor&#xff0c;在使用EnableTransactionManagement注解来开启Spring事务时&#xff0c;该注解代理的功能就是向Spring容器中添加了两个Bean Import(TransactionManagementConfigurationSelector…

10 分钟学会使用 Java 多线程

大家好&#xff0c;我是伍六七。 今天阿七来聊聊 Java 程序员们面试、工作中经常会碰到的线程池。它的概念、原理、使用以及可能会碰到的一个坑。 一、Java 线程池基本概念 1、线程池的 7 个核心参数 这是 Java 初中级程序员们面试必问的面试题了&#xff0c;我们来看&…

关于start-burp抓包夜神-系统证书导入

1、开启开发中模式 2、开启USB调试 3、开启端口监听并下载start-burp证书 4、证书在线格式转换 根据该网站【在线DER格式转pem CER格式转pem CRT格式转PEM证书格式--查错网】也可以搜索其它在线转换网站进行操作 新建一个文本文件重名为【9a5ba575.0】&#xff0c;将转换的内…

elemetui 解决同个页面,同时使用多个el-table表格组件导致的数据错乱

1、背景 在一个页面中&#xff0c;使用了饿了么框架的3个el-table表格&#xff0c;3个表格平级&#xff0c;只不过是根据条件判断渲染哪个表格。本来以为使用v-if就可以隔离&#xff0c;没想到还是出现了问题&#xff0c;因为3个表格中有几列绑定的字段一模一样&#xff0c;导…

Qt高级--(1)自定义导航栏

好久没有水博客&#xff0c;参考别人的写一个自定义的导航栏吧。用处挺多的&#xff0c;可以用来切换到不同的信息显示界面。 功能点 1.默认情况下&#xff0c;文字居中显示&#xff0c;不显示图标&#xff0c;不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

2023项目总结,感悟、矛盾与规划

背景 本人自2020年加入某创新中心&#xff0c;已经三年多了&#xff0c;只能说是日月如梭、白驹过隙。家里小孩22年出生&#xff0c;现在也2岁了。房贷、户口等比较重要的几件事竟然在不知不觉中完成了&#xff0c;今天也是有时间把相关的项目做个总结。 项目总结 1、主要科研…

PHP7使用C++扩展开发

Windows 使用【php-sdk-binary-tools】工具在windows下编译dll扩展。 php-sdk-binary-tools&#xff1a;GitHub - microsoft/php-sdk-binary-tools: Tool kit for building PHP under Windows 编译过程&#xff1a;php mb扩展 windows7,php7.4自定义扩展的编写Windows篇-CSD…

20. 深度学习 - 多层神经网络

Hi&#xff0c;你好。我是茶桁。 之前两节课的内容&#xff0c;我们讲了一下相关性、显著特征、机器学习是什么&#xff0c;KNN模型以及随机迭代的方式取获取K和B&#xff0c;然后定义了一个损失函数&#xff08;loss函数&#xff09;&#xff0c;然后我们进行梯度下降。 可以…

屏幕截图软件 Snagit mac中文版软件特点

Snagit mac是一款屏幕截图和视频录制软件&#xff0c;它可以帮助用户快速捕捉屏幕上的任何内容&#xff0c;并将其编辑、标注和共享。 Snagit mac软件特点 多种截图模式&#xff1a;支持全屏截图、窗口截图、区域截图、延时截图等多种截图模式&#xff0c;满足不同用户的需求。…

python用pychart库,实现将经纬度信息在地图上显示

python使用pyecharts对给到的经纬度数据进行位置标注&#xff0c;下面是批量更新。给入数据&#xff0c;将地图生成。实验数据在下面附件。 from pyecharts import options as opts from pyecharts.charts import Geo import osfolder_path F:\\GPS file_names os.listdir(f…

数据结构和算法八股与手撕

数据结构和算法八股文 第一章 数据结构 1.1 常见结构 见http://t.csdnimg.cn/gmc3U 1.2 二叉树重点 1.2.1 各种树的定义 满二叉树&#xff1a;只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上 完全二叉树&#xff1a;除了最底层节点可能没填满外&…

【数据结构】经典单链表OJ题!!

学习完单链表&#xff0c;习题就成了最好的巩固方式 目录 1.链表分割:思路&#xff1a;代码实现&#xff1a; 2.随机链表的复制:思路1&#xff1a;代码实现&#xff1a;思路2&#xff1a;代码实现&#xff1a; 3.环形链表:3.1环形链表1:思路&#xff1a;代码实现&#xff1a; 3…