我正在尝试清理一个包含大量数据(超过 1 TB)的目录,其中许多文件都硬链接以节省空间。在某些情况下,这是我们保存构建的驱动器,并且每个构建中都有很多介质(几 GB),因此如果文件与之前的构建产品相同,我们会硬链接该文件。我注意到尝试删除这些目录的速度非常慢(每秒约 5 个项目)。
我猜想删除过程之所以耗时这么长是因为每个文件都存在大量的硬链接。我能做些什么来加快这个过程,还是只能以每秒 5 次的速度删除数百万个项目?
答案1
find . -inum [inode-number] -exec rm -i {} \;
此命令将找到您可以删除的 inode 编号,从而释放引用的数据。
我已经给出了交互式标志,以便您可以测试它。
哦,要获取 inode 编号,您可以执行以下命令,ls -il
该命令将同时返回名称和 inode 编号。
如果您可以直接通过 inode 删除文件,那将是一个改进,但我不知道如何做到这一点。