Die shell, das terminal, das schwarze Fenster oder nur xterm wie auch immer man es bezeichnen will, wir wollen über jenen Befehlsinterpreter sprechen mit dem man unglaublich viel anstellen kann.
Er ist immer aktiv und braucht keine Grafik, kommt mit ein paar KB-Speicher aus und kann uns ungemein helfen. Zur Shell gibt es ein paar build-in Befehle und ungemein viele Befehle die als eigenständige Programme vorliegen.
In diesem Beitrag möchte ich ein paar Kommandos die in jedem System vorhanden sind unter die Lupe nehmen. Damit es einen Mehrwert hat, basteln wir uns daraus ein Telefonbuch In den nachfolgenden Beiträgen werden wir das Telefonbuch erweitern. Mal sehen was daraus wird.
Inhaltsverzeichnis
Liste der Standardkommandos
Aber schauen wir uns die Kommandos an:
- grep sucht einen Begriff in einer Datei
- cat zeigt den Inhalt einer Datei
- tr ersetzt in einem String einen Begriff
- cut schneidet einen Teil eines Strings aus
- sort sortiert eine Liste
- echo Ausgabe einer Variablen oder eines Strings
- expr Anweisung, dass man etwas rechnen will.
- set Variable inhalte setzen oder Traces aktivieren.
- tail das Ende einer Datei oder Liste anzeigen.
- head den Anfang einer Liste oder Datei anzeigen.
- date Datum und Uhrzeit setzen oder anzeigen.
- bc Taschenrechner
- diff 2 Dateien vergleichen
- mkdir Verzeichnis anlegen.
- rmdir verzeichnis löschen
- rm Datei löschen
- cd wechseln in ein Verzeichnis
- df Plattenbelegung anzeigen.
- du Belegung von Verzeichnissen und Dateien
- wc zählen von Bytes und Zeilen.
- ls Ausgabe von Verzeichnisinhalten
- find Suchen von Dateien.
- file Art der Datei
- sum Prüfsumme über eine Datei bilden.
- more seitenweise Ausgabe
- cp kopie einer Datei
- tar Sicherungsmethode
- cpioc Sicherungsmethode
- vi, ed, vim Editoren
Testdaten
als erstes brauchen wir für unser Telefonbuch Daten. Wir legen uns eine Textdatei im Home-Verzeichnis an. Nennen wir sie telefonbuch.txt. Mit dem Editor eurer Wahl schreiben wir in die Datei.
Feuerwehr;122; moedling@feuerwehr.at
Polizei;133;moedling@polizei.at
Rettung;144;baden@rettung.at
meine_telefonnummer;+43-1234-56789;juhu01@gmx.at
deine_anschrift;;
Wir speichern diese Datei und wollen jetzt damit beginnen damit zu arbeiten.
Dazu starten wir ein Terminal und tippen ein
cat telefonbuch.txt
Wir erhalten eine Liste des Dateiinhaltes so wie wir ihn eingetippt haben. Wenn wir diese Liste sortier haben wollen, dann können wir die Ausgabe als Eingabe bei der Sortierung verwenden. Eine Ausgabe weiterleiten erfolgt mit dem Zeichen | (Pipe)
cat telefonbuch.txt | sort
und schon ist es nach Namen sortiert. Jetzt wollen wir es nach Telefonnummer sortieren und ergänzen unser Kommando um den Parameter -t und -k . Wenn man in den man-Üages nachschaut finden man unter -t die Feldtrennung und unter -k das Feld.
cat telefonbuch.txt | sort -t ";" -k 2
und schon ist unsere Liste nach Telefonnummern sortiert. Natürlich eine 3 und es wäre nach der e-Mail sortiert. Wenn ich mehrere Felder sortieren möchte kann ich es in Form von -k 2,1 angeben. Dann wird es zuerst nach Telefonnummer, dann nach Namen sortiert. Ihr seht, es ist keine Hexerei
Gehen wir zum nächsten Befehl dem grep. Grep sucht mir aus einer Liste nur jene Begriff die mit dem Suchbegriff übereinstimmen.
cat telefonbuch.txt | grep "Feuer"
Alles was mit „Feuer“ beginnt wird gefunden. Wenn ich feuer und Feuer suche dann sage ich grep mit -i ignoriere die Groß- und Kleinschreibung. Mit einem -v soll grep alles liefern außer „Feuer“
cat telefonbuch.txt | grep -i -v "feuer"
Auch bei vielen 1000 Datensätzen würde sich das im Millisekundenbereich bewegen. Wenn ihr wissen wollt, wie lange ein Befehl braucht, schreibt einfach ein den Begriff time davor
Vielleicht ist es aufgefallen, dass ich des öfteren etwas unter „“ Anführungszeichen geschrieben habe. Die shell hat einen Haufen reservierte Zeichen die eine Sonderbedeutung haben. Eines ist der ; als Trennzeichen zwischen 2 Kommandos. Wenn ich jetzt das Zeichen expliziert suche/verwende dann muss ich das der shell sagen. Dazu kann man das Anführungszeichen nutzen. Wir werden später noch weitere kennen lernen.
Als letzten Befehl für heute wollen wir uns noch den Befehl cut ausschneiden, anschauen
cat telefonbuch.txt | grep -i -v "feuer" | cut -d";" -f3-3
-d ist unser Trennzeichen der ; und wir wollen das 3 Feld haben. Profis wie wir sind haben wir das sofort durchschaut. Wenn wir jetzt nur den Mailnamen ohne Domaine haben wollen dann hängen wir einfach ein weiteres cut an .
cat telefonbuch.txt | grep -i -v „Feuer“ | cut -d“;“ -f3 | cut -d“@“ -f1-1
und wenn wir jetzt nur die ersten 4 buchstaben haben wollen dann können wir es mit der Option -c1-4 machen.

Noch keine Reaktion