Shellthusiast: trash-cli, denn manchmal ist rm zuviel

Viele Unixer und Linuxer leben gerne in der Shell. Im Normalfall ist man nicht der geneigte Windowsbenutzer, welcher bei einem Löschkommando die Fragen: Ja, Nein, Vielleicht, Ich weiß nicht und Abbrechen bekommt ( dieser Humor sei mir gegönnt). Sprich, wenn Du etwas löschtst, dann bist Du dir auch sicher, dass Du jenes möchtest, typisch Unix/Linux und das ist auch Gut so. Jedem ist es schon einmal passiert, dass er eine Datei in der Orkus geschossen hat und danach durch die Gegend gesprungen ist wie Rumpelstilzchen. Nun könnte man ext3undel, foremost, oder ext3grep nutzen und sich auf ein bischen DeepLevel-Hacking von ext3 begeben. Kenntnisse vorausgesetzt¹
Wer wirklich löschen möchte sollte/muss shred nutzen, in der Default-Einstellung wird die Datei 25 mal überschrieben, aber leider kein Fortschritt angezeigt, dies kann mit der Option -v geschehen. Am besten einen alias anlegen.
Da ich mich zu 99% auf der Shell bewege und nur das nötigste per GUI nutze hatte ich auch schon den Fall der Löschung eines wichtigen Files, zum Glück nicht mit shred. Dies brachte mich zu dem Finden von trash-cli.
trash-cli bietet einem einen Mülleimer in der Shell und hilft somit, manchen Vertipper ohne eine daraus hervorgehende Halbglatze durch Haare raufen zu verhindern und befindet sich auch als schlechgepflegtes Paket in den Debian-Repositories. Bei FreeBSD muss es mit der Hand kompiliert werden, welches bei den Abhängigkeiten ( python >= 2.5 ; python-setuptools >= 2.5) nicht die Herausforderung für ein Shellfreund sein sollte.
Ich kann aber nur davon warnen das Debian-Paket zu nehmen, da es sich um eine veraltete Version handelt, welche nicht wirklich die Befehle nutzt, welche hier vorgestellt werden und vor allem einen massiven Bug besitzt, welcher die Daten zerstören kann. Siehe dazu auch den Hinweis auf der Download/Install-Seite der Homepage.

Nach der Installation stehen folgende Befehl zu der Verfügung:
trash-put > Datei in den Mülleimer
trash-list > Mülleimerinhalt anzeigen
restore-trash > Ergibt einer nummerierte Liste mit dem Inhalt des Mülleimers
trash-empty > ALLE Dateien aus dem Mülleimer entfernen
trash-empty $TAGE > Löscht die Dateien, welche länger als n-Tage schon in dem Mülleimer sind
Die Dateien werden unter dem Freedesktop.org-Standard (XDG-PATH) für den Müll/Trash abgelegt. Wer dies nicht möchte muss den Pfad per Softlink umbiegen. Ich weise extra daraufhin. Es ist vielleicht gewünscht den Mülleimer eher auf einem Enc. Datenträger zu haben, was auch eine bessere Lösung ist. Was nützt eine verschlüsselte HD, wenn die Dateien unverschlüsselt in dem Müll liegen. Eine neue Art von DumpsterDiving, wenigstens stinkt man da nicht;)
Am besten legt man sich einen Softlink auf trash-put Namens del an und nutzt einen cron-job bzw. nutzt die .bash_logout für das Leeren des Mülleimers. Natürlich geht auch ein Script, welches bei einem Shutdown ausgeührt wird. Am besten verknüpft man die ganze Sache mit shred.
Viel Spaß beim löschen;)

¹ Eine sehr gute Übersicht schrieb Carlo Wood 2008 mit dem Artikel HOWTO recover deleted files on an ext3 file system

