Linux'ta bu ada sahip dosya nasıl silinir: -] ??????? q [yinelenen]


14

Bir şekilde -]???????qterminalimde bir dosya oluşturuldu. Ben rm -f "-] ??????? q" (çift tırnak) denedim, ama silinmedi. (Hata ::) rm: invalid option -- ]. Nasıl silebilirim?


Ben benzer bir sorun vardı, benim durumumda sorun samba uygulaması ile, sadece sunucuya ssh deneyin ve sonra kaldırmak
Buksy

Yanıtlar:


26

Örneğin:

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

Nerede --: "ayrıştırma seçeneklerini durdur".


Gerçekten de benzer bir problemle karşılaşıp düşünmüyordum - geçiş olmak. Yemin ederim 2 saat gibi anlamaya çalıştım.
Jeff F.

Birçok uygulama --, sanırım bu getoptişlev nedeniyle fiili bir çeşit standarttır .
cYrus

13

Dosya adını rm ile veya inode numarasını aşağıdaki gibi kullanarak kullanabilirsiniz:

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

Aksi takdirde -maxdepth 1 ekleyin tüm alt dizinleri yineleyecek:find -maxdepth 1 -inum 47983773 -delete
Fabian Ritzmann

@FabianRitzmann iyi çağrı, ekledim.
OneOfOne

1
Seçilen cevap bu olmalıdır. Adında geçersiz karakterler bulunan dosyaya iNode ile erişmek tek doğru yoldur.
ScumCoder

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

Çift tırnak, kabuğun sorgulama işaretlerini genişletmesini önler. Örneğin, -] foobar.q adında başka bir dosyanız varsa :

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

Ah. Alıntıları koydum, ama eksikti./
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.