seeseekey.net - Invictus Deus Ex Machina

Möchte man unter Linux auf dem Terminal einen Ordner mittels tar und gzip komprimieren, so ist dies mit zwei Befehlen erledigt:

tar cvwf data.tar data

Damit wird der Ordner data in eine Tar-Datei archiviert. Bei den Buchstaben nach dem Befehl handelt es sich um die gewünschten Optionen (create, verbose, interactive, file). Eine Tar-Datei ist nicht komprimiert, da das Tar-Format die Daten der Dateien einfach hintereinander in der Tar-Datei anordnet. Zur Kompression der Tar-Datei wird gzip genutzt:

gzip -9 data.tar

Damit wird die Datei mittels gzip gepackt und trägt anschließend den Namen data.tar.gz. Das -9 teilt gzip mit, das die höchste Kompressionsstufe genutzt werden soll.

Um unter Git einen Branch umzubenennen nutzt man den entsprechenden Terminalbefehl:

git branch -m oldBranchname newBranchname

Damit wird der Branch im lokalen Repository umbenannt. Wenn dieser nun mittels git push auf den entfernten Remote übertragen wird, so entsteht dort ein neuer Branch. Um die Umbenennung auch auf dem Remote durchzuführen muss der alte Branch auf dem Remote gelöscht werden:

git push origin :oldBranchname

Damit wird der alte Branch auf dem Remote gelöscht und die Umbenennung ist abgeschlossenen.

Das Terminal ist geöffnet und ein Befehl wie:

rm -rf img*

soll abgesetzt werden. Nun stellt sich die Frage ob man diesen Befehl wirklich so ausführen möchte. Natürlich könnte es sein, das der Befehl zu weit greift, was dazu führt das man mehr löscht als einem lieb ist. Einen Ausweg aus dieser Misere bietet das in Python geschriebene Tool maybe. Installiert werden kann dieses auf der Konsole mittels:

pip install maybe

Führt man nun ein Skript mittels maybe aus:

maybe test.sh

so ermittelt maybe, welche Operationen das Skript vornehmen möchte und zeigt diese an. Nach einer Bestätigung kann der Befehl anschließend ausgeführt werden. Technisch funktioniert das ganze dabei indem der Prozess unter der Kontrolle von ptrace ausgeführt wird. Hierbei werden allerdings nur einige Systemaufrufe blockiert, so das man maybe nur mit Skripten nutzen sollte, welchen man vertraut. Der Quelltext von maybe ist auf GitHub zu finden. Lizenziert ist das Tool unter der GPL in Version 3 und damit freie Software.

Vor kurzem stand ich vor dem Problem, das ich eine Menge Git-Repositories auf der Festplatte hatte und diese um den .git Ordner bereinigen wollte. Unter Linux und Mac OS X kann man sich für diese Aufgabe mit der Kommandozeile behelfen. Dazu wechselt man in den entsprechenden Ordner und gibt im Terminal folgendes ein:

find . | grep .git | xargs rm -rf

Damit werden sämtliche .git Ordner rekursiv gesucht und gelöscht. Was übrig bleibt sind die aktuellen Arbeitskopien der jeweiligen Git-Repositores.

Auf vielen unixoiden Systemen gibt es den Texteditor nano. Im Standardmodus ist die Anzeige der Zeilennummerierung unter nano deaktiviert. Möchte man dies ändern so muss der Parameter -c beim Aufruf des Editors angetragen werden:

nano -c config.cfg
nano mit aktivierter Anzeige der Zeilennummerierung

nano mit aktivierter Anzeige der Zeilennummerierung

Damit zeigt nano im unteren Bereich unter anderem die Zeilennummer an, so das man eine bestimmte Zeile bei Fehlern schnell finden kann.

Unter Mac OS X gibt es eine Sprachausgabe welche qualitativ gesehen zu den besseren Sprachausgaben gehört. Diese Sprachausgabe kann dabei auch über das Terminal bedient werden. Ein:

say "Hallo Welt"

würde dabei Hallo Welt mit der Standardsystemstimme ausgeben. Möchte man eine bestimmte Stimme nutzen, so kann man dies über den Parameter -v angeben:

say -v "Anna" "Hallo Welt"

Dabei gibt es neben den normalen Stimmen eine ganze Reihe von speziellen Stimen (Albert, Bad News, Bahh, Bells, Boing, Bubbles, Cellos, Deranged, Good News, Hysterical, Pipe Organ, Trinoids, Whipser, Zarvox):

say -v "Cellos" "Lalala Hahaha Dadada dadada"

Möchte man die Stimmenausgabe in einer Datei speichern, so nutzt man den Parameter -o:

say "Hallo." -o hallo.aiff

Damit wird die Ausgabe direkt in der Datei gespeichert und kann somit später verwendet werden.

Die Terminal-Applikation unter Mac OS X kommt schlicht und funktional daher. Wer hier den Wind der vergangenden Jahrzehnte in das Terminal bringen möchte sollte sich die App Cathode anschauen. Dabei handelt es sich um einen Vintage-Terminal-Emulator.

Cathode unter Mac OS X im Fenstermodus

Cathode unter Mac OS X im Fenstermodus

Mit diesem können unterschiedliche Monitor- und Console-Typen emuliert werden, was einen gewissen Retrocharme versprüht. Neben der Mac OS X Version, gibt es eine iOS Version, welche mit dem iPhone und dem iPad kompatibel ist.

Preis: 4,99 €
Preis: 4,99 €

Weitere Informationen zu den Apps des Herstellers gibt es auf der offiziellen Seite unter secretgeometry.com.

Im Dock unter Mac OS X befinden sich meist die Shortcuts zu den Applikationen welche schnell gestartet werden sollen – daneben findet man dort auch die aktuell laufenden Applikationen.

Ein Teil des Docks

Ein Teil des Docks

Unter Umständen möchte man dieses Dock bzw. die in ihm liegenden Symbole wieder auf den Grundzustand zurückversetzen. Dazu muss das Terminal geöffnet werden und dort:

defaults delete com.apple.dock

eingegeben und bestätigt werden. Anschließend wird das Dock wieder auf den Basiszustand zurückgesetzt.

Im Film TRON Legacy gab es eine Szene in welcher ein Terminal gezeigt wurde. Colin Devroe hat sich basierend auf diesem Terminal den Spaß erlaubt und einen Terminal Style für Mac OS X entwickelt, welcher das ganze nachahmt.

Der Terminal Style in Aktion

Der Terminal Style in Aktion

Zu finden ist der Style im entsprechenden GitHub Repository. Er kann über die Einstellungen des Mac OS X Terminals installiert werden.

Mit dem Tool Logrotate werden unter Linux die Logs periodisch rotiert, damit der Speicherplatz nicht irgendwann durch die Logs erschöpft wird. Beim Schreiben einer neuen Konfiguration für Logrotate kann es vorkommen, das man diese anschließend testen möchte. Dazu gibt man im Terminal:

logrotate --force /etc/logrotate.d/dpkg

ein, womit der Vorgang für die definierte Konfigurationsdatei ausgeführt wird. Eventuelle Fehler und Warnmeldungen werden dabei mit angezeigt.