CentOS:删除文件时出错:“rm:无法删除‘.viminfo’:没有此文件或目录”

CentOS:删除文件时出错:“rm:无法删除‘.viminfo’:没有此文件或目录”

我在主目录中有一个名为的文件.viminfo。我可以通过以下方式查看该文件ls -lh

$ ls lh
...
drwxr-xr-x.  2 mt1022  1091 4.0K Oct 12  2016 .vim
-??????????  ? ?         ?        ?            ? .viminfo
-rw-r--r--.  1 mt1022  1091  305 Nov  9  2013 .vimrc
...

但是我无法删除这个文件:

$ rm .viminfo
rm: cannot remove '.viminfo': No such file or directory

我在某处看到过,可以通过 inode 号删除此类损坏的文件。但是,当我运行时,ls -i我得到了以下文件输出:

145563901919042729 .cpan            144115239380596661 .vim     
145563901918974272 .cpanm                            ? .viminfo 
145564136279985406 .dask            144115238810163333 .vimrc  

我也尝试过sudo chmod g+x .viminfo(回答一个非常类似帖子在这个网站上)。 我仍然收到no such file or directory错误。

我的问题是如何删除这种损坏的文件?


可能有用的其他信息:

  1. 该文件存储在光泽文件系统上。
  2. 该文件之前是正常的,但在最近突然断电后变得损坏。
  3. 该文件在期间未修复fsck

答案1

ls 输出中的问号表示它无法找到stat()目录条目。

如果您尝试列出您有 r(读)权限但没有 x(搜索)权限的目录,也可以看到这些内容。但是,在这种情况下,它不会报告 I/O 错误。

就您而言,我认为好像存在某些磁盘或文件系统损坏。

尝试检查dmesg/var/log/messages获取更多信息。

相关内容