如何在 Linux 上释放 inode 使用量?


**inode**(也称为**索引节点**)是一种数据结构,用于描述文件系统对象,通常存储在文件系统目录中。

我们可以借助以下命令检查本地机器上存在的不同**inode**的大小:

df -

上述命令称为**df**命令,它是一个 Linux 实用程序命令,用于获取磁盘上可用空间的详细信息。

运行上述命令后,您可能会看到类似以下的输出:

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 377 377 0 100% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

在输出中我们可以注意到,一个驱动器(即**devfs**)已完全使用,在这种情况下,我们将无法向其中写入任何新内容。

现在我们希望释放该 inode 使用量,以便以后使用。

为此,我们可以创建一个 shell 脚本来执行此操作,或者可以运行以下命令:

首先,使用以下命令查找 inode 使用量大的根文件夹:

for d in /*; do echo $d; find $d |wc -l; done

上述命令需要一些时间,但它会打印 inode 使用量大的根文件夹。如果您已经知道 inode 使用量大的目录,则可以使用以下命令替换上述命令:

for d in /devfs; do echo $d; find $d |wc -l; done

现在您只需要删除 linux-headers 来释放一些空间。为此,只需运行以下命令:

sudo apt-get autoremove linux-headers-x.x

将**x.x**替换为先前版本的 linux-headers,然后您就完成了。

输出

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 277 277 0 74% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

另一种方法是使用以下命令,它可以帮助我们实现相同的结果。

只需在终端中键入以下命令:

sudo find . -xdev -type file | cut -d "/" -file 2 | sort | uniq -c | sort -n

输出

immukul@192 ~ % df -i
Filesystem 512-blocks Used Available Capacity iused ifree
/dev/disk1s5s1 236568496 44429928 45432792 50% 559993 1182282487
devfs 207 207 0 63% 652 0
/dev/disk1s4 236568496 6293880 45432792 13% 4 1182842476

更新于: 2021-07-29

3K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.