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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS Pro微课1000例】0031:las点云提取(根据范围裁剪点云)

本文讲解ArcGIS Pro3.0中,las点云数据的提取(根据范围裁剪点云)方法。 文章目录 一、加载数据二、工具介绍三、点云裁剪一、加载数据 打开ArcGIS Pro,新建地图,加载配套实验数据包中的0031.rar中的点云数据point.las与范围bound.shp,如下图所示: 二、工具介绍 名称:提…

Riskified: 2023年电商政策滥用问题恶化,正严重挑战商家盈利底线

2023年11月14日,中国上海 —— 近日,由全球领先的电子商务欺诈和风险智能解决方案提供商 Riskified 发布的《政策滥用及其对商家的影响:2023年全球参考基准》报告显示,政策滥用问题正进一步恶化,超过九成电商商家正在承…

突然消失的桌面文件如何恢复?详细教程让你轻松解决问题!

桌面文件突然消失,对于很多人来说,可能是个令人头疼的问题。这些文件可能包含重要的信息,也可能是数日甚至数周的努力成果。那么,当这种情况发生时,我们如何恢复丢失的文件呢?本文将提供一些实用的建议。 1…

QT windows与linux之间sokcet通信中文乱码问题解决方法

QT windows与linux之间sokcet通信中文乱码问题解决方法 linux发送与接收都转码utf-8: tcpClient ->write( send_msg.toUtf8());//解决乱码,发送转码 接收: QByteArray buffer tcpClient->readAll(); if(!buffer.isEmpty()) { // ui->plain…

⛳面试题-简述并分析ThreadLocalMap的key为什么是弱引用

⛳目录 简述 ThreadLocalMap 的 key 为弱引用的原因:分析:注意 : ThreadLocalMap 是 Java 中与 ThreadLocal 相关的一个重要类,用于在每个线程中存储和访问线程本地变量。在 ThreadLocalMap 中,key 为弱引用的主要原因…

Cesium 展示——根据鼠标移动,线实体也跟着移动

文章目录 需求分析需求 如图所示,点击第一个点后鼠标移动,实现线实体跟着鼠标移动而移动 分析 创建初始化点实体和线实体更改线实体的坐标let centerPoint; // 用于存储圆心位置 let lineEntity;//存储绘制的线条 const that = this; this.handler

navicat创建MySql定时任务

navicat创建MySql定时任务 前提 需要root用户权限 需要开启定时任务 1、开启定时任务 1.1 查看定时任务是否开启 mysql> show variables like event_scheduler;1.2 临时开启定时任务(下次重启后失效) set global event_scheduler on;1.3 设置永久开启定时任务 查看my…

【最好用最省事最权威】VMware安装出现无法删除VMware旧版本,请与技术小组联系

彻底删除之----windows install clean up 微软自己出的卸载软件,用它可以完美卸载VMware 选中VMware

DALL·E 2 文生图模型实践指南

前言:本篇博客记录使用dalle2模型进行推断时借鉴的相关资料和DEBUG流程。 相关博客:超详细!DALL E 文生图模型实践指南 目录 1. 环境搭建和预训练模型准备环境搭建预训练模型下载 2. 代码3. BUG&DEBUGURLErrorCUDA errorRuntimeErrorPyd…

算法笔记-第五章-分数的四则运算

分数的四则运算 分数约分分数加法分数减法分数乘法分数除法分数的输出 分数约分 #include <cstdio> #include <algorithm> using namespace std; struct Fraction {//用结构体表示分子和分母int up, down; }; int gcd(int a, int b) {//求出最大公约数if (b 0) {r…

编程实例与解释,编程入门自学指南,中文编程工具下载

编程实例与解释&#xff0c;编程入门自学指南&#xff0c;中文编程工具下载。 编程实例可以点击最下方卡片了解&#xff0c;编程入门自学可以先从容易的入手&#xff0c;比如中文编程&#xff0c;先学习编程思路&#xff0c;然后再学习其他语言会比较轻松。中文编程工具可以下…

浅谈JavaScript闭包,小白的JS学习之路!

前言 在JavaScript中&#xff0c;闭包是一种强大而灵活的特性&#xff0c;它不仅允许变量私有化&#xff0c;而且提供了一种在函数执行完毕后仍然保持对外部作用域变量引用的机制。本文将深入讨论JavaScript闭包的概念、优点、缺点以及如何避免潜在的内存泄漏问题。 调用栈与…

Shiro快速入门之二

一、前言 Shiro快速入门之一 介绍了Shiro三大核心组件&#xff0c;四大核心功能&#xff0c;以及一个简单的Test Demo&#xff0c;接下来两篇我会用一个比较完整的例子来讲述Shiro的认证及授权是怎么做的&#xff0c;本篇侧重于介绍认证的过程 二、Shiro认证例子 1、例子概述…

H5三网魔幻手游【众神传奇】win服务端+GM授权后台+架设教程

搭建资源下载地址&#xff1a;H5三网魔幻手游【众神传奇】win服务端GM授权后台架设教程-海盗空间

锂价疲软,市场需求持续低迷,赣锋锂业在短期内将继续面临痛苦

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 公司介绍 在赣锋锂业(01772)(002460)网站上&#xff0c;赣锋锂业称自己是一家拥有“中国第一”和“世界最大锂金属生产商”的“锂化合物产能”公司。 根据其2022财年年度报告&#xff0c;该公司最近一个财年的收入有84%和1…

日历应用程序 BusyCal mac中文版软件特点

BusyCal mac是一款日历应用程序&#xff0c;它可以帮助用户轻松地管理日程安排、事件提醒、会议安排等。BusyCal 支持 macOS 和 iOS 平台&#xff0c;并且可以与 iCloud、Google 日历、Exchange 等多种日历服务进行同步。 BusyCal mac软件特点 强大的日历功能&#xff1a;Busy…

Rust编程中的共享状态并发执行

1.共享状态并发 虽然消息传递是一个很好的处理并发的方式&#xff0c;但并不是唯一一个。另一种方式是让多个线程拥有相同的共享数据。在学习Go语言编程过程中大家应该听到过一句口号:"不要通过共享内存来通讯"。 在某种程度上&#xff0c;任何编程语言中的信道都类…

活动通知邀请函H5页面制作源码系统+动感的背景音乐 自定义你想要的页面 源码完全开源可二开 带完整搭建教程

在现代社交活动中&#xff0c;一份精美、个性化的活动邀请函不仅能够展现主办方的品味和诚意&#xff0c;还可以吸引更多的参与者。然而&#xff0c;制作一份精美的活动邀请函需要专业的设计和技术支持&#xff0c;这对于很多非专业人士来说是一个难题。此外&#xff0c;传统的…

mysql之主从复制和读写分离

一、主从复制 1、定义 主mysql上的数据&#xff08;新增或修改库、表里的数据&#xff09;都会同步到从mysql上 2、mysql的主从复制模式&#xff08;面试题&#xff09; &#xff08;1&#xff09;异步复制&#xff08;常用&#xff09;&#xff1a;默认的复制模式。客户端…

网络运维Day15

文章目录 Prometheus简介环境准备配置模板机环境部署阿里镜像源实验环境准备 部署prometheus服务查看及测试 Promethues 被监控端Grafana简介部署 Grafana 服务器修改数据源 监控数据库安装部署Mariadb安装导出器修改 Prometheus服务端配置Grafana配置 总结 Prometheus简介 Pr…