Итак, на ящике CentOS я случайно выполнил :w<Down>
в vim
редактор, с "<Down>
"буквально нажимая клавишу со стрелкой вниз на клавиатуре (отображается на экране как"<Down>
"), и теперь у меня есть файл с именем"<Down>
"от которого я не могу избавиться; бег"rm <Down>
"(буквальное написание" меньше чем, D, o, w, n, больше чем ") дает синтаксическую ошибку.
Как мне избавиться от этого файла с обалденным именем?
Используйте одинарные кавычки, чтобы управляющие символы не обрабатывались:
rm -f '<Down>'
Используйте \ для экранирования специальных символов. В этом случае вы должны использовать
rm \<Down\>
В качестве альтернативного решения:
$ ls -il .
total 0
1439039 -rw-r--r-- 1 medina foo 0 2010-07-15 16:48 ?????
# http://www.gnu.org/software/findutils/manual/html_mono/find.html#Deleting-Files
$ find . -inum 1439039 -delete
Самый простой способ справиться со всеми случаями побега - это использовать язык сценариев:
$ cd /tmp/test/
$ ls
<Down>
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.unlink('<Down>')
>>> quit()
$ ls
тип rm <D
а затем нажмите TAB, он покажет варианты имени нужного файла.