无法删除文件,因为它不存在 - 即使我说“rm *” - 并且 chmod 有效

无法删除文件,因为它不存在 - 即使我说“rm *” - 并且 chmod 有效

我有一个文件 cover.jpg,我想删除它。

如果我运行rm cover.jpg,我会收到错误“rm:无法删除‘cover.jpg’:没有此文件或目录。”

如果我运行rm *.jpg,我会得到同样的错误。

如果我输入rm c并按制表符完成,我会得到同样的错误。

如果我运行ls -1b,文件的名称将显示为 cover.jpg,完全正常。

如果我运行chmod 555 cover.jpg,它运行正常。

find -name cover.jpg找到该文件,但find -name cover.jpg -exec rm {} \;出现同样的错误。

我对其所在目录拥有完全权限,并且可以愉快地删除其中的所有其他文件,或者创建新的文件。

rm -f无法删除文件。

我无法在其上使用 lsattr 或 chattr。

我还能尝试什么?我已经搜索到 Google 的第三页,却找不到任何有用的信息。

答案1

利用结果为“肯定”的命令来了解情况。文件名中可能有一个额外的特殊字符(例如空格)。您可以计算字符数来检查这一点。

发布输出

$ find . -maxdepth 1 -name cover.jpg
$ find . -maxdepth 1 -name "cover.jpg"
$ find . -maxdepth 1 -name cover.jpg | wc -c
$ find . -maxdepth 1 -name "cover.jpg" | wc -c
$ ls -1b | grep cover
$ ls -1b | grep cover | wc -c
$ ls -1b cover*
$ ls -al cover*

相关内容