Как удалить папку, при этом имя содержит управляющий символ?

279
bablewa

TL; DR:

(Довольно плохая) установка Python попросила у меня путь. Я начал печатать backspace, backspace, набрал что-то другое. Хорошо, эта установка создала папку со следующим именем (в соответствии с ls):

? [3 ~? [4 ~ Foo

Очевидно, что имя содержит некоторые управляющие символы. Родительский каталог содержит некоторые другие очень важные папки, которые я не могу переместить, чтобы выполнитьrm -rf *

Хорошо, итак:

Как удалить папку?

Я должен упомянуть, что у меня есть только доступ по SSH - графического интерфейса нет.

mv "?[3~?[4~foo" x не будет работать, очевидно, так как это управляющие символы.

0
`ls -b` покажет вам имя файла с расширенными escape-символами. Если `ls"? [3 ~? [4 ~ foo "` показывает только один файл, то вы можете безопасно использовать `rm -rfi"? [3 ~? [4 ~ foo "`. Если все выглядит нормально, попробуйте снова без `-i`. AFH 10 лет назад 0

1 ответ на вопрос

0
choroba

Вы можете попробовать сопоставление с подстановочными знаками - есть ли важные файлы в ls *foo? Также вы можете попытаться ls *foo | xxdполучить шестнадцатеричные коды управляющих символов.

лицевой щиток, подстановочные знаки. Я действительно не знаю, почему у меня не было этой идеи самостоятельно. Спасибо! bablewa 10 лет назад 0

Похожие вопросы