我创建了一个名为“?”的文件,有人知道如何删除它吗?
好像是吗?是linux中的一个特殊字符,我使用Redhat作为我的操作系统。我已经尝试了
rm ?
rm "?"
rm \?
它们都失败了,我得到的错误表明该文件不存在。
答案 0 :(得分:20)
找到文件的inode:
ls -li
然后使用inode删除文件:
find . -inum <inode-number> -exec rm -i {} \;
顺便说一下,rm ?
对我很好。这是我的bash版本:
# bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)
答案 1 :(得分:1)
使用此rm
命令删除名为?
的文件:
rm ./\?
来自其他目录的OR:
rm /path/to/\?
答案 2 :(得分:0)
您可以通过 inode 号码删除该文件。见下面的输出:
alplab:~/cad# ls -il
63051 -rw-r--r-- 1 root root 0 Nov 12 11:48 ?
alplab:~/cad# find . -inum 63051 -exec rm -i {} \;
我使用“find”命令删除了带有inode编号 63051 的文件(属于我的“?”文件的inode)。