删除不存在的文件

删除不存在的文件

我对可能误导性的标题表示歉意,但这是我能想到的描述问题的最佳方式,即:我有几个可以使用的文件cat,但是当我尝试使用rm它们时,我得到“没有这样的文件或目录”错误。

$ cat "A11 D5 D5.txt"
... OUTPUT ...
$ rm -f "A11 D5 D5.txt"
rm: cannot remove `A11 D5 D5.txt': No such file or directory

我尝试覆盖该文件并且可以执行删除而不会出错,但该文件仍然存在;我仍然可以捕获该文件。

$ echo "Boom" > "A11 D5 D5.txt"
$ cat "A11 D5 D5.txt"
Boom
$ rm -f "A11 D5 D5.txt"
$ cat "A11 D5 D5.txt"
Boom
$ rm -f "A11 D5 D5.txt"
rm: cannot remove `A11 D5 D5.txt': No such file or directory

我完全不知所措。我怀疑重新启动可以解决问题,但我真的更感兴趣的是为什么会发生这样的事情。某种文件系统问题? (我没有系统的重新启动权限;它是一个大学集群。)

编辑:我得到以下输出

$ ls
A11 D5 D5.txt
$ ls -b
A11\ D5\ D5.txt
$ printf '<%q>\n'
<''>

我还stat编辑了该文件(以防万一):

$ stat A11\ D5\ D5.txt 
  File: `A11 D5 D5.txt'
  Size: 5               Blocks: 8          IO Block: 131072 regular file
Device: 1bh/27d Inode: 18446744068941111933  Links: 1
Access: (0644/-rw-r--r--)  Uid: (  596/  <username>)   Gid: ( 1015/<group>)
Access: 2012-12-09 22:48:29.000000000 -0600
Modify: 2012-12-09 22:56:44.835662498 -0600
Change: 2012-12-09 22:56:44.835662498 -0600

编辑2:文件系统显然是“fuse”类型并且

$ ls -lb A11\ D5\ D5.txt
-rw-r--r-- 1 <username> <group> 5 Dec  9 22:56 A11\ D5\ D5.txt

答案1

如果您认为文件名中有一些看不到的特殊字符,您可以尝试使用工具来确定文件名。

ls | xargs -i rm -i {}

或者

find . -exec rm -i {} \;

相关内容