Kommandozeile für Fortgeschrittene
Hier werden weitere Standard-Kommandos aus der Unix-Welt vorgestellt. Diese sind mit der git-bash automatisch mitinstalliert.
Testen Sie die angegeben Befehle!
Umlenkung der Ausgabe in eine Datei mit '>'
Die Ausgabe, die ein Programm produziert, kann in eine Datei umgeleitet werden. Beispiel:
echo hello world > hello.txt
Der Befehl echo
gibt einfach den gegebenen Text aus. Das >
Zeichen leitet die Ausgabe in eine Datei um. Falls die Datei bereits existiert, wird sie überschrieben. Andernfalls wird die Datei erstellt.
Das ist manchmal praktisch, um ganz kleine Dateien zu schreiben, ohne gleich einen Text-Editor zu öffnen. Sonst können Sie einfach mit
notepad hello.txt
die entsprechende Datei bearbeiten bzw. anlegen (bitte das Abspeichern nicht vergessen!).
Umlenkung der Ausgabe in ein nächstes Programm mit '|'
Beispiel:
yes | python guide.py
Das Programm yes
gibt fortlaufend den Text y
aus, bzw. jenen, der danach angegeben wird.
Das Python Programm liest dies ein, als ob man dies auf der Tastatur eingegeben hätte. Es werden also automatisch alle aktuellen Hilfen angezeigt 1)
Weitere nützliche Kommandos
cat (Datei ausgeben)
Beispiel:
seq 1 3 30 > test.txt cat test.txt
Das erste Kommando seq 1 3 30
produziert eine Folge von Zeilen mit den Zahlen 1,4,7, etc. Mit cat
wird die Datei auf das Terminal ausgegeben.
sort (Zeilen sortieren)
sort
sortiert alle Zeilen. Entweder jene von der Eingabe (Abschicken der Eingabe mit Ctrl+d
, jedenfalls unter Linux) oder jene aus einer angegebenen Datei (oder mehreren angegebenen Dateien).
Beispiele:
seq 1 2 30 | sort sort test.txt
sort
sortiert die produzierten Zeilen alphabetisch, was nicht unbedingt das Gewünschte ist. Soll nummerisch sortiert werden, fügt man die Option -n
an:
seq 1 2 20 | sort > surprise.txt cat surprise.txt sort -n surprise.txt
grep (Zeilen filtern)
grep
gibt jene Zeilen aus, in denen eine gegebene Zeichenkette (z.B. ein Wort oder Zahl) vorkommt. Diese Zeilen kommen entweder als Input daher, oder es werden die angegebenen Datei durchsucht.
Beispiel: Wie viele Zahlen von 1 bis 100 enthalten die Ziffer 2?
seq 1 100 | grep 2 seq 1 100 | grep 2 | wc
Das Kommando wc
(word count) zählt Zeilen, Wörter und Bytes.
Alle Zeilen einer Datei ausgeben, die ein gegebenes Muster (eine Zeichenketter = einen String) enthalten:
grep MUSTER DATEINAME
Mit der Option -R
werden alle Dateien und Unterverzeichnisse (ausgehend vom aktuellen Verzeichnis) nach dem Muster durchsucht.
grep -R muster
In der Ausgabe wird zuerst jeweils der Dateiname (inklusive Pfad) angezeigt. Will man dies verhindern, ergänze man eine “h-flag”:
grep -Rh muster
find (Dateien finden)
find
listet alle Dateien auf, die sich im gegebenen Verzeichnis und Unterverzeichnissen befinden.
find desk
Mit -name
werden nur Dateien gelistet, die dem Suchmuster entsprechen. Achtung, das Suchmuster muss zwischen Anführungszeichen stehen (sonst wird das Suchmuster schon vor der Suche ersetzt).
find desk -name '*.txt' find . -name '*.txt'
Das erste Argument gibt an, wo gesucht werden soll (im Verzeichnis desk
bzw. im aktuellen Verzeichnis (dafür steht der Punkt .
)).
unzip (zip-Datei entpacken)
unzip ~/Downloads/passwordhunt.zip
Entpackt die Datei in ~/Downloads/passwordhunt.zip
ins aktuelle Verzeichnis.
Passwordhunt Adventure
- Speichern Sie die folgende Zip-Datei ins Verzeichnis
C:\ofiXXX
(Rechtsklick, Link speichern als): passwordhunt.zip. - Entpacken Sie das Archiv direkt auf der Kommandozeile mit
unzip passwordhunt.zip
(Voraussetzung ist, dass Sie sich im richtigen Verzeichnis befinden). - Überprüfen Sie wieder mit
ls
, ob auch ein neues Verzeichnis entstanden ist. - Wechseln Sie ins neue Verzeichnis mit
cd passwordhunt
Tab Enter. - Starten Sie den Guide mit
python guide.py
- Viel Spass!