hum*_*ace 26 slash ext4 debugfs
玩 e2fsprogs debugfs
,由于更改/意外,filen/ame
创建了一个名为的文件。显然,正斜杠字符/
用作路径名中的特殊分隔符。
仍在使用debugfs
我想删除名为 的文件filen/ame
,但我没有成功,因为该/
字符没有被解释为文件名的一部分?
debugfs 是否提供删除包含斜杠的文件的方法?如果是这样怎么办?
我用了:
cd /tmp
echo "content" > contentfile
dd if=/dev/zero of=/tmp/ext4fs bs=1M count=50
mkfs.ext4 /tmp/ext4fs
debugfs -w -R "write /tmp/contentfile filen/ame" /tmp/ext4fs
debugfs -w -R "ls" /tmp/ext4fs
Run Code Online (Sandbox Code Playgroud)
输出:
debugfs 1.43.4 (31-Jan-2017)
2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen/ame
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法来删除filen/ame
文件:
debugfs 1.43.4 (31-Jan-2017)
2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen/ame
Run Code Online (Sandbox Code Playgroud)
但这不起作用,只会产生:
debugfs 1.43.4 (31-Jan-2017)
rm: File not found by ext2_lookup while trying to resolve filename
Run Code Online (Sandbox Code Playgroud)
除了手动更改目录节点的内容之外,还有没有办法使用debugfs
?
meu*_*euh 33
如果您想要修复并且不仅仅是尝试debugfs
,您可以让fsck为您完成这项工作。将文件系统标记为脏并运行fsck -y
以更改文件名:
$ debugfs -w -R "dirty" /tmp/ext4fs
$ fsck -y /tmp/ext4fs
...
/tmp/ext4fs was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Entry 'filen/ame' in / (2) has illegal characters in its name.
Fix? yes
...
$ debugfs -w -R "ls" /tmp/ext4fs
2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen.ame
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2244 次 |
最近记录: |