我编写了一个使用 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 {} \;