Назад | Перейти на главную страницу

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. Файл хранится в файловой системе lustre.
  2. Раньше файл был нормальным и был поврежден после недавнего внезапного отключения электроэнергии.
  3. Файл не фиксируется во время fsck.

Знак вопроса в выводе ls означает, что он не может stat() запись в каталоге.

Вы также можете увидеть их, если попытаетесь указать каталог, для которого у вас есть разрешение r (ead), но не x (поиск). Однако в этом случае он не будет сообщать об ошибке ввода-вывода.

В вашем случае мне кажется, что есть какое-то повреждение диска или файловой системы.

Попробуйте проверить dmesg или /var/log/messages Чтобы получить больше информации.