我创建了一个名为"?"的文件,有谁知道如何删除它吗?
似乎在Linux系统中,?是一个特殊字符,我使用的是Redhat操作系统。
我已经尝试过:
rm ?
rm "?"
rm \?
他们都失败了,我得到了错误提示,显示该文件不存在。
查找文件的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)
ls --quoting-style=escape
rm
命令删除名为?
的文件。rm ./\?
或者从另一个目录:
rm /path/to/\?
?
,那么这个命令应该可以工作。我在测试了OSX和Linux主机后发布了它。 - anubhavarm ./?
。 - carnicer4.4.19(1)-release
上运行良好。 - anubhavaalplab:~/cad# ls -il
63051 -rw-r--r-- 1 root root 0 Nov 12 11:48 ?
alplab:~/cad# find . -inum 63051 -exec rm -i {} \;
rm ?
时,它会删除目录中所有单个字符的文件。尝试touch ?
、touch a
和rm ?
。这将同时删除?
和a
。 - Varun?
实际上是其他字符。 - devnull