Answers:
警告:这些说明将需要一个使用
debugfs
。它们可能导致数据丢失。它们是针对原始问题量身定制的,对于此页面上的任何将来的访问者而言,可能准确也可能不准确。任何数据丢失都可能无法弥补甚至加剧
fsck
。
它可能是丢失的inode。请运行ls -li
以获取索引节点编号列表,然后您可以尝试转储引用的索引节点。例如,如果您的ls -li
外观如下所示:
rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li
total 58672
4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg
---SNIP---
那么inode号为4980758,如列表中第一列所示。
然后,您可以尝试转储索引节点。在做任何事情之前,请先阅读全文。
debugfs
以root身份启动:
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
并open /dev/sda1
为您的分区提供正确的块设备命令。
然后,给出命令以转储您先前获得编号的索引节点:
cat <4980758>
使用<
并>
围绕inode号。
如果读取一些随机文本,请关闭终端,然后再次打开。debugfs
再次运行并再次输入open
命令。
现在,您可以尝试删除该文件。这可能会导致严重的文件系统损坏。
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
请注意,即使事实证明该文件从未有过inode,也可以这样做。按上面显示的顺序一次尝试一个命令。退出debugfs并检查文件是否存在。如果不是,请重新开始,但遵循下一条说明。
debugfs
仅适用于ext2,ext3和ext4文件系统类型。
首先以root身份登录 sudo -s
您可以尝试rm -v <file>
查看详细输出,以查看尝试删除文件时发生了什么。请查看以下命令的选项。
如果失败,则可以像其他所有人一样使用force选项。您也可以尝试通过递归删除来删除整个目录:rm -rfv **full directory address here**
概要
rm [OPTION]... FILE...
描述
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
选项
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
查看您的屏幕截图,我看到您已将该组设置为root。我会尝试使用chown,看看是否能解决问题。
sudo chown -hR [username]:[username] /home/[username]
用您的用户名替换[username]。
您会遇到一些错误。
在文件名中不打印字符会引起诸如空格之类的问题。尝试RM的互动选项,然后说“Y”的文件要删除”
RM -i‘*泛*’注意使用* S的匹配任何(甚至非printint)字符。
可能是这个inode有已删除,但未删除目录条目,请尝试使用ls -i查看inode。
我在chrome下通过自定义网络基础EMR(电子病历)创建的文件存在相同的问题。sudo touch /forcefsck
然后重新启动为我工作,并芳香删除文件。接下页的帮助表格