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

news2024/10/6 0:28:16

【赠送】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.coloradmin.cn/o/1206746.html

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

相关文章

Git企业开发级讲解(二)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、添加⽂件--场景⼀1、操作2、演示 二、查看 .git ⽂件1、tree .git命令2、内容讲解3、总结…

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

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

常用的Linux命令;Linux常用命令用法及实现方式

1.系统工作命令 (1)echo命令:echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为“echo [字符串] [$变量]”。 (2)date命令:date命令用于显示或设置系统的时间与日期,语法格式为“date [指定的格式]”。 (3)timedate…

微信怎么群发消息?答案在这,1分钟就能学会!

微信群发消息是一种方便快捷的消息发送方式,该功能允许用户一次性给多个好友发送相同的内容。一般来说,群发消息比较适用于发送节日祝福、通知、品牌推广等场景。微信怎么群发消息?本文将给大家详细介绍微信群发消息的操作方法,只…

列出目录内最大十个文件并排序

在Linux中,可以使用以下命令列出目录内最大的十个文件并排序: find ./ -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 find ./ -type f -print0: find命令用于在指定目录下查找文件。这里,我们在当前目录下查找所有的文件&…

【Nginx】CentOS 安装Nignx

CentOS上安装Nginx: 1. 打开终端:使用SSH或者直接在服务器上打开终端。 2. 更新系统:运行以下命令以确保您的系统软件包列表是最新的: sudo yum update3. 安装Nginx:运行以下命令以安装Nginx: sudo yum…

应用在微波炉触摸屏中的低功耗触摸芯片

微波炉(microwave oven/microwave),顾名思义,就是一种用微波加热食品的现代化烹调灶具。微波是一种电磁波。微波炉由电源,磁控管,控制电路和烹调腔等部分组成。电源向磁控管提供大约4000伏高压,…

Nodejs操作缓存数据库-Redis

Hi I’m Shendi Nodejs专栏 Nodejs操作缓存数据库-Redis 在服务端开发中,缓存数据库也是不可或缺的,可以提高程序并发以及方便后续扩展,而目前最常用的莫过于Redis了 安装依赖 和之前的mysql一样,redis的依赖最常用的就是redis …

创意无限:7大AI绘画软件揭示人工智能的绘画魅力!

本篇文章将为大家推荐7款2023年好用的AI绘画软件,为艺术家和设计师提供了创作灵感和效率的提升。 1、即时设计 即时设计是一款依托于浏览器运行的在线设计工具,可使用它进行UI设计、原型制作,以及团队项目管理等,功能十分强大&a…

el-table本地与线上的样式不一致出现错乱

使用el-table的时候有几个表头是循环出来的,出现在本地运行的时候,表头内el-input输入框样式正常,但是发布以后出现样式错乱问题 线上样式错乱:​ 本地正常: 出现这个问题的原因是我有几个表头是循环出来的&#xff0…

问题 D: 过山车(二分图)

首先,绘制二分图 核心思想: 对于每一个左边端点,查找每个右边端点, 若右边端点无对象,则暂时作为该左端点的对象 若右边端点有对象,递归查询其对象是否有其他选择 (1.若有其他选择&#xf…

全网最全synchronized锁升级过程

一、前言 在面试题中经常会有这么一道面试题,谈一下synchronized锁升级过程? 之前背了一些,很多文章也说了,到底怎么什么条件才会触发升级,一直不太明白。 实践是检验真理的唯一标准,今天就和大家一起实…

uniapp+vite+vue3开发跨平台app,运行到安卓模拟器调试方法

因为没有使用hbuilder开发uniapp,而是使用了vscode和vite来开发的,所以怎么将这个程序运行到安卓模拟器调试开发呢?其实方法很简单,使用android studio创建一个模拟器或者其他mumu模拟器,然后将项目使用hbuilder打开&a…

空间数据结构笔记:层次包围盒树(Bounding Volume Hierarchy Based On Tree)

1 总览 层次包围盒树(BVH树)是一棵多叉树,用来存储包围盒形状。它的根节点代表一个最大的包围盒,其多个子节点则代表多个子包围盒。为了统一化层次包围盒树的形状,它只能存储同一种包围盒形状 2 AABB包围盒树&#x…

Web安全:Vulfocus 靶场搭建.(漏洞集成平台)

Web安全:Vulfocus 靶场搭建.(漏洞集成平台) Vulfocus 是一个包含了多种漏洞靶场的镜像。每个靶场都有具体的漏洞环境和攻击点。Vulfocus 的靶场包括了 Web 安全漏洞、系统安全漏洞、网络安全漏洞、密码学漏洞等多种类型。通关这个靶场我们可以…

日出日落的气象意义:探索日出日落查询API在天气预测中的应用

引言 当谈论气象意义时,日出和日落都是天文现象中的重要组成部分。它们不仅是自然界美妙的展示,更对天气预测有着深远的影响。而如今,随着科技的发展,日出日落查询API在天气预测中的应用正在变得越来越重要。 日出和日落的气象意…

Q learning

Q learning Q Learning是强化学习算法中的一个经典算法。在一个决策过程中,我们不知道完整的计算模型,所以需要我们去不停的尝试。 算法流程 整体流程如下: Q-table 初始化 第一步是创建 Q-table,作为跟踪每个状态下的每个动作…

linux 系统下文本编辑常用的命令

一、是什么 Vim是从 vi 发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方 而…

苹果手机通话记录怎么恢复?这3个方法就足够!

通话记录是手机中的重要数据之一,它记录了用户与联系人的通话信息,包括通话时间、通话时长、通话号码等等。 有时候,我们可能不小心删除了通话记录,或者想找回之前的通话记录以此来回忆起一些事情。那么,苹果手机通话…

全自动内衣洗衣机什么牌子好?家用迷你洗衣机推荐

内衣洗衣机是一种专为内衣、丝绸和其他精细衣物设计的家电,它们能够温柔地清洁和保护这些特殊材质的衣物。代替了传统的手洗,能够大大节约我们不少的宝贵时间。但在市场上,有各种型号和功能的内衣洗衣机,如何挑选到一款适合自己的…