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

