无法通过引用、转义或使用 inode 删除文件

无法通过引用、转义或使用 inode 删除文件

我编写了一个 Perl 脚本,但在输出文件的名称中插入了一个空格,因此现在我尝试了my_file .txt 以下操作,但没有成功(也没有报告任何错误):

rm ./my_file\ .txt
rm "./my_file .txt"
find . -inum 123 -exec rm -i {} \;

以上任何操作都不会删除文件,我也不会收到错误、警告等。我拥有该文件和目录,并拥有适当的权限。文件句柄已关闭,并且lsof ./my_file\ .txt未显示该文件正在其他地方使用。我的 google fu 让我失望了,所以提前感谢您提供的任何帮助。

编辑:统计输出:

$ stat my_file\ .txt
  File: `my_file .txt'
  Size: 4096            Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 16613511    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 4939/ abc1111)   Gid: (  100/  ABware)
Access: 2013-07-02 09:27:32.000000000 -0500
Modify: 2013-07-02 10:57:21.000000000 -0500
Change: 2013-07-02 10:57:21.000000000 -0500

答案1

删除名称奇怪的内容最可靠的方法是使用 的find操作-delete。例如

find . -inum 16613511 -delete 

或者

find . my_file?.txt -delete 

相关内容