~ Adlı klasörü kaldırma


30

Bu çıktı ls -l

ls -l
total 53484
drwxr-xr-x 3 root root     4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root   384035 2011-02-15 05:33 jobsLog.out

Yapamam rm -rf ~ çünkü bu benim ev dizinimi kaldıracak.

Ne yapmalıyım? Bu benim için bir sorun değil, sadece bir göz ağrısı.


8
Yanlış rm -rfyazarsanız, böyle bir başarısızlık potansiyeli olan bir şey yazmaktan kaçınırdım. ./~Bir dizini yukarı taşımadan rmdir ./~ve ~ dizinini kaldırmak için çalıştırmadan önce klasörünüzü girip içeriğini oradan kaldırmayı düşünün .
adamnfish

Yanıtlar:


58

rm -R ./~

Bu ~, geçerli klasörde aramanızı sağlar .


vay, düz şeylere bakmanın yolu! şeref!
theTuxRacer

2
Bu cevap doğrudur, ancak Oli'nin cevabını daha iyi bulduğunu düşünüyorum çünkü daha güvenli. Bu komutu biraz yanlış yazarsanız, sisteminize kalıcı olarak zarar vereceksiniz.
HDave

44

Daha önce aptalca hatalar yaptım, rmbu yüzden yıllar boyunca verilerinizi kazalardan korumak için öğrendiğim birkaç ipucu:

  1. Nautilus gibi grafiksel bir çözüm kullanın. Çöp kutusuna hafifçe silin. Sonra, sizi $HOMEçöp kutusuna atmadığınızı bildiğiniz zaman (her şey çökmeye ve korkak görünmeye başlardı), çöplerinizi boşaltın.

  2. Silme yerine taşı. Dizini ile yeniden adlandırın mv, örneğin:

    mv ./\~ ./a-nice-sensible-directory-name

    Ardından silin.

  3. Şüphe -idurumunda, olası fubarlarla uğraşırken bayrağı kullanın . Kaldırılan her dosya için sizi uyarır ve kötü bir şey olup olmadığını çok hızlı bir şekilde size bildirmelidir.

    oli@bert:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?

1
cant GUI, bir ssh terminali: P hakkında iyi bir fikir mv. Sanırım rm ismini a ile yapmalıyım rm -i.
theTuxRacer

7
Sen tıkamak edebilirsiniz ssh://user@ip/foldernautilus içine. Her şey için işe yaramaz (örneğin sudo gerekirse), ama oraya gitmek. Aliasing -iiki ucu keskin bir kılıçtır. Yararlı ancak çok fazla dosya yaptığınızda oldukça rahatsız edici. Bir -Ide düşünün . Ve man rmdaha fazla ipucu için bak .
Oli

Hareket fikri için +1. Şimdi neden bunun için bir değiştirme işlemi olmadığını merak ediyorum rm.
ShreevatsaR

19

Parlak sorun :)

Sen tarafından dizini silebilirsiniz kaçan tilde:

rm -rf \~

Bu, her türlü özel karakter için işe yarar.


17

Klasör adını kesme işareti olarak basitçe ekleyebilirsiniz:

 rm '~'

6

Başka bir, biraz daha karmaşık, bunu yapmanın yolu inode numaralarını kullanıyor:

$ ls -li
total 24
 7146369 drwxr-xr-x   4 user  staff   136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;

Artıları

  • Sahip olabileceğiniz wathever süslü ismi ile çalışır.
  • İnode sayıları benzersiz olduğu için güvenli olmalıdır ( -xdev:: Diğer dosya sistemlerinde dizinleri indirmeyin) -exec rm -rf {} \;;

Eksileri

  • Yapma find .dosya ve / veya dizinleri bir sürü bir dizindeki bir sürü zaman, ve disk okuma alacaktır.

Her zaman inode'lar ile ilgilendim ve bunu yapmanın mümkün olup olmadığını merak ediyordum =)
theTuxRacer

Tabii ki, bu yalnızca geçerli dosya sisteminizde bir inode kavramı varsa (Ubuntu'nun desteklediği tüm dosya sistemlerinde bu kavram bulunmuyorsa) çalışır
Billy ONeal
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.