Por que o Windows e o Ubuntu não reconhecem um nome de arquivo com caracteres especiais?

Por que o Windows e o Ubuntu não reconhecem um nome de arquivo com caracteres especiais?

Eu estava tentando anexar um arquivo de texto no bash no WSL (usando o >>operador). Infelizmente, como sou iniciante, em vez de anexar a um arquivo, um novo arquivo foi criado com o >>'texto' como nome do arquivo, e parece que tanto o Windows (GUI) quanto o Ubuntu ( rmcomando) não podem excluir o arquivo enquanto ele estiver no diretório (é mostrado mesmo ao usar o dircomando).

  • GUI do Windows:

    Diretório na GUI do Windows

  • Código de erro do Windows:

    Código de erro do Windows

  • Bash:

    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
    

Responder1

Este nome de arquivo contém caracteres especiais devido à forma como você originalmente (acidentalmente) canalizou os dados. Por isso precisamos saber oexatonome do arquivo e use-o no rmcomando entre aspas.

Sabemos que seu arquivo tem o nome exato \n\n -----Changes. Então vamos usar isso. Não remova as aspas simples deste comando ou ele não funcionará.

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

Isso deve eliminar completamente esse arquivo, sem problemas subsequentes.

Observe que você também pode ter removido o arquivo usando *Changes*como padrão de remoção ou adicionar o -isinalizador com ele para torná-lo interativo e garantir que os arquivos que você deseja excluir estejam de fato sendo excluídos.

informação relacionada