Jak mogę opróżnić kosz za pomocą terminala?


241

Nigdzie nie mogę wyszukiwać śmieci . Czy możesz mi powiedzieć polecenie lub coś takiego, aby opróżnić kosz za pomocą terminala?


2
Zostało to opublikowane 3 lata temu. Potrzebujemy czegoś, co to wyjaśnia, w tym dla jakiej wersji działa tutaj w 2017 r.
SDsolar

Odpowiedzi:


313

Możesz użyć polecenia ˋrmˋ:

 rm -rf ~/.local/share/Trash/*

Polecenie rm usuwa (usuwa) pliki lub katalogi.

-f, --force     Ignore nonexistant files, and never prompt before removing.
-r, -R, --recursive     Remove directories and their contents recursively.

Folder kosza znajduje się w: $HOME/.local/share/Trash

Uważaj, jak używasz rmpolecenia - pliki nie są wysyłane do kosza, w którym możesz je przywrócić, więc cofnięcie nie jest łatwe.


10
To nie zadziała, jeśli śmieci znajdują się gdzie indziej.
Braiam

1
@ hellodear2 Zauważ, że ~jest to rzecz specyficzna dla powłoki, która rozwija się do ścieżki katalogu domowego. Używanie np. "~/some/path"Nie rozszerzy się z powodu cytowania. Podobnie nie wszystkie menedżery plików zrozumieją, ~jeśli wpiszesz go w pasku adresu.
Ruslan

11
Wrażliwych folderów systemowych i plików nie można usunąć bez uprawnień i rmnie można w ogóle usunąć folderów, chyba że podasz -ropcję (lub równoważną). Jednak używanie rmbez należytej staranności może spowodować utratę ważnych plików osobistych , szczególnie w przypadku argumentów wieloznacznych.
Marc van Leeuwen

1
@ hellodear2 zobacz to i to pytania, aby zobaczyć przykłady, w których tylda nie działa (choć chodzi o bash). Naprawdę nie wiem, jakie konkretne powłoki go nie obsługują, ale powinieneś zrozumieć, że tylda jest implementowana nie na poziomie systemu plików, ale na poziomie aplikacji. XFE jest przykładem menedżera plików, który nie rozumie ~w pasku adresu.
Ruslan

4
dlaczego jest to pozornie ok. 100 razy szybciej niż kliknięcie kosza „pusty” w dowolnej przeglądarce plików?
Blauhirn

131

Po trash-clizainstalowaniu możesz to zrobić

trash-empty

więcej interesujących szczegółów na temat obsługi śmieci: tutaj


6
To nie zadziała po wyjęciu z pudełka i wymaga instalacji trash-cli .
skarz

19
Tak, ale to poprawna odpowiedź. Jeśli na przykład masz pamięć USB, pliki, które w niej kosztujesz, zostaną umieszczone w ukrytym katalogu w katalogu głównym urządzenia (przynajmniej stało się to przy ostatnim sprawdzeniu) .Trash-$UID- więc w tym przypadku kosz jest fizycznie dwa różne miejsca ...
Rmano

Tak smutne, że musisz zainstalować pakiet, aby opróżnić kosz. Liczenie śmieci w stosunku do miejsca na dysku jest jedną z najbardziej irytujących cech Ubuntu.
Michael

3
@Michael „Kosz” to funkcja udostępniana przez menedżera pulpitu, która jest warstwą powyżej rzeczy, których zwykle używasz w wierszu poleceń. Naprawdę wszystko, co robi, to przenosić pliki do ukrytego folderu na tym samym urządzeniu i przechowywać niektóre metadane, aby można je było ponownie umieścić na miejscu, jeśli użytkownik zechce. W rzeczywistości nie odzyskujesz miejsca, dopóki nie opróżnisz kosza, czyli wtedy, gdy plik zostanie faktycznie usunięty.
Seamus Connor

3
Należy zauważyć, że to polecenie jest specyficzne dla użytkownika. Zainstalowałem go i drapałem się po głowie, dlaczego nie działa, dopóki nie zdałem sobie sprawy, że pliki znajdują się w koszu innego użytkownika.
billynoah

52

Szukasz $XDG_DATA_HOME/Trashkatalogu. Katalog śmieci jest zdefiniowany w „Specyfikacji kosza na śmieci na pulpicie” witryny freedesktop . Ta zmienna jest zwykle niedostępna w oknach terminala, dlatego będziesz jej potrzebować trash-empty. To polecenie jest zgodne ze specyfikacją Freedesktop.org i jest wystarczająco inteligentne, aby dowiedzieć się, gdzie jest Kosz. Najpierw musisz go zainstalować.

Istnieją do tego inne narzędzia, takie jak gvfs-trash --emptywysyłanie przedmiotów do kosza.


+1 dla $XDG_DATA_HOME. Jak to zdobyłeś?
Jobin

4
@Jobin jest w specyfikacji. ramendik.ru/docs/trashspec.html
Braiam

@Braiam Czy mógłbyś rozwinąć więcej? Jak mogę tego użyć? Nie rozumiem, jak to rozwiązuje mój cel. Proszę wyjaśnić trochę. I nie chcę wyrzucać śmieci, chcę opróżnić śmieci.
hellodear

2
@ hellodear2 trash-empty opróżnia kosz . Musisz go tylko uruchomić. Plik binarny znajduje się w trash-clipakiecie. To jest to samo co rozwiązanie jhort, tylko że wyjaśniam, skąd pochodzi i oferuję inne narzędzie.
Braiam

Teraz gio trash --emptyprzynajmniej na Ubuntu 18.10 / Gnome 3.
JB Rainsberger


1

Miałem problemy

rm -rf ~/.local/share/Trash/*

Musiałem więc zrobić:

sudo -s
cd ~/.local/share/Trash/  

Przed wpisaniem następnego polecenia upewnij się, że znajdujesz się we właściwym katalogu, ponieważ w ten sposób możesz łatwo usunąć wszystko z folderu domowego i nie pojawi się żadne ostrzeżenie.

rm -fr *

A potem wszystko zniknęło ...


Dlaczego sudo i dlaczego rm -rf. To jest niepotrzebne.
mikewh

1
@mikewhthing - Dlaczego sudo? Ponieważ usunąłem coś jako superużytkownik, a więc aby go opróżnić Trash, musiałem to zrobić, sudoaby mieć ten przywilej. Po prostu sudo rm -rf /fullabsolutepathdziała w jednym poleceniu.
Harvey,

trash-empty i rm -rf ~ / .local / share / Trash / * nie działają, jeśli usuwasz z folderów głównych. Odpowiedź @ Cisum działała najlepiej dla mnie.
rainer

co to do cholery jest? Próbowałem tego i wszystko zniknęło. Wszystkie dane zniknęły z mojego systemu.
Rajneesh071

2
Zastanawiam się, kto to głosował? To straszna rada / zestaw poleceń i bardzo niebezpieczne, jeśli ktoś uruchamia las rm -fr *w niewłaściwym folderze. Edytuj swoją odpowiedź i przynajmniej użyj pełnych ścieżek ...
Tanasis
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.