硬链接数与匹配文件不一致

硬链接数与匹配文件不一致

使用以下命令在我的便携式硬盘上搜索具有硬链接的文件:

$ find . ! -type d -links +1 -ls | sort -n

我得到以下形式的输出(有数百个其他文件)

9336 244476 -rw-------   2 rishi    rishi    250342060 Feb 18 15:48 ./unigram_mvt_0.001_9_4_0.001

这表明 inode 为 9336 的文件有 2 个硬链接。

尝试使用

$ find /media/rishi/ -xdev -inum 9336

我得到如下所示的输出

/media/rishi/mvp/unigram_mvt_0.001_9_4_0.001

这表明只有 inode 为 9336 的文件

我自己没有创建硬链接。这些文件是通过我电脑上的模拟在本地磁盘上生成的。我可能复制了文件进行备份,这可能会创建这些链接。这些文件目前在我的便携式硬盘上

由于我近期不需要这些数据,所以当我遇到硬链接警告并尝试查看它时,我正在使用 gzip 对其进行压缩。

硬链接计数是否不正确,或者我无法找到其他硬链接文件?

编辑:

文件系统是 fuseblk

尝试过的事情:

  1. 使用sudo进行搜索。结果:与之前相同
  2. 使用“gzip -f”压缩文件。结果:磁盘上的可用空间增加了,所以我猜没有其他文件被硬链接
  3. 使用 find -name 检查它是否抛出 Hardlink count is error 警告。结果:无警告
  4. 检查文件系统。我认为问题就在这里,但我无法解决

以下是磁盘检查的输出:

$ sudo ntfsck /dev/sdb1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 199424 MFT records.
Unsupported cases found.

$ sudo ntfsfix /dev/sdb1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.

即使运行后ntfsfix,我仍然收到同样的错误ntfsck

答案1

问题出在文件系统上。感谢@terdon 的提示。

显然,Linux 对 NTFS 的支持是有限的,因为即使运行 ntfsfix 后错误仍然存​​在。

从提升的 CMD 提示符运行chkdsk /F /R /X F:其中 F:是驱动器号,更正了索引条目并为我解决了这个问题。

相关内容