Usuwanie folderu o nazwie ~


30

To jest wynik działania 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

Nie mogę tego zrobić, rm -rf ~ ponieważ spowoduje to usunięcie mojego katalogu domowego.

Co powinienem zrobić? To nie jest dla mnie problem, ale po prostu ból.


8
Unikałbym pisania rm -rfna czymś, co może spowodować błąd, jeśli popełnisz błąd. Zastanów się nad wprowadzeniem ./~folderu i usunięciem jego zawartości przed przeniesieniem katalogu i uruchomieniem go, rmdir ./~aby usunąć sam katalog ~.
adamnfish

Odpowiedzi:


58

rm -R ./~

To sprawi, że będzie szukać ~w bieżącym folderze.


wow, sposób patrzenia na rzeczy prosto! sława!
theTuxRacer

2
Ta odpowiedź jest poprawna, ale myślę, że odpowiedź Oli jest lepsza, ponieważ jest bezpieczniejsza. Jeśli nieco pomylisz to polecenie, trwale usuniesz swój system.
HDave

44

Popełniłem już głupie błędy, rmwięc oto kilka wskazówek, których nauczyłem się przez lata, aby zabezpieczyć twoje dane przed wypadkami:

  1. Użyj rozwiązania graficznego, takiego jak Nautilus. Delikatnie usuń go do kosza. Następnie, gdy wiesz, że nie przeniosłeś $HOMEśmieci do kosza (wszystko zaczęłoby się załamywać i wyglądać funky), opróżnij kosz.

  2. Przenieś zamiast usuwać. Zmień nazwę katalogu mv, np .:

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

    Następnie usuń go.

  3. W razie wątpliwości użyj -iflagi w kontaktach z potencjalnymi fubarami. Będzie monitował o każdy usunięty plik i powinien bardzo szybko wiedzieć, czy coś złego się wydarzy.

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

1
cant GUI, to terminal ssh: P Dobry pomysł na temat mv. Myślę, że powinienem zrobić alias rm za pomocą rm -i.
theTuxRacer

7
Możesz ssh://user@ip/folderwpaść w nautilus. Nie działa na wszystko (np. Jeśli potrzebujesz sudo), ale proszę bardzo. Aliasing -ito obosieczny miecz. Jest to pomocne, ale także bardzo irytujące, gdy robisz dużo plików. Zastanów się -Iteż. I spójrz na man rmwięcej wskazówek.
Oli

+1 za pomysł przeniesienia. Teraz zastanawiam się, dlaczego nie ma drop- rminu dla tych ruchów do (powiedzmy) ~ / .Trash.
ShreevatsaR



6

Kolejnym, nieco bardziej złożonym sposobem na to jest użycie numerów i-węzłów:

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

Plusy

  • Działa z wathever wymyślną nazwą, którą możesz mieć.
  • Powinno być bezpieczne, ponieważ numery i-węzłów są unikalne ( -xdev: nie schodź z katalogów w innych systemach plików) i możesz najpierw przetestować wyszukiwanie, na wszelki wypadek, usuwając -exec rm -rf {} \;.

Cons

  • Robienie find .w katalogu z dużą ilością plików i / lub katalogów zajmie dużo czasu i odczytu dysku.

Zawsze interesowałem się i
węzłami

Oczywiście działa to tylko wtedy, gdy twój obecny system plików ma pojęcie i-węzła (nie wszystkie systemy plików obsługiwane przez Ubuntu mają tę koncepcję - chociaż większość z tych, które nie są natywnymi systemami plików Uniksa, takimi jak vFat i NTFS)
Billy ONeal
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.