首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在调试器中的ext4文件系统上删除名为"filen/ame“的文件(带有斜杠)?

如何在调试器中的ext4文件系统上删除名为"filen/ame“的文件(带有斜杠)?
EN

Unix & Linux用户
提问于 2017-03-20 13:43:38
回答 2查看 2.5K关注 0票数 26

通过使用e2fsprogs debugfs,通过更改/意外,创建了一个名为filen/ame的文件。显然,正斜杠字符/作为路径名中的特殊分隔符。

我仍然使用debugfs来删除名为filen/ame的文件,但是没有成功,因为/字符没有被解释为文件名的一部分?

调试器是否提供了删除包含斜杠的文件的方法?如果是的话,怎么做?

我用:

代码语言:javascript
复制
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

其中产出:

代码语言:javascript
复制
debugfs 1.43.4 (31-Jan-2017)
 2  (12) .    2  (12) ..    11  (20) lost+found    12  (980) filen/ame

我尝试了以下方法来删除filen/ame文件:

代码语言:javascript
复制
debugfs -w -R "rm filen/ame" /tmp/ext4fs

但这是行不通的,只产生了:

代码语言:javascript
复制
debugfs 1.43.4 (31-Jan-2017)
rm: File not found by ext2_lookup while trying to resolve filename

除了手动更改目录节点的内容之外,是否有一种使用debugfs删除文件的方法?

EN

回答 2

Unix & Linux用户

发布于 2017-03-20 18:31:23

fsck上的聚合起作用;如果由于某种原因它不起作用,答案是ls -i1,其次是umount,然后是clri

参考文献:http://docstore.mik.ua/orelly/unix/upt/ch23_13.htm

我已经测试过这个方法了。

票数 3
EN

Unix & Linux用户

发布于 2017-03-23 03:02:06

如果将该文件移动到某个目录,则可以删除其中包含该文件的目录。

代码语言:javascript
复制
mkdir foo 
mv filen* foo
rm -rf foo
票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/352601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档