11 Gedanken zu „Shellthusiast: trash-cli, denn manchmal ist rm zuviel“

  1. man kann auch ein alias in seiner .zshrc anlegen:
    alias ‚rm=rm -i‘

    kombiniert mit einem
    setopt RM_STAR_WAIT

    ist das ne nette Sache …

    – fab

  2. Hi ich nutze nicht die zsh, auch Niklot versucht mich immer zu überreden. Aber die gibt es auf den großen Unices auf welchen ich schaffe nicht. Somit nehme ich bash,tchs und ksh.
    Aber danke Dir für den Tipp, denke das hilft aucvh anderen.
    Grüsse

  3. hoi,
    wer oder was ist denn Niklot? :)
    Um welche Systeme handelt es sich denn dabei?

    Soweit ich weiß kann man aliase(?) auch für die bash anlegen, dann halt in der .bashrc.

    Da steht dann die Option setopt RM_STAR_WAIT halt nicht zur Verfügung, aber rm -i ist ja schon ziemlich safe, evtl auch rm -I (groß I).

    – fab

    PS: Boah die Captchas hier sind echt hart, eben 3 Versuche gebraucht.

  4. Nicht in die .bashrc, sondern in die .bash_alias, immer schön aufgeräumt, so wie mit den .bash_functions https://got-tty.org/meine-bash_functions).
    Und die Systeme sind AIX-Cluster. Ich denke da werde ich keine bash und auch keine zsh installieren.
    Und ich nehme die zsh nicht, da ich mich dann noch an die Hilfsdienste gwöhne, es ist schon so nervig zwischen AIX, FreeBSD, Debian und HP-UX rumzuhüpfen, vor allem was Scripte anbetrifft. Auch ein Grund warum ich die großen Unices hier aussen vorlasse. Das ist Spielgrund für FreeBSD und Debian, nicht wirklich Arbeit, falls Du weisst was ich meine.
    Ich denke mal, wenn ich umgelernt habe und nicht mehr in der IT bin, werde ich mich mehr besalben lassen in der Form, welches andere Shells und Betriebssysteme betrifft. Solange dies noch nicht ist, bleibe ich bei meinen Gewohnheiten. Und trash-cli ist nur ein Hinweis auf den Mülleimer inkl Freedesktop.org-Standard um zu zeigen, dass man auch von einer DE aus die Shell nutzen kann und sollte. Ich sage es mal so, man kann sich selbst sein DE setzen und muss nicht KDE/GNOME/$DE nutzen um seine Automatismen zu haben. Sprich, man kann die Funktionen auch sehr Gut sharen und sollte dies auch. Das macht ja ein Unix/Linux aus, dass ich mein System nach eigenen Gusto nutzen kann. Und warum nicht auch die XDGs nutzen, wenn man auf der Shell arbeitet, IMHO. Mir ging es somit eher um den Mülleimer zwischen zwei Welten. Vielen Neuunixer/linuxern sind diese alten, aber starke Programme kein Begriff. Und man muss ja nicht immer Fruchtzwerge essen, es gibt auch zarte Steaks, man darf nur keine Angst haben;)

  5. hehe das sind dann wohl schon etwas krassere Systeme.

    Mein Spielgrund ist derzeit mein Gentoo jetzt seit knapp einem Jahr. Seitdem gefallen mir terminal apps immer besser.
    Und wenn man den Mülleimer auch über das Terminal benutzen kann, umso besser :)

    SChöner Vergleich am Ende hehe.

    Bist du zufällig admin oder sowas? :)
    Warum willst du denn aus der IT raus

    – fab

  6. Ja Terminalapps sind der Hammer, denke da findest Du viele Tipps hier im Blog.
    Ich war bis Dato Administrator für AIX, Linux und Windows (MCSE/MCP/MCT), nur sattel ich langsam um.
    Aus der IT raus, war nicht mein kompletter Wunsch, aber viele Headerhunter und Arbeiststellen haben mir es so Gut wie ausgetrieben.
    Wenn Du eingestellt wirst für Lau, weil Probezeit, Deinen Job super machst und nach dem erledigen der Arbeit rausgeschmissen wirst, weil Arbeit erledigt wurde ist man preiswerter als ein Externer. Das habe ich nun 5 mal erlebt, erschien nicht schön in meinem CV. Dann habe ich mich noch um den sterbenden Schwiegervater 1 Jahr gekümmert, samt Pflegepersonen, welche noch im haus waren und man nimmt mich nicht mehr, weil ich schon 2 Jahre aus dem Beruf war.
    Somit habe ich mir nun einen anderen Bereich gesucht, Krankenpfleger.
    Wenn fast 20 Jahre Netzwerk/Computer/Sicherheitswissen nicht mehr gefragt sind und man auf circa 200 Bewerbungen nur 2 Absagen bekommt und weitere sich nicht melden, dann ist das nicht mehr schön. Somit, warum soll ich in meinem CV Lügen, damit es so aussieht der tolle Hecht, dann kann und will ichd amit nicht mehr dienen.
    Somit lieber ehrlich, weniger Geld, aber eine Arbeit haben, welche man auch länger besitzt.
    Ich glaube /me passt nun nicht mehr so recht ins Bild;)
    Gruss

  7. ja ich weiß gar nicht mehr so recht wie ich hierher gekommen bin … Glaube ich hab nach spamassassin gegooglet.

    Mein SA lässt zur Zeit bisschen viele Spams durch und iwie hab ich das Gefühl das Bayes nicht wirklich gut funktioniert.

    Wollte deshalb mal evtl dspam angucken, das scheint aber nicht so einfach zu konfigurieren zu sein und ich hab grad eher nicht so die Zeit groß zu frickeln ….

    Parcellite hab ich dank Dir jetzt auch im Einsatz :)
    Bin vor nicht allzulanger Zeit von KDE auf einen Tiling window manager umgestiegen (awesome wm), da läuft noch nicht alles wie es soll.

    Uih das ist echt hart.
    Ich werde später wohl meine Brötchen auch mit IT verdienen (studiere IT-Sicherheit), deshalb interessierte mich deine Entscheidung.

    Du hast nicht zufällig eine Idee für ein zweites google? ;)

    – fab

  8. Ich habe das ganze zu meinem Hoster ausgeliedert und der hat spamhaus etc. Sieht man ja unten all-inkl.com.
    Ich laufe damit mehr als Gut im Gegensatz zu den anderen und lasse meinen mutt nur per imap verbinden an den Hoster und per smtp schicke ich die Daten weg. Natürlich Secure;)
    Dazu nutze ich noch offlineimap falls ich mal was nachschauen muss. Somit habe ich die Last des SPAMs nicht mehr bei mir und muss auch keinen lokalen MTA fahren. Für 7,95€ im Monat bietet der mir 10GB Webspace und Traffic unlimited. Welches ich nicht wirklich voll ausnutze ( Naja, vielleicht wenn mein identi.ca-Client fertig ist).
    Ich habe auch sehr lange Zeit zuhause das ganze selbst gefahren, oder auf dem Laptop wegen mutt. Aber mit muttprofile kann ich mehrere Accounts verwalten und ein Script aus Perl für meine ion3-statusleiste habe ich auch fertig. Das wird immer alle 10 Minuten angetriggert und somit bekomme ich neue Mails noch schneller mit. Denke so reicht das.
    Und für Bayes, er lernt halt nur durch dauerbenutzung. Dazu sollte man OCR verwenden etc.
    Nur wenn man sieht wie eine Maschine wegen den SPAM in die KNie geht, dann lagert man dies lieber aus.
    Oder Du setzt einen Fishing-Account ein.
    Sprich einen aus dem 1&1-Portofolio ( Web.de; GMX.de) nehmen, SPAM ausschalten, per POP3 abholen lassen und heruistisch immer wieder suchen. Nur das macht Traffic- und Stromkosten. Aber wenn Du die Mailadd wirklich überall propagandierst ( kostet auch Zeit und Arbeit), dann sieht es ganz gut aus.
    Du kannst aber auch noch die RBLs von heise nehmen. Die sind auch nicht schlecht. Aber wie gesagt schau Dir mal den Nutzen kosten an. zum lernen eine wundervolle Sache, aber für den Alltag eine rollende Sache in der Thematik Sicherheit, das brauche ich dir nicht zu sagen, es ist Dein Studium;)
    Also ich würde es nutzen in der Form, dassDu weisst wie es geht. Aber Privat die Arbeit machen ist schon eine krassere Sache, welche circa 1 Stunde pro Tag verbraucht.
    btw: http://www.heise.de/ix/NiX-Spam-DNSBL-und-Blacklist-zum-Download-499634.html

    Gruss

  9. achso.

    Ja ich filtere meinen gmx account selbst. Es scheint jetzt ein wenig besser zu funktionieren.

    Es flutschen zur Zeit noch 1-2 mails pro Tag durch.
    Naja aber das Setup ist noch nicht komplett fertig.

    Ich möchte mehrere email accounts mit mutt verwalten können, und je nachdem in welchem Ordner ich mich befinde, soll er den korrekten smtp server auswählen, wenn ich eine email schreiben möchte, dazu braucht es wohl mal wieder einen freien Tag…
    Habe mich auch noch für keinen MTA entschieden.

    Danke übrigens für das neuste (IN)SECURE, die Zeitschrift kannte ich noch nicht.

    Hab jetzt auch bitlbee im Einsatz hehe. Was ich noch nicht rausfinden konnte:
    Nachdem ich per /away meinen status gesetzt habe, weiß ich nicht wie ich mich wieder auf „online“ zurücksetzen kann.

    – fab

  10. könnte man das Setzen des korrekten smptp servers nicht evtl auch über hooks lösen?

    also je nachdem in welchem Ordner ich mich befinde …
    Keine Ahnung ob das für dich alles einen Sinn ergibt, gibt ja 100 möglichkeiten seinen mutt etc. einzurichten :)

    ich denke das muttprofile ist eher nichts für mich.

Kommentare sind geschlossen.