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.

  • Schneeflocken im Terminal

    Gerade habe ich ein schönes Bash-Skript gefunden, dass einem schöne Schneeflocken in das Terminalfenster zaubert.

    Als Screensaver eignet sich das Skript hervorragend.

    snowjob.sh

    Weihnachtliche Grüße

    *    **         *      **     *     * *    *
       *     * *   *           *       *  * *
        *  *    *    *    * *    *   *  ** * * 
    ******  ******  ****  ** * * * * ** * * ****