przystajnik

Terminal pogryzł człowieka: trash-cli

Niczego tak nie doceniamy tak bardzo, jak rzeczy które utraciliśmy. Ten filozoficzny wstęp ma uświadomić nam fakt przemijania. I zagrożenia płynącego ze strony takich prozaicznych czynności jak usuwanie plików. O ile bowiem w środowisku graficznym przeważnie coś czuwa nad naszą nonszalancją, o tyle jak w terminalu okiełznać mordercze zapędy polecenia rm? Zanim zaczniemy pisać własne skrypty, przyjrzyjmy się programowi trash-cli.

Trash-cli – grzebanie w koszu wciąga

Trash-cli to eleganckie rozwiązanie implementujące w pełni funkcjonalny kosz w surowym terminalu. Program używa tych samych koszów co KDE, GNOME lub XFCE jednak z poziomu tekstowego. Po jego zainstalowaniu pojawią się w naszym systemie następujące komendy realizujące konkretne funkcje:

trash-put przenoszenie do kosza plików i katalogów
trash-empty opróżnianie kosza
trash-list wylistowanie zawartości kosza
trash-restore przywrócenie wrzucone do kosza pliku/katalogu
trash-rm usunięcie konkretnego pliku z kosza

Co więcej, trash-empty pozwala usunąć pliki starsze niż xx dni (jako parametr należy podać liczbę). Jedynym problemem jaki nam pozostanie to oryginalne polecenie rm. Czy zastępować go trash-put? Usunąć? Podlinkować? Zrobić swój skrypt? Ciężko powiedzieć, ale na początek możemy sobie wykonać alias który umieścimy w .bash_profile – będzie on nam przypominał o trash-put:

alias rm=’echo „Chyba nie chcesz usunac tych plikow na dobre? Rozwaz uzycie trash-put. Jezeli chcesz bezpowrotnie wykasowac te pliki, uzyj \rm nazwa_pliku.”; false’

Po dodaniu do .bash_profile musimy się oczywiście wylogować i zalogować ponownie. Polecenie rm będzie dostępne z poziomu roota. Na naszym koncie zadziała \rm. I kto wie, może dzięki temu ocalimy istnienie wielu potrzebnych nam plików.

Program występuje w niemal wszystkich repozytoriach wszystkich dystrybucji. Z jego instalacją nie powinno być najmniejszych problemów.

Post navigation

8 comments for “Terminal pogryzł człowieka: trash-cli

  1. Enzoo - zielony jak Mint
    18 lutego, 2017 at 21:53

    Apropos pierwszego zdania – czy to dotyczy także Windowsa?

  2. ps
    18 lutego, 2017 at 23:16

    W wersji 0.12.9.14-2 nie mam takiego polecenia jak trash-restore.
    $ trash
    trash trash-empty trash-list trash-put trash-rm

    Na załączonym obrazku jest wpisane polecenie $restore-trash.
    Linux jest dla pojeebów czy co?

  3. 19 lutego, 2017 at 0:24

    Trafna uwaga. Można by na podstawie tego np. zgłosić błąd na githubie projektu?

    Ale raczej nikt nie zwróci na to uwagi – ponieważ wersja 0.12 jest z 2012 roku, a obecnie na topie jest wersja 0.17.

  4. 19 lutego, 2017 at 11:07

    „Linux jest dla pojeebów czy co?”
    A może dla ludzi umiejących czytać? 😉 Owszem, nie ma polecenia `trash-restore`, jest za to `restore-trash`.

    @salvadhor:disqus Może i na topie jest 0.17, ale w repo Ubuntu 16.04 niestety mam tylko 0.12.9.

  5. pavbaranov
    19 lutego, 2017 at 11:42

    Widać zależy od dystrybucji (a może i wersji): https://www.archlinux.org/packages/community/any/trash-cli/

  6. Dobrecki
    20 lutego, 2017 at 14:39

    Hmmm, szczerze mówiąc do tej pory nie potrzebowałem niczego odzyskać z Linuxa. Pewnie dlatego że muszę regularnie wykonywać kopie bezpieczeństwa? A taka kopia działa jak gaśnica albo apteczka w samochodzie, póki ją masz na wyposażeniu to nie będzie potrzeby jej użycia. 😀

    Ale skoro już jesteśmy przy temacie. Jest na Linuxa coś takiego jak powiedzmy Recuva na windę? Coś co pozwoli mi prosto i szybko odzyskać nienadpisane jeszcze, choć już skasowane pliki? Dajmy na to z partycji ext4, bo jakoś głównie takich ostatnio używam.

  7. pavbaranov
    20 lutego, 2017 at 18:50
  8. Dobrecki
    20 lutego, 2017 at 23:00

    Przekonamy się jak będę w potrzebie. Nic tak nie weryfikuje jakości programu jak warunki frontowe, znaczy – praca w stresie. 😉
    Dzięki!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »