如何删除一个名字奇怪的文件?

如何删除一个名字奇怪的文件?

我编写了一个使用 POSIX 内存映射函数的程序(mmap

该程序获取一个文件(a.dat)并将其内存映射以供读取/写入。

由于程序中的错误,每次我运行程序时?d?P?^z??d?P?^z?都会创建一个带有一些奇怪名称(例如)的文件。错误已解决,但我无法删除这些文件。

我无法使用命令行或通过从窗口管理器中选择/删除来删除它。

那么我该如何删除它?我正在使用 Ubuntu 11.04。

答案1

rm -i -- *将提示您删除每个文件。如果文件很多,您可以并且应该将“*”更改为更窄的匹配。--停止处理选项,因此名为的文件-d将被rm成功删除。

我以前曾使用过它,它可以一直工作,直到你碰到它不喜欢的一个或两个特殊字符。

答案2

您可以使用ls -li按 inode 显示所有文件。然后运行此命令删除该文件:

find . -inum ${INODE_NUM} -delete

-maxdepth 1为了安全起见,我添加了我的发现:

find . -maxdepth 1 -inum ${INODE_NUM} -delete

答案3

通过模式和 rm 进行基本查找/确认文件是否不起作用?

find . -maxdepth 1 -name "*P*d*P*z" -exec ls -a {} \; 
find . -maxdepth 1 -name "*P*d*P*z" -exec rm {} \;

相关内容