我有一个顽固文件夹,一定是有人意外创建的,并且一直存在。我可以使用以下命令查看它:
# find /var/www/html -maxdepth 1 -type d
这给了我:
/var/www/html
/var/www/html/files
/var/www/html/.?
不幸的是,有一个问号不是实际的字符?
,它似乎只是表示该字符没有正确的字形和/或翻译。所以类似的事情rmdir
是不可能的。我的系统与许多现代 Ubuntu 系统一样,将 UTF-8 作为默认语言环境,但不可否认的是,有问题的文件夹可能源自 RHEL 或 CentOS 框(tar
已安装并解压)。
# env|grep LANG
LANG=en_US.UTF-8
当我尝试cd .\?
(如前所述,实际上不是?
)时,bash 自动将其更正为.
,并且由于某种原因最终变成了/var/www/html/.
。现在,如果我不能有效地“命名”这个文件夹,我就无法以任何方式访问它。我怎样才能摆脱它而不危及整个系统?
现在我detox
已经安装了,但根据它的文档,它似乎只对文件起作用,而不是文件夹,此外它仍然要求我能够以某种方式命名对象才能对其执行某些操作。
答案1
一些建议,首先尝试使用制表符补全
cd /var/www
rm-rf./.TabTab
或者使用查找
cd /var/www
find -maxdepth 1 -type d -exec rm -ri '{}' \;
如果失败,请尝试运行 fsck(从活动 CD)。
发布您收到的任何错误消息或异常行为
答案2
rm -i *
提示rm
确认任何文件。只需按即可确认n
除该文件之外的所有文件,然后y
按 即可确认要删除的文件。
您还可以猜测 3 个字符的字符数量rm -i .???
(这样您就不会冒险按y
太多次)。
答案3
如果你只有这两个目录
/var/www/html/files
/var/www/html/.?
下/var/www/html/
,你可以删除一个没有files
用命令命名的
find . -mindepth 1 -maxdepth 1 ! -name files -exec rm -rf {} \;