Supprimer le dossier nommé ~

29

Ceci est la sortie de 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

Je ne peux pas faire rm -rf ~ car cela supprimera mon répertoire personnel.

Que dois-je faire? Ce n'est pas un problème pour moi, mais juste un coup d'œil.

    
posée theTuxRacer 15.02.2011 - 11:36
la source

5 réponses

55

rm -R ./~

Cela le fera rechercher ~ dans le dossier actuel.

    
réponse donnée Ward Muylaert 15.02.2011 - 11:47
la source
43

J'ai fait des erreurs stupides avec rm auparavant, voici quelques conseils que j'ai appris au fil des années pour essayer de vous protéger des accidents contre les accidents:

  1. Utilisez une solution graphique comme Nautilus. Supprime-le dans la corbeille. Puis, quand vous savez que vous n'avez pas déplacé votre $HOME dans la corbeille (tout aurait commencé à tomber en panne et à paraître funky), videz votre corbeille.

  2. Déplacer au lieu de supprimer. Renommez le répertoire avec mv , par exemple:

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

    Puis supprimez-le.

  3. En cas de doute, utilisez l’indicateur -i lorsque vous traitez des fubars potentiels. Il vous demandera pour chaque fichier supprimé et devrait vous permettre de savoir très rapidement si quelque chose de grave va se produire.

    [email protected]:~/Desktop$ rm -rfi ./del/
    rm: descend into directory './del'? y
    rm: remove regular file './del/output2.pdf'?
    
réponse donnée Oli 15.02.2011 - 12:19
la source
19

Brilliant problem:)

Vous pouvez supprimer le répertoire par échapper le tilde:

rm -rf \~

Cela fonctionne pour toutes sortes de caractères spéciaux.

    
réponse donnée Stefano Palazzo 15.02.2011 - 11:47
la source
17

Vous pouvez simplement créer le nom du dossier en apostrophes:

 rm '~'
    
réponse donnée Yuriy Voziy 15.02.2011 - 13:26
la source
6

Juste un autre moyen, un peu plus complexe, d’utiliser des numéros d’inode:

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

Pour

  • Cela fonctionne avec le nom de fantaisie que vous pouvez avoir.
  • Devrait être safe car les numéros d’inode sont uniques ( -xdev : ne descendez pas de répertoires sur d’autres systèmes de fichiers) et vous pouvez tester la recherche au cas où, en supprimant -exec rm -rf {} \; .

Contre

  • Faire find . dans un répertoire contenant beaucoup de fichiers et / ou de répertoires prendra beaucoup de temps et nécessitera une lecture sur disque.
réponse donnée superfav 16.02.2011 - 01:07
la source

Lire d'autres questions sur les étiquettes