Über Open Source im Alltag

Schlagwort: bash

safe-rm – oder wie man Daten vor sich selbst schützt

In einem Moment der Unachtsamkeit kann es dazu kommen, dass man aus Versehen ein Verzeichnis mit wichtigen Daten löscht.

So kann ein kleiner Fehler große Auswirkungen haben:

rm -rf /usr/bin/ doofes_programm

Denn hier wird nicht der Ordner /usr/bin/doofes_programm gelöscht sondern /usr/bin und das Verzeichnis doofes_programm.

Wer seine Daten vor der eigenen Unachtsamkeit schützen will der kann safe-rm benutzen.

Das Programm installiert seine Binary nach /usr/bin/rm, das normale rm in /bin/ bleibt also unberührt. Da bei Debian jedoch zunächst in /usr/bin geschaut wird, wird bei dem Aufruf von rm von nun an safe-rm ausgeführt. Möchte man jedoch das normale rm nutzen kann man die einfach über den vollständigen Pfad ausführen.

In den Konfigurationsdateien für safe-rm kann man festlegen welche Verzeichnisse oder Dateien von safe-rm geschützt werden sollen.

  • /etc/safe-rm.conf – globale Konfigurationsdatei
  • ~/.safe-rm – Konfigurationsdatei des Benutzers Das Programm ist in Debains Repositories zu finden oder bei manch anderer Distribution. Das Programm kann auch von der Projektseite heruntergeladen werden. Die Lizenz ist die GPLv3.

lesspipe & catdoc – PDF, DOC und mehr im Terminal betrachten

Möchte man mit less eine Datei betrachten, so kann dies zu ungewollten Ergebnissen führen. Öffnet man etwa die PDF-Datei der 04/2012 Ausgabe des freiesMagazin mit less ist das Ergebnis recht unansehnlich:

%PDF-1.4
%<d0><d4><c5><d8>
1 0 obj
< < /S /GoTo /D (12_04_editorial.2) >>
endobj
4 0 obj
(Editorial)
endobj
5 0 obj

Tut man dagegen das Selbe mit lesspipe einem Programm das viele Dateiformate decodiert und in einer leserlichen Form an less übergibt, dann sieht das Ergebnis sehr ansprechend aus.

      freiesMagazin                                                                                      April 2012



      Topthemen dieser Ausgabe

      Python – Teil 12: Reguläre Ausdrücke                                                                Seite 9
      Nachdem im letzten Teil dieser Reihe ein kleiner Twitter-Client besprochen wurde, wird es nun wieder etwas
      theoretischer: Anhand einiger einfacher Beispiele sollen Reguläre Ausdrücke vorgestellt werden. (weiterlesen)

Das funktioniert ebenso mit DOC-Dateien sowie einer Vielzahl von Archivdateien (.deb, .zip, .lz sowie viele Weitere – eine Übersicht findet sich in der Manpage des Programms).

Möchte man sich Dateien mit der Endung .doc ansehen muss man sich zunächst noch das Programm catdoc installieren. catdoc verhält sich selbst wie das cat-Kommando.

pv – pipe viewer: Fortschrittsbalken und ETA für die Pipe

Leitet man in der Konsole etwas von einem Programm zum nächsten verwendet man dazu auf Unix-System die sog. Pipes, dargestellt durch das „|“-Zeichen. Leider gibt es dafür keinen Fortschrittsanzeige oder eine Anzeige für Übertragungsraten. Abhilfe schafft hier das Programm pv (pipe viewer). Das Programm lässt sich auch verwenden, wenn ein Programm von sich aus keine Fortschrittsanzeige mitbringt. Im Folgendem ein paar Beispiele.

cat große_datei.log | pv | grep SUCHWORT

Oder als Trick bei einem Programm den Fortschritt zu überblicken:

pv wichtiges_backup.img | dd if=/dev/stdin of=/dev/festplatte bs=1

Terminal-Trick: Befehl vor `history` verstecken

Führt man einen Befehl in der Kommandozeile aus, dann wird dieser in der sog. history protokolliert.

Möchte man dies verhindern, da man etwa ein Passwort an ein Programm übergibt, dann reicht es vor dem Befehl ein Leerzeichen zu setzen.

Normaler Befehl:

ftp user@passwort:host.tld/verzeichnis

history-Ausgabe:

3760* man ls
3761* bash
3763  ftp user@passwort:host.tld/verzeichnis

„Versteckter Befehl“:

 ftp nobody@topsecret:not-my-department.tld/

history-Ausgabe:

3760* man ls
3761* bash
3763  ftp user@passwort:host.tld/verzeichnis

Der Befehl wurde der Historie also nicht hinzugefügt.

© 2020 [z]-Blog

Theme von Anders NorénHoch ↑