web-dev-qa-db-ja.com

Linuxでこの名前のファイルを削除する方法:-] ??????? q

どういうわけか、-]???????qという名前のファイルが端末に作成されました。 rm -f "-] ??????? q"(二重引用符で囲んだ)を試しましたが、削除されませんでした。 (エラー:: rm: invalid option -- ])。どうすれば削除できますか?

15
JP19

たとえば、次のようにします。

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

どこ --は、「解析オプションの停止」を意味します。

27
cYrus

Rmでファイル名を使用するか、find likeでiノード番号を使用できます。

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
13
OneOfOne
rm ./"-]???????q"

二重引用符は、シェルが尋問マークを拡張するのを防ぎます。たとえば、-] foobar.qという名前の別のファイルがある場合:

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