Почему Windows и Ubuntu не распознают имя файла со специальными символами?

Почему Windows и Ubuntu не распознают имя файла со специальными символами?

Я пытался добавить текстовый файл в bash в WSL (используя оператор >>). К сожалению, поскольку я новичок, вместо добавления в файл был создан новый файл с именем >>'text', и похоже, что ни Windows (GUI), ни Ubuntu ( rmкоманда ) не могут удалить файл, пока он находится в каталоге (он отображается даже при использовании команды dir).

  • Графический интерфейс Windows:

    Каталог в графическом интерфейсе Windows

  • Код ошибки 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к нему флаг, чтобы сделать его интерактивным и убедиться, что файлы, которые вы хотите удалить, действительно удаляются.

Связанный контент