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)
rm \?
和rm "?"
都是删除名为?
. 如果它们不起作用,并且您似乎仍然有一个文件名?
,那么所显示的很可能?
不是真正的 a ?
,而是用 a 替换不可打印字符的结果?
。要查看该文件的真正名称(使用 GNU ls
),请尝试:
ls --quoting-style=escape
Run Code Online (Sandbox Code Playgroud)