it-swarm.com.de

Ordner mit dem Namen ~ wird entfernt

Dies ist die Ausgabe von 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

Ich kann rm -rf ~ nicht ausführen, da dadurch mein Ausgangsverzeichnis entfernt wird.

Was soll ich machen? Es ist kein Problem für mich, aber es tut nur weh.

30
theTuxRacer

rm -R ./~

Dadurch wird im aktuellen Ordner nach ~ gesucht.

58
Ward Muylaert

Ich habe mit rm dumme Fehler gemacht, deshalb hier ein paar Tipps, die ich im Laufe der Jahre gelernt habe, um Ihre Daten vor Unfällen zu schützen:

  1. Verwenden Sie eine grafische Lösung wie Nautilus. Löschen Sie es in den Papierkorb. Wenn du dann weißt, dass du deinen $HOME nicht in den Papierkorb verschoben hast (alles wäre abgestürzt und hätte komisch ausgesehen), leeren Sie den Papierkorb.

  2. Verschieben statt löschen. Benennen Sie das Verzeichnis mit mv um, zB:

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

    Dann löschen Sie es.

  3. Verwenden Sie im Zweifelsfall das Flag -i, wenn Sie mit potenziellen Fubars arbeiten. Es fordert Sie zu jeder entfernten Datei auf und sollte Sie sehr schnell informieren, wenn etwas Schlimmes passieren wird.

    [email protected]:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?
    
44
Oli

Geniales Problem :)

Sie können das Verzeichnis löschen, indem Sie  Flucht die Tilde:

rm -rf \~

Dies funktioniert für alle Arten von Sonderzeichen.

19
Stefano Palazzo

Sie können den Ordnernamen einfach in Apostrophe setzen:

 rm '~'
17
Yuriy Voziy

Eine weitere, etwas komplexere Methode ist die Verwendung von Inode-Nummern:

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

Vorteile

  • Es funktioniert mit jedem ausgefallenen Namen, den Sie haben können.
  • Sollte sicher sein, da Inode-Nummern eindeutig sind (-xdev: Verzeichnisse auf anderen Dateisystemen nicht herabstufen) und Sie können die Suche zuerst testen, nur für den Fall, dass Sie -exec rm -rf {} \; entfernen.

Nachteile

  • Das Ausführen von find . in einem Verzeichnis mit vielen Dateien und/oder Verzeichnissen erfordert viel Zeit und das Lesen der Festplatte.
6
superfav