Linux 磁盘命令工具 比df更好用

2023-11-19

对于分析磁盘使用情况,有两个非常好用的命令:du 和 df 。简单来说,这两个命令的作用是这样的:

  • du 命令:它是英文单词 disk usage 的简写,主要用于查看文件与目录占用多少磁盘空间;

  • df 命令:它是英文单词 disk free 的简写,主要用于查看磁盘被使用了多少空间、剩余多少空间,等等。

特别是你在磁盘爆满的情况下,这两个命令结合起来非常好用。

但是,这两个命令毕竟是分开的,要是能整合起来该多好,毕竟都是同类型的命令。

别说,还真有人把这两个命令整合起来,它就是:duf 命令!

duf 是一个用 Golang 编写的跨磁盘使用情况分手工具,它可以以表格(自适应)的形式输出磁盘使用情况,而且还可以根据需求对结果进行排序,使用非常方便!

1. duf命令的安装

以 Ubuntu 为例,我们不能直接使用 apt-get 命令安装,需要手动安装。

首先,从 GitHub 上下载 duf 命令的安装包:

$ wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.deb

然后,再使用 dpkg 命令安装:

$ dpkg -i duf_0.8.1_linux_amd64.deb

macOS 平台安装:

$ brew install duf
或者
$ sudo port selfupdate && sudo port install duf

Windows 平台安装:

choco install duf
或者
scoop install duf

2. duf命令的使用

最基本的使用,就是直接 duf 三个字母,不加任何参数,非常简单。这种用法会输出所有本地设备、已挂载的任何云存储设备以及任何其他特殊设备(包括临时存储位置等)的详细信息。

 

$ duf

可以看到,它是以彩色及可视化符号形式显示磁盘使用情况(在 Ubuntu 自带终端工具下),非常直观,也非常养眼。

这里信息毕竟有点多,如果你只想查看本地设备磁盘使用信息,可以加上 --only local 选项:

 

$ duf --only local

当我们磁盘爆满的时候,我们肯定比较关心哪些磁盘用量比较大,所以可以根据磁盘使用量进行排序,这时需要加上 --sort used 选项:

同理,还可以使用 --sort size 对磁盘容量进行排序。

如果你想知道所有文件系统的使用情况(包括不可见文件系统),可以加上 --all 选项:

 

$ duf --all

(结果有点长,就不截图了)

你也可以直接针对某个文件、设备或者挂载点进行查看:

 

$ duf /home

如果你想获得 JSON 格式的输出,还可以加上 --json 选项:

 

$ duf --json

除了查看块使用情况,我们还可以通过 --inodes 选项查看 inodes 用量:

3. 小结

