如何在 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP