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