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.