Linux 18.3 (基于Ubuntu Xenial)
这是一台带有W10的双引导机器,这可能非常重要。
我想删除一些业余时间的工作。使用rm -rf top-level-dir不起作用:我收到一条意外的消息,上面写着“目录不为空”。
钻到违规目录,我得到:
mike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/mike/.local/share/gvfs-metadata $ ls -lsa
total 13
// TOTAL THIRTEEN??? WHY IS ONLY ONE FILE LISTED?
8 drwxrwxrwx 1 root root 8192 Oct 11 23:35 .
4 drwxrwxrwx 1 root root 4096 Oct 11 23:35 ..
1 -rwxrwxrwx 0 root root 200 May 27 2018 computer:
// OH DEAR, THE FILENAME ENDS WITH A COLON: LOOKS OMINOUS
// HERE I'M TRYING TO REMOVE THIS ONE FILE
mike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/mike/.local/share/gvfs-metadata $ rm computer:
rm: cannot remove 'computer:': No such file or directory
mike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/mike/.local/share/gvfs-metadata $ cat computer\:
�meta&op�� [
�&0Khnemo-list-view-sort-columnnemo-list-view-sort-reversednemo-list-view-zoom-level���[
�'/���1falsenamemike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/gvfs-metadata $ e
// HERE I'M TRYING TO MV IT TO A MORE SENSIBLE NAME (NOT ENDING IN COLON)
mike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/mike/.local/share/gvfs-metadata $ mv computer: spot
mv: cannot stat 'computer:': Input/output error我切换到根:
mike@M17A /media/Shared/backintime/backintime/M17A/root/1/20180731-120001-297/backup/home/mike/.local/share/gvfs-metadata $ su
Password:
M17A gvfs-metadata # ls -lsa
ls: cannot access 'computer:': Input/output error
total 12
8 drwxrwxrwx 1 root root 8192 Oct 11 23:44 .
4 drwxrwxrwx 1 root root 4096 Oct 11 23:35 ..
? -????????? ? ? ? ? ? computer:
// WELL I APPEAR TO HAVE DONE SOMETHING TO THIS "FILE" ... BUT WHAT?
M17A gvfs-metadata # rm computer
rm: cannot remove 'computer': No such file or directory
M17A gvfs-metadata # rm computer:
rm: cannot remove 'computer:': Input/output error
M17A gvfs-metadata # mv computer: spot
mv: cannot stat 'computer:': Input/output error发布于 2019-10-11 23:10:52
这是个老办法,这意味着只有像我这样的老人才能记住它。
使用ls -i查找文件的inode。假设是1611645009。然后在您提到的目录中执行命令find $NAME_OF_DIRECTORY -inum 1611645009 -exec /bin/rm {} \;
如果不是那样的话,我也会感到困惑。
https://unix.stackexchange.com/questions/546412
复制相似问题