当前位置:首页>弱电技术>系统运维>使用Linux ncdu命令查看磁盘使用情况

使用Linux ncdu命令查看磁盘使用情况

使用Linux ncdu命令查看磁盘使用情况

ncdu 命令提供了一种查看文件和 linux 系统上正在使用的磁盘空间的便捷方法,但文件大小一开始可能会显得有点奇怪。

ncdu命令提供了一种快速且非常易于使用的方法来查看 Linux 系统上的磁盘空间使用情况。它允许您浏览目录和文件,并查看哪些文件内容占用了最多的磁盘空间。如果您从未使用过此命令,则可能必须先安装它,然后才能利用它通过以下命令之一提供的见解:

$ sudo dnf install ncdu
$ sudo apt install ncdu

名称“ncdu”代表“NCurses 磁盘使用情况”。它使用ncurses接口来提供磁盘使用信息。您可能知道,“咒骂”与粗言秽语无关。相反,当与 Linux 相关时,“curses”是一个与“光标”相关的术语——屏幕上的小标记,指示您当前正在工作的位置。Ncurses 是一个终端控制库,适合构建文本用户界面。

使用 ncdu

要在命令行上启动ncdu ,只需键入“ncdu”。一旦运行一系列命令来快速收集所需的文件大小数据以生成列表,您将看到如下所示的显示。

ncdu 1.17 ~ Use the arrow keys to navigate, press ? for help
--- /home/shs ----------------------------------------------------------------
   61.3 GiB [###########] /fampix
    5.1 GiB [           ] /pix
    1.5 GiB [           ] /.cache
  483.1 MiB [           ] /.local
  311.3 MiB [           ] /videos
  152.9 MiB [           ] /nextjs
   85.3 MiB [           ] /.mozilla
   78.2 MiB [           ] /homebrew
   59.4 MiB [           ] /Desktop

您可以使用向下箭头和向上箭头键在列表中上下导航。如果您在代表目录的行上按 Enter 键,您将进入该目录。稍后,您可以按向左箭头键返回到之前的目录。

ncdu命令将按大小顺序列出当前文件系统位置中的文件和目录。但是,它根据基于二进制的编号系统显示文件大小,文件大小为 5.1 GiB、10.2 MiB 和 23.9 KiB。下面的第二部分将这些测量值与基于 10 次方的数字(我们的正常编号系统)进行比较。这些太字节 (TiB)、吉比字节 (GiB)、兆比字节 (MiB) 和千比字节 (KiB) 数字均基于 2 的幂。它们的大小接近太字节、千兆字节、兆字节和千字节,但都大得多。1 kibibyte 等于 1,024 字节 – 大于 1,000 字节的 kibibyte。1 GB 等于 1,073,741,824 字节,比 1 GB 的 1,000,000,000 大很多。

其他选项

ncdu工具提供了许多附加选项。例如,您可以通过按“n”切换到按名称列出文件,并且可以通过按“d”并响应确认请求来删除文件。您可以通过移至列表中的文件或目录名称并按“i”来获取有关文件或目录的更多信息。您可以通过按“a”在查看文件大小和磁盘使用情况之间切换。将从可能较大的磁盘使用大小开始显示。显示的大小通常会有所不同,因为磁盘使用情况会计算最后一个块的完整大小,即使文件没有完全使用它。

如果使用-e选项启动ncdu,则可以键入“m”在普通视图和向显示中添加文件更新日期和时间之间切换。

检查命令的手册页以获取其他选项。

了解文件大小

那么,两组文件大小(在命令行上使用ls -l时看到的文件大小和使用ncdu时看到的文件大小)之间有什么区别?ncdu使用的数字都是基于 2 的幂(实际上是 1024 的所有幂)。1 GB 定义为 1000³ (1,000 x 1,000 x 1,000),1 GiB 定义为 1024³ (1,024 x 1,024 x 1,024)。

下面的列表显示了所有这些数字的比较情况。

1 TB 等于 1000 4 ,其中 1 TiB 等于 1024 4或(1,000,000,000,000 与 1,099,511,627,776)
1 GB 为 1000 3,其中 GiB 为 1024 3(1,000,000,000 与 1,073,741,824)
1 MB 为 1000 2,其中 MiB 为 1024 2(1,000,000 与 1,048,576)
1 KB 为 1000,KiB 为 1024(1,000 与 1,024)
这里有一个计算可以让尺寸差异一目了然。它表明 1 GB 仅为 1 GiB 的 93% 左右。

$ echo "scale=2; 1000000000 / 1073741824" | bc
.93

在上面的计算中,我们将 1 GB(1,000,000,000 字节)除以 1 GiB(1,073,741,824 字节)。这表明 1 GB 等于 0.93 GiB。但是,它通过“scale”参数将小数位数限制为 2。添加一些额外的小数位表明差异实际上更大:

$ echo "scale=5; 1000000000 / 1073741824" | bc
.93132

做数学题

下面的 for命令运行 1 KiB、1 MiB、1 GiB 和 1 TiB 的计算。

$ for n in 1 2 3 4
> do
>   echo "1024 ^ $n" | bc
> done
1024
1048576
1073741824
1099511627776

要生成带逗号的值列表以便更容易阅读,请使用如下脚本,该脚本利用 printf 命令:

#!/bin/bash

# generate list of powers of 1024
for num in 1 2 3 4
do
  echo "1024 ^ $num" | bc >> nums$$
done

# add commas to the results
n=0	
for num in `cat nums$$`
do
  ((n++))
  echo -n "1024^$n = "
  printf "%'d" $num
  echo
done

运行脚本将生成如下输出:

$ powers_of_1024 
1024^1 = 1,024 
1024^2 = 1,048,576 
1024^3 = 1,073,741,824 
1024^4 = 1,099,511,627,776

ncdu命令提供了一种查看文件和磁盘使用情况的便捷方法。只要您在使用ncdu查看文件时掌握这些数字的重要性,了解兆字节 (MiB) 和兆字节 (MB) 之间的差异以及基于 1024 次幂的其他文件大小应该不成问题命令。

本文由 @小喵 发布于弱电智能网 。

题图来自Unsplash,基于CC0协议

内容观点仅代表作者本人,弱电智能网平台仅提供信息存储空间服务。

如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章名称:《使用Linux ncdu命令查看磁盘使用情况》

文章链接:https://www.ruodian360.com/tech/sytemops/49907.html

添加微信ydian188免费入群,记得备注“弱电智能网”。

给TA打赏
共{{data.count}}人
人已打赏
系统运维

在 Linux 上为用户分配 sudo 权限

2023-9-1 22:58:24

系统运维

如何使用Traceroute命令?

2023-9-2 1:57:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索