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

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

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

Другие вопросы по тегам