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

Kho*_*ima 1 command-line bash rm windows-subsystem-for-linux

我试图在 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
    
    Run Code Online (Sandbox Code Playgroud)

Tho*_*ard 6

由于您最初(意外地)通过管道传递数据的方式,此文件名包含特殊字符。因此,我们需要知道确切的文件名,并在rm命令中用引号括起来。

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

rm '\n\n -----Changes '
Run Code Online (Sandbox Code Playgroud)

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

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