如何删除名为"?"的文件 在linux中?

Yan*_*ang 9 linux bash command

我创建了一个名为"?"的文件,有人知道如何删除它吗?

看起来 ?是linux中的一个特殊字符,我使用Redhat作为我的操作系统.

我已经尝试过了

    rm ?
    rm "?"
    rm \?
Run Code Online (Sandbox Code Playgroud)

它们都失败了,我得到的错误表明该文件不存在.

sla*_*fer 21

找到文件的inode:

ls -li
Run Code Online (Sandbox Code Playgroud)

然后使用inode删除该文件:

find . -inum <inode-number> -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)

BTW,rm ?对我很好.这是我的bash版本:

# bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)


ric*_*ici 5

rm \?rm "?"都是删除名为?. 如果它们不起作用,并且您似乎仍然有一个文件名?,那么所显示的很可能?不是真正的 a ?,而是用 a 替换不可打印字符的结果?。要查看该文件的真正名称(使用 GNU ls),请尝试:

ls --quoting-style=escape
Run Code Online (Sandbox Code Playgroud)