Как удалить файл с таким именем в Linux: -] ??????? q [duplicate]


14

Каким-то образом файл с именем -]???????qбыл создан на моем терминале. Я пробовал rm -f "-] ??????? q" (в двойных кавычках), но он не удалялся. (Ошибка ::) rm: invalid option -- ]. Как мне это удалить?


У меня была похожая проблема, в моем случае проблема была с реализацией samba, просто попробуйте ssh на сервер, а затем удалите его
Buksy

Ответы:


26

Например, с:

rm -- '-]???????q'

Где --означает: «прекратить синтаксический анализ вариантов».


Действительно, я столкнулся с подобной проблемой, даже не думая о том, чтобы быть переключателем. Клянусь, я потратил как 2 часа, пытаясь понять это.
Джефф Ф.

Многие приложения используют --, думаю, это своего рода стандарт де-факто из-за getoptфункции.
cYrus

13

Вы можете использовать имя файла с rm или номер индекса с помощью команды find:

rm -- -]???????q
# or
  -> ls -i                                                                                                                         
47984689 blah.ui  47983771 __init__.py  
47983773 testpy.e4p  47985161 Ui_blah.py

  -> find -inum 47983773                                                                                                           
./testpy.e4p

  -> find -maxdepth 1 -inum 47983773 -exec rm -i '{}' \;
#or
  -> find -maxdepth 1 -inum 47983773 -delete

Добавьте -maxdepth 1, иначе команда find найдет итерацию по всем подкаталогам:find -maxdepth 1 -inum 47983773 -delete
Fabian Ritzmann

@FabianRitzmann хороший звонок, я добавил это.
OneOfOne

1
Это должен быть выбранный ответ. Доступ к файлу с недопустимыми символами в его имени по iNode - единственный правильный путь.
ScumCoder

1
rm ./"-]???????q"

Двойные кавычки не позволяют оболочке расширять метки запроса. Например, если у вас был другой файл с именем -] foobar.q :

$ touch ./"-]???????q" ./-]foobar.q
$ echo ./-]???????q
./-]foobar.q ./-]???????q

Ой. Я поместил цитаты, но пропустил./
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.