删除名称中带有 ` 的文件

删除名称中带有 ` 的文件

在某个时候,我创建了一个文件,其中包含:`。我该如何删除它?

ls -la返回:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 `which

答案1

有很多方法:

  1. 引用文件名

    rm '`which'
    
  2. 逃离有问题的角色

    rm \`which
    
  3. 使用 shell 通配符(有提示,以防有其他文件匹配)

    rm -i ?which
    rm -i *which
    
  4. 使用find替代(请注意,正如 @Braiam 下面指出的那样,这将找到当前目录中匹配的所有文件,并且可能会删除比您预期更多的文件。)

    find . -name '`which' -exec rm {} \;
    find . -name '`which' -delete
    

答案2

如果您的文件名中有“有趣的字符”并且无法输入它们,您可以执行以下操作:

rm -i *which*

其中which是由普通字符组成的部分。

-i对于交互式)请确保在删除任何匹配的文件名之前收到提示,以便您可以跳过所有不想删除的匹配项。

答案3

您可以通过使用反斜杠转义有问题的字符来删除它。您可以输入

rm \`which

这样就可以了。

答案4

那个会发生。如果你的文件名是

`which 

你应该使用

mv '`which' which

您需要'在文件名周围使用它,因为它在文件名之前有一个特殊字符。

相关内容