在 Linux 环境下,du 命令大家都不陌生,它可以对 Linux 系统中的文件和目录空间使用情况进行计算和汇总,本篇文章重点为大家分享一下和du命令相同作用的工具,有需要的小伙伴可以参考一下。
创新互联公司服务项目包括善右网站建设、善右网站制作、善右网页制作以及善右网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,善右网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到善右省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
ncdu 是一个使用 C 语言和 ncurses 接口开发的简易快速的磁盘用量分析器,可以用来查看目录或文件在本地或远程系统上占用磁盘空间的情况。
# sudo apt-get install ncdu
如果不使用任何参数选项,可直接在需要分析的目录下执行命令ncdu,等待 ncdu 扫描完毕后,此时就会弹出一个交互式的终端界面。
可以清晰的看出每个目录的大小,使用方向键或Enter键可进入或退出所选的具体目录。
当发现某个目录或文件占用空间较大时,可根据上述使用键盘情况找到那个文件,切合实际情况确认如果可以删除的话,无需退出 ncdu,选中要删除的目录或文件后,按d键即可删除,若删除完毕,按q键即可退出。
dust(du + rust = dust)是用 rust 编写的一个免费、开源、更直观的 du 工具,也是一个提供文件类型和元数据的工具。
du-dust_0.7.1_amd64.deb 是 dust GitHub 存储库中的最新版本,从 dust 的发布页面下载.deb文件,可执行如下命令进行下载和安装。
# wget https://github.com/bootandy/dust/releases/du-dust_0.7.1_amd64.deb
# dpkg -i du-dust_0.7.1_amd64.deb
1.2.
对于其他系统,可以参考 GitHub 上 dust 的其他操作系统安装方式。
dust [FLAGS] [OPTIONS] [--] [inputs]...
dust 使用:
查看当前目录及所有子目录下的文件大小,可以执行以下命令:
# dust
img
-p参数可以按照从当前目录起始的完整目录进行显示
# dust -p
img
如果只查看多个目录的大小,只需要同时列出这些目录,并用空格分隔开即可:
# dust /bin /etc
img
显示文件的长度:
# dust -s
img
只显示 10 个目录:
# dust -n 10
img
duu 是 Directory Usage Utility(目录使用实用程序)的缩写,基于 Python 语言编写的查看指定目录大小的工具,具有跨平台特性,可以在 Windows、Linux 和 MacOS 操作系统上使用,它是以千字节为单位显示目录磁盘使用情况。
安装 duu 工具之前需要先确保系统有没有安装 Python 3 环境,没有的话需要安装一下,有的话忽略即可,不过目前在大多数 Linux 发行版中默认软件仓库都是有 Python 3 的。
v2.22.tar.gz 是 duu GitHub 存储库中最新版本的源码包,从 duu 的发布页面下载.tar.gz文件,可执行如下命令进行下载和安装。
# wget https://github.com/jftuga/duu/archive/refs/tags/v2.22.tar.gz
# tar -zxvf v2.22.tar.gz
解压完毕后,进入 duu-2.22 文件夹,查看duu.py文件是否存在。
# ls | grep duu
duu-2.22
# cd duu-2.22/
# ls
duu.py LICENSE README.md
duu.py [-h] [-b] [-e] [-q] [-s STATUS] [-n] [-N] [-f] [-S] [-H] [-T THREADS] [-x EXCLUDE] [-X REGEXPR] [-o OUTPUT] [dname]
查看当前目录的大小,只需要执行如下命令:
# python3 duu.py
img
如上图,可以看出 duu 会显示当前目录下文件和目录的数量并按照 Bytes、KB、MB 为单位显示这些文件的总大小,以及每个文件的大小。
查看某个目录的大小,只需要把目录的绝对路径加上即可:
# python3 duu.py /etc/init.d/
img
diskus 也是基于 Rust 编写的一个小型、快速、可替代du -sh命令的开源工具,diskus 会计算当前目录下所有文件的大小,执行命令diskus效果和du -sh、du -sh –bytes是一样的。
根据 diskus GitHub 存储库的开发者表示,在他的 8 核笔记本电脑上,以 hyperfine 命令行基准测试工具将中等大小的文件夹(15GB、100k 目录、400k 文件)进行测试,对于较小的文件夹测试实际上是没有意义的,因为所有程序都会在合理的时间内完成,而不会中断您的工作流程,从而得出的结论是:diskus 比 du 冷磁盘缓存快十倍左右,热磁盘缓存快三倍多。
以下是冷磁盘缓存和热磁盘缓存基于diskus、du -sh、sn p -d0 -j8和dust -d0命令测试出的结果对比。
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
diskus | 1.746 ± 0.017 | 1.728 | 1.770 | 1.00 |
du -sh | 17.776 ± 0.549 | 17.139 | 18.413 | 10.18 |
sn p -d0 -j8 | 18.094 ± 0.566 | 17.482 | 18.579 | 10.36 |
dust -d0 | 21.357 ± 0.328 | 20.974 | 21.759 | 12.23 |
显示详细信息
Command | Mean [s] | Min [s] | Max [s] | Relative |
---|---|---|---|---|
diskus | 500.3 ± 17.3 | 472.9 | 530.6 | 1.00 |
du -sh | 1098.3 ± 10.0 | 1087.8 | 1122.4 | 2.20 |
sn p -d0 -j8 | 1122.2 ± 18.2 | 1107.3 | 1170.1 | 2.24 |
dust -d0 | 3532.1 ± 26.4 | 3490.0 | 3563.1 | 7.06 |
显示详细信息
diskus_0.7.0_amd64.deb 是 diskus GitHub 存储库中的最新版本,从 diskus 的发布页面下载.deb文件,可执行如下命令进行下载和安装。
# wget https://github.com/sharkdp/diskus/releases/download/v0.7.0/diskus_0.7.0_amd64.deb
# dpkg -i diskus_0.7.0_amd64.deb
1.2.
对于其他系统,可以参考 GitHub 上 diskus 的其他操作系统安装方式进行安装。
diskus [OPTIONS] [path]...
使用du -sh 路径的命令可以查看某个目录的大小,这里的-s参数表示显示总大小。
# du -sh /etc
16M /etc
如果使用diskus可直接显示当前目录的总大小。
# diskus
如果你想查看某个目录的大小,可以在diskus后面加绝对路径。
# diskus /etc
16.66 MB (16,662,528 bytes)
tin-summer(sn)是基于 Rust 语言编写的开源工具,也是du命令的替代品,可以用于查找占用磁盘空间的文件,以更好的输出、更清晰的命令和默认值,而且由于多线程,它甚至可以在计算大目录下的大小时会比 du 命令运行得更快,tin-summer 与 du 命令之间的区别是前者读取文件的大小,而后者则读取磁盘使用情况。
此外,tin-summer 的开发者也针对 du 和 sn 做了鲜明的使用理由对比。
同时,也做了基准测试,从而来对比 sn 和 du 执行不同目录大小的时间结果。
Directory Size | Tool | Command | Time |
---|---|---|---|
600MB | sn | sn p | 60.74 ms |
600MB | sn | sn d | 99.92 ms |
600MB | du | du -hacd2 | 88.28 ms |
4GB | sn | sn p | 185.2 ms |
4GB | sn | sn d | 271.9 ms |
4GB | du | du -hacd2 | 195.5 ms |
700MB | sn | sn p | 91.05 ms |
700MB | sn | sn d | 176.3 ms |
700MB | du | du -hacd2 | 153.8 ms |
7MB | sn | sn p | 19.48 ms |
7MB | sn | sn d | 12.72 ms |
7MB | du | du -hacd2 | 10.13 ms |
显示详细信息
# curl -LSfs https://japaric.github.io/trust/install.sh | sh -s -- --git vmchale/tin-summer
也可以使用cargo软件包管理器安装tin-summer,前提是需要在系统上安装 Rust。如果 Rust 已安装好的话,可执行如下命令:
# cargo install tin-summer
如果上述两种安装方式都尚未成功安装 tin-summer,还可以通过 tin-summer GitHub 存储库的发布区下载最新版本的二进制文件进行手动安装。
查看当前目录文件大小,无需添加任何参数,tin-summer 也是默认以易读的格式向用户进行输出,可执行如下命令:
# sn f
查看某个特定目录的文件大小,可执行如下命令:
# sn f
在当前目录中搜索包含构建工件的目录,可执行如下命令:
# sn ar
查找占用超过 200MB 磁盘空间的工件或包含工件的目录,可执行如下命令:
# sn ar -t200M
获取 $DIR 中 10 个最大目录的排序列表,可执行如下命令:
# sn sort $DIR -n12
sn 实际在操作大目录的时候速度比较快,在操作小目录的时候,速度会相对比较慢一些。
网站栏目:Linux中可替代du命令的工具
文章起源:http://www.shufengxianlan.com/qtweb/news43/172993.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联