Назад | Перейти на главную страницу

Remove a file with <down> во имя?</down>

Итак, на ящике 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, он покажет варианты имени нужного файла.