为什么 Windows 和 Ubuntu 都无法识别带有特殊字符的文件名?

为什么 Windows 和 Ubuntu 都无法识别带有特殊字符的文件名?

我试图在 WSL 中的 bash 中将内容追加到文本文件(使用运算>>符)。不幸的是,由于我是初学者,因此没有将内容追加到文件,而是以>>“文本”作为文件名创建了一个新文件,并且似乎 Windows(GUI)和 Ubuntu(rm命令)都无法在目录中删除该文件(即使使用命令也会显示dir)。

  • Windows 图形用户界面:

    Windows GUI 中的目录

  • Windows 错误代码:

    Windows 错误代码

  • 重击:

    root@DESKTOP-IA030GJ:/# cd home
    root@DESKTOP-IA030GJ:/home# dir
    English_Class  Finished_Projects  Keeping.txt  Random_Password_Generator_Project  \\n\\n\ -----Changes\   onion_project  pythonwork
    root@DESKTOP-IA030GJ:/home# ls --quoting-style=shell
     English_Class                      '\n\n -----Changes '
     Finished_Projects                   onion_project
     Keeping.txt                         pythonwork
     Random_Password_Generator_Project
    

答案1

此文件名包含特殊字符,这是由于您最初(意外地)以管道方式传输数据所致。因此,我们需要知道精确的文件名并在引号中的命令中使用它rm

我们知道您的文件的名称正是\n\n -----Changes。因此我们就使用它吧。 不要从此命令中删除单引号,否则它将不起作用。

rm '\n\n -----Changes '

这应该可以完全删除该文件,并且不会出现任何后续问题。

*Changes*请注意,您也可以使用作为删除模式来删除文件,或者添加-i标志以使其具有交互性,以确保要删除的文件确实已被删除。

相关内容