Як видалити файл з цим ім'ям на linux: -] ??????? q [дублікат]


14

Якось -]???????qна моєму терміналі створено файл з назвою . Я спробував rm -f "-] ??????? q" (у подвійних лапках), але його не видалили. (Помилка ::) rm: invalid option -- ]. Як її видалити?


У мене була подібна проблема, в моєму випадку проблема була з реалізацією samba, просто спробуйте
перетворити

Відповіді:


26

Наприклад, за допомогою:

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

Де --означає: "зупинити параметри аналізу".


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

Багато програм використовують --, гадаю, це свого роду фактичний стандарт завдяки getoptфункції.
cYrus

13

Ви можете або використовувати ім'я файлу з rm або номер inode з таким знаходженням:

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 -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.