duf 命令是 du 和 df 的整合版,可以查看更多信息,同时提供自适应表格及可视化视图,使用体验比原生 df 或 du 命令更佳。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 磁盘命令工具 比df更好用 的相关文章

  • 终止 ssh 会话会终止正在运行的进程

    我正在使用 ssh 连接到我的 ubuntu 服务器 我使用命令启动编码程序 然而 似乎当我的 ssh 会话关闭时 因为我在进入睡眠状态的笔记本电脑上启动它 有没有办法避免这种情况 当然 阻止我的笔记本电脑休眠并不是永久的解决方案 运行你的
  • 查找当前打开的文件句柄数(不是 lsof )

    在 NIX系统上 有没有办法找出当前正在运行的进程中有多少个打开的文件句柄 我正在从正在运行的进程中寻找在 C 中使用的 API 或公式 在某些系统上 见下文 您可以在 proc pid fd 中对它们进行计数 如果不属于其中之一 请参阅下
  • Bash:替换管道标准输入中的子字符串

    我尝试用新的子字符串替换标准输入中的某个子字符串 在读取几个文件后 我必须从管道获取标准输入cat 然后我想将更改后的字符串向前推到管道中 这是我尝试做的 cat file1 file2 echo cat path to file path
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 了解 IServiceProvider 和 QueryService

    谁能解释一下背后的想法IServiceProvider and QueryService 我不明白服务是什么以及它与其他类型的对象或接口有何不同 我看到的解释很少 主要是一些评论here https learn microsoft com
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • Tomcat 中的 403 访问被拒绝

    我有以下内容tomcat users xml
  • 第一次如何配置postgresql?

    我刚刚安装了 postgresql 并在安装过程中指定了密码 x 当我尝试做的时候createdb并指定我收到消息的任何密码 createdb 无法连接到数据库 postgres 致命 用户密码身份验证失败 同样适用于createuser
  • 对符号“pthread_key_delete@@GLIBC_2.2.5”的未定义引用

    我正在尝试在 Ubuntu 中创建一个文件 当我创建时 我不断收到此错误 usr bin ld gtest 1 7 0 libgtest a gtest all cc o undefined reference to symbol pthr
  • AMD OpenCL 在 Linux 上工作所需的最小必要文件子集是什么?

    我已经使用 buildroot 构建了 Linux 内核 我已将开源 amdgpu 驱动程序和所需的固件合并到其中 驱动程序很好 检测 GPU 模式设置运行良好 调整 小文本 的分辨率 启动后会显示命令行 现在我需要运行 OpenCL 程序
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 导出多个 LD_LIBRARY_PATH 的正确方法

    对于linux的使用 我是一个新手 根据有关我的项目的指南 我必须多次导出 LD LIBRARY PATH 并且我不确定是否不覆盖它们 Cupti Tensorflow CUDAit export LD LIBRARY PATH LD LI
  • 使用inotify监控文件

    我正在使用 inotify 来监视本地文件 例如使用 root temp inotify add watch fd root temp mask 删除该文件后 程序将被阻止read fd buf bufSize 功能 即使我创建一个新的 r
  • 什么是海湾合作委员会 4.1.3?

    根据 gcc 发布页面 http www gnu org software gcc releases html http www gnu org software gcc releases html 版本4 1 3不存在 不过 我在很多地方
  • tcmalloc/jemalloc 和内存池之间有什么区别(以及选择的理由)?

    tcmalloc jemalloc是改进的内存分配器 还引入了内存池以更好地分配内存 那么它们之间有什么区别以及在我的应用中如何选择它们呢 这取决于您的程序的要求 如果您的程序有更多的动态内存分配 那么您 需要从可用的分配器中选择一个内存分
  • 如何在 PHP 中执行 shell 脚本?

    我有一个脚本 var www myscript sh它创建文件夹并运行命令svn update对于我的项目 我需要通过在浏览器中的 PHP 文件中调用它来执行此脚本 即本地主机 test php 我尝试使用函数shell exec and
  • 如何从C程序执行C程序的shell中更改环境变量?

    我想改变的值PATHC 程序中的变量 然后在运行该程序的 shell 中查看更改后的值 做这样的事情 include
  • 如何编写bash脚本来设置全局环境变量?

    最近写了一个设置环境变量的脚本 看一下 bin bash echo Pass a path read path echo path defaultPath home whoami Desktop if n path then export
  • 未知错误:SyntaxError:ng 命令上出现意外的标记“导出”

    我正在尝试学习 Angular我已按照此处的步骤操作 https angular io guide setup local https angular io guide setup local在 Ubuntu 18 04 5 LTS 上进行
  • 如何使用 sed 交换两行?

    有谁知道如何更换line a with line b and line b with line a使用 sed 编辑器在文本文件中 我可以看到如何用保留空间中的一行替换模式空间中的一行 即 Paco x or Paco g 但是如果我想采取

随机推荐

  • phpstorm点设置没反应怎么解决?

    先把汉化包拿出来 再点设置就可以用了 然后设置完字体后再添加汉化包
  • [区块链安全-CTF Protocol]区块链智能合约安全实战(已完结)

    区块链安全 CTF Protocol 区块链智能合约安全实战 前言 1 The Lost Kitty 2 RootMe 3 Trickster 4 The Golden Ticket 5 Smart Horrocrux 6 Gas Valv
  • C语言实现三子棋(不是人工智障哈哈哈)

    目前为止学了分支 循环 数组和函数 现在利用这些知识来写一个三子棋小游戏来巩固加深所学哈哈哈 目录 1 测试结果 2 整体思路 3 代码模块解读 1 打印菜单 2 初始化棋盘 3 打印棋盘 4 玩家下棋 5 电脑下棋 6 判断输赢 4 代码
  • ps aux 和ps -aux和 ps -ef的选择

    Linux中的ps命令是Process Status的缩写 ps命令用来列出系统中当前运行的那些进程 ps命令列出的是当前那些进程的快照 就是执行ps命令的那个时刻的那些进程 如果想要动态的显示进程信息 就可以使用top命令 要对进程进行监
  • hive-字符串查找函数 instr和locate

    找不到都是返回0 字符串查找函数 instr 语法 instr string str string substr 返回值 int 说明 返回字符串 substr 在 str 中首次出现的位置 举例 hive gt select instr
  • 国内k8s集群部署的几种方式

    前言 总所周知 由于某种原因 通过官方的方式在国内是无法顺利部署k8s集群的 这里记录下在国内部署的几种方式 部署方式 目前我所了解有以下几种方式 使用kubeadmin通过离线镜像的方式 网上教程和镜像包挺多的 通过厂商集成的方式如 ra
  • QT-----ChartView控件的使用

    chartview可用于制作折线图 饼状图 条行 柱状 直方图系等来体现数据数据变化起浮 以下案例以折线图举例 1 使用ChartView控件 注意点 1 要在pro文件中加入 QT widgets 2 主界面应当使用QApplicatio
  • Java EE学习路线

    Java EE 是在 Java SE 的基础上构建的 它提供Web服务 组件模型 管理和通信API 可以用来实现企业级的面向服务体系结构 service oriented architecture SOA 和 Web 3 0应用程序 目前j
  • 将android项目生成library

    1 先将自己的项目改为library 在app下的build gradle下修改application为library 2 再将applicationId注销 3 点击 sync 4 进入项目文件夹 保留app文件夹 5 进入app文件目录
  • 深度学习实战:利用Xception算法和PaddlePaddle进行鸟类图像识别

    目录 1 引言 2 Xception算法介绍 3 鸟类识别问题介绍 4 数据集 5 使用PaddlePaddle实现Xception
  • Oracle创建新用户以及导入数据表dmp文件

    创建用户名之前 需要以用户管理员身份登陆数据库 1 在创建用户之前 先要创建表空间 其格式为 格式 create tablespace 表间名 datafile 数据文件名 size 表空间大小 例如 SQL gt create table
  • WEB前端网页设计-Bootstrap4 导航栏

    目录 Bootstrap4 导航栏 垂直导航栏 居中对齐的导航栏 不同颜色导航栏 品牌 Logo 折叠导航栏 导航栏使用下拉菜单 导航栏的表单与按钮 导航栏文本 固定导航栏 Bootstrap4 导航栏 导航栏一般放在页面的顶部 我们可以使
  • python中最常用的三大数据提取方法(1)----jsonpath

    1 jsonpath是python最常用提取数据的方法之一 jsonpath用于对json格式的数据进行提取 可以理解为对字典中value值的提取 用来解析多层嵌套的json数据 JsonPath 是一种信息抽取类库 是从JSON文档中抽取
  • 网络三定律:摩尔定律、吉尔德定律和迈特卡夫定律

    网络三定律 摩尔定律 吉尔德定律和迈特卡夫定律 拓展 1 网络论坛三大定律 2 影响世界的三大定律
  • 复杂交通环境感知

    作者 黄浴 编辑 计算机视觉深度学习和自动驾驶 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 后台回复 领域综述 获取自动驾驶感知定位融合近80篇综述论文 近年来 计算机
  • TIA博途中如何为IO设备分配设备名称

    TIA博途中如何为IO设备分配设备名称 Robot PLC 自动化学院 CSDN博客
  • React 引入ant-design开发指南

    使用create react app搭建react开发环 创建react脚手架 create react app react antd demo 进入react antd demo cd react antd demo 运行react an
  • MYSQL中索引与主键的区别

    MYSQL中索引与主键的区别 索引 索引好比是一本书的目录 可以快速的通过页码找到你需要的那一页 惟一地标识一行 主键 做为数据库表唯一行标识 作为一个可以被外键有效引用的对象 索引是一种特殊的文件 InnoDB数据表上的索引是表空间的一个
  • Unity中的重载和重写

    Unity中的重载和重写 一 重载 二 重写 三 重载和重写的区别 一 重载 重载 两个必须一个可以 参数名必须相同 参数列表必须不同 返回值类型可以不同 代码示例 using System Collections using System
  • Linux 磁盘命令工具 比df更好用

    对于分析磁盘使用情况 有两个非常好用的命令 du 和 df 简单来说 这两个命令的作用是这样的 du 命令 它是英文单词 disk usage 的简写 主要用于查看文件与目录占用多少磁盘空间 df 命令 它是英文单词 disk free 的