Linux 删除名为“\”的文件

Linux 删除名为“\”的文件,linux,bash,file,Linux,Bash,File,我用这个名字弄错了文件,我不知道如何清除这个文件 如何删除具有此名称的文件 rw-r--r-- 1 root root 1555 Sep 15 12:54 '\' 关于您需要双引号引用文件名,并用另一个反斜杠转义shell中的反斜杠 rm'\\' 您需要使用\同时转义“和\” 下面的命令 rm \'\\\' 我们应该做到这一点 $ rm \\ bash对我有用。或者,如果您有一个交互式文件管理器,如果您只有一个终端,那么它可能是mc,只需使用点击方式即可。这里所有的问题都是由外壳溢出造

我用这个名字弄错了文件,我不知道如何清除这个文件 如何删除具有此名称的文件

 rw-r--r-- 1 root root 1555 Sep 15 12:54 '\' 

关于

您需要双引号引用文件名,并用另一个反斜杠转义shell中的反斜杠

rm'\\' 您需要使用\同时转义“和\”

下面的命令

rm \'\\\'
我们应该做到这一点

$ rm \\

bash对我有用。或者,如果您有一个交互式文件管理器,如果您只有一个终端,那么它可能是mc,只需使用点击方式即可。这里所有的问题都是由外壳溢出造成的。

您可以按照两个步骤来完成

1-通过ls-litr Input\u file\u name获取该特定文件的索引节点号

2-然后使用以下命令按inode编号删除它:将1235替换为您在上一步中获得的实际inode编号

find . -inum 1235 -exec rm {} \;
工作示例:这是一个仅用于理解目的的虚拟/测试示例

1-执行ls-lihtr以获取索引节点编号:

total 16K
  1227 -rw-r--r-- 1 singh singh   0 Sep 15 08:05 \\\\
2-现在将其放入find命令中,如下所示,以删除该特定文件:

find . -inum 1227 -exec rm {} \;

注意:根据@jrfuson的评论,可能有相同的inode编号文件/符号链接,因此最好给出其中一个。或者在find命令中完成路径,以确保它删除了正确的文件,并将-xdev选项添加到上面的find命令中。

我的文件名是“\”,您真的需要用C代码回答吗?不删除工作?rm:无法删除\\'\':没有此类文件或directory@JRFerguson,当然,谢谢你提供的信息。查找我运行的命令。因此,它将只查找当前目录,我现在可以在我的答案中添加警告,请务必让我知道任何查询,再次感谢您的信息性评论。我应该说,为了防止降级到其他文件系统上的目录…,符号链接不重要。-xdev选项可防止降级到其他文件系统上的目录。一个典型的情况是搜索/文件系统。然后,xdev将阻止进入装入的目录,如/tmp和/var。我的一个老习惯是在处理通过inode删除文件时添加-xdev。很抱歉给你带来了困惑。