lehrkraefte:blc:informatik:glf22:bashadvanced

Kommandozeile für Fortgeschrittene

Hier werden weitere Standard-Kommandos aus der Unix-Welt vorgestellt. Diese sind mit der git-bash automatisch mitinstalliert.

Die Ausgabe, die ein Programm produziert, kann in eine Datei umgeleitet werden. Beispiel:

echo hello world > hello.txt

echo gibt einfach den gegebenen Text aus. Das > Zeichen leitet die Ausgabe in eine Datei um. Diese wird dabei überschrieben falls die Datei schon existiert. 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

code hello.txt

die entsprechende Datei bearbeiten bzw. anlegen (speichern nicht vergessen!)

Beispiel:

yes | python guide.py

Das Programm yes gibt fortlaufend den Text «yes» aus, bzw. jenen, der danach angegeben wird. Das Python Programm liest dies ein, also ob man dies auf der Tastatur eingegeben hätte. Es werden also automatisch alle Hilfen angezeigt ;-)

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 sortiert alle Zeilen. Entweder jene von der Eingabe oder aus der Datei (oder den Dateien) die angegeben wurde(n).

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 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 zählt Zeilen, Wörter und Bytes.

Mit der Option -R werden alle Dateien und Unterverzeichnisse nach dem Muster durchsucht.

grep -R muster

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'
unzip ~/Downloads/passwordhunt.zip

Entpackt die Datei in ~/Downloads/passwordhunt.zip ins aktuelle Verzeichnis.

Passwordhunt Adventure

Viel Pass mit passwordhunt.zip.

  • lehrkraefte/blc/informatik/glf22/bashadvanced.txt
  • Last modified: 2022/09/30 09:11
  • by Ivo Blöchliger