我如何删除名为“\”的文件或目录?

我如何删除名为“\”的文件或目录?

我在 Ubuntu 机器上使用终端,有一个文件我想删除。文件的名称是\(只是一个反斜杠)。

现在我通常只会做

rm filename

但是如果我rm \这样做,它会认为我正在尝试编写多行命令。

我该如何删除这个文件?我知道我可以使用 GUI 文件系统,但效率不高。

那么,我怎样才能(在终端中)删除一个名为的文件\

答案1

使用rm \\(用另一个反斜杠转义反斜杠)。请注意,对于名为的目录,这也以类似的方式工作\(使用rmdirrm带有-r标志)。

例子:

>mkdir 演示
>CD 演示
>触摸 \\
>ls-l
共 0
-rw------- 1 hennes 用户 0 7月29日 20:25 \
>rm \\
>ls-l
共 0

答案2

手动删除名称中含有奇怪字符的文件的一般策略是

rm -i ./*

这将提示您选择是否删除目录中的每个文件。

答案3

您还可以通过引用文件的 inode 来取消链接

linus ~/test $ touch \\
linus ~/test $ ls -li
total 0
15204561 -rw-r--r-- 1 pat sudo 0 Jul 29 23:03 \
linus ~/test $ find . -inum 15204561 -exec rm -v {} \;
removed `./\\'
linus ~/test $ ls -li
total 0
linus ~/test $ 

答案4

请先检查文件的 inode。ls -li

137791 -rw-rw-r--. 1 svr svr 366 3月 11 15:57

“\”的inode为“137791,然后使用find命令删除带有inode编号的“\”。

查找 . -inum 137791 -exec rm -i {} \;

rm:删除常规文件“./\”?是

然后“\”将被删除。

相关内容