На этот вопрос уже есть ответ здесь:
Я не могу удалить такой файл, появляется сообщение об ошибке. имя файла
-?] d? j ??.?
, и я хочу его удалить. Я пробую rm -?] d? j ??.? но это дает ошибку.
Согласно руководству,
Чтобы удалить файл, имя которого начинается с «-», например, «-foo», используйте одну из следующих команд:
rm -- -foo
rm ./-foo
В вас регистр введите:
rm -- -?]d?j??.?
или
rm -- '-?]d?j??.?'
Сначала посмотрите на файл с ls -b ./-*
, чтобы увидеть настоящее имя файла. Вы можете использовать завершение файла bash
для удаления файла:
rm ./-
, за которым следует символ TAB kbd>.
Использование TAB kbd> расширит забавные символы в имени файла так, как bash
хочет их проанализировать.
rm
поддерживает опции, введенные в -
. Когда он видит ваше имя файла, начинающееся с -
, он запутывается. Помещение имени текущего каталога ("./
") перед именем файла означает тот же файл, но имя теперь начинается с .
, что не смущает rm
.