刪除名稱中帶有 ` 的文件

刪除名稱中帶有 ` 的文件

在某個時候,我創建了一個文件,其中包含:`。我該如何刪除它?

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

您需要'在檔案名稱周圍使用它,因為它在檔案名稱之前有一個特殊字元。

相關內容