SSH-Zugang: Bash-Grundlagen

Grundlagen der Bash Kommandozeile

Bash ist eine sog. "Shell". Sie dient als Mensch zu Maschinen Interface, welches einfache Befehle unterstützt. Für Bash ist so gut wie kein Grundwissen nötig, alles was sie täglich an Ihrem eigenen Rechner erledigen, ist genau so mit Bash möglich.

Grundlagen Kommandos

Jedes Kommando repräsentiert ein kleines Programm, welches durch Eingeben ausgeführt wird.
Durch die Kommandozeile (Bash) steuert man, wie so ein Programm ausgeführt wird. Bash merkt sich, in welchem Verzeichnis man sich aktuell befindet und teilt dies dem Programm mit. Somit weiß ein Programm bzw. das "Kommando" in welchem Verzeichnis man sich befindet.

Des Weiteren kann man Kommandos sog. "Übergabeparameter" mitgeben, welche das Kommando weiter Steuern. Dies können "Flags" sein, die z.B. bestimmen, was für Daten ausgegeben werden oder Dateipfade die Eingabe- oder Ausgabedateien definieren. Flags werden meist als erstes nach dem Kommando geschrieben.

Beispiel: kommando -flag -flag2 Datei

Manchmal ist es aber auch nötig, mehrere Dateien oder Pfade über ein Flag angeben zu können. In diesem Falle werden für die Flags nochmal eigene Parameter übernommen.

Beispiel: kommando -input Datei1 -output Datei2

Tipp: Beim Eingeben in die Konsole kann jederzeit die Eingabe mittels der Tab-Taste vervollständigt werden.

Dateisystem

ls Inhalt des Aktuellen Pfad Anzeigen

Mit dem Befehl ls (Engl.: list) können Sie den Inhalt des aktuell ausgewählten Ordners anzeigen. Mit dem Flag -s können Sie sich die Dateigröße in Bytes anzeigen lassen. Mit dem Flag -h können Sie sich die Dateigröße in einer einfacher lesbaren Form anzeigen lassen. Dies geschieht denn in Kilo-, Mega- oder Gigabyte.

pwd Aktuellen Pfad anzeigen

Um herauszufinden, in welchem Arbeitsverzeichnis man sich gerade befindet, kann man den Befehl pwd (Engl.: print working directory) benutzen.

cd Aktuellen Pfad wechseln

Mit dem Befehl cd [Pfad] (Engl.: change directory) können Sie den aktuellen Arbeitspfad ändern. Wenn der angegebene Pfad mit einem / beginnt, so wird er als absoluter Pfad gewertet. Es wird vom Rootverzeichnis des Systems aus nach dem angegeben Pfad gesetzt. Beginnt der angegebene Pfad nicht mit einem / so wird der Pfad relativ zum aktuellen Pfad gesetzt.

Beispiel: cd /home/user Setzt den Aktuellen Pfad auf /home/user.

Ist das aktuelle Arbeitsverzeichnis jedoch /home so kann man einfach cd user eingeben, um in /home/user zu gelangen.

mv Datei Verschieben

Mit dem Befehl mv [Quelle] [Ziel] (Engl.: move) kann man eine Datei verschieben. Als ersten Parameter gibt man die zu verschiebende Datei an. Als zweiten Parameter gibt man an, wo die Datei hin verschoben werden soll.

Tipp: Möchte man eine Datei nur 'umbenennen' so kann man ebenfalls mv benutzen. Man gibt als ersten Parameter den Originalnamen ein und als zweiten Parameter den neuen Dateinamen ein.

cp Datei Kopieren

Mit dem Befehl cp [Quelle] [Ziel] (Engl.: copy) kann man eine Kopie einer Datei anlegen. Als erstem Parameter gibt man die Namen und Pfad der Quelldatei an, als zweiten Parameter gibt man den Namen und Pfad der zu anlegenden Kopie an.

rm Datei oder Pfad löschen

Mit dem Befehl rm [Ziel] kann man Verzeichnisse oder Dateien löschen. Als Parameter übergibt man die zu löschende Datei bzw. das zu löschende Verzeichnis.

Mit dem Flag -R kann man ein Verzeichnis rekursiv löschen. Dadurch werden auch Dateien und Verzeichnisse, die sich in dem angegeben Verzeichnis befinden, gelöscht.

Mit dem Flag -f bestätigen wir sofort die Löschung. Andernfalls muss man die Löschung der Datei oder des Verzeichnisses bestätigen.

Tipp: Um zu vermeiden, dass man aus Versehen, die falschen Daten löscht, ist zu empfehlen niemals die Flags -R und -f zu kombinieren. Sollte man statt einem relativen Pfad einen absoluten Pfad eingeben, der auch so existiert, so löscht man alle Pfade und Dateien ohne Nachfrage in diesem Pfad.

mkdir Verzeichnis erstellen

Mit dem Befehl mkdir [Ziel] können Sie ein neues Verzeichnis erstellen. Als Parameter übergibt man das anzulegende Verzeichnis.

Mit dem Flag -p können dabei auch fehlende Hauptverzeichnisse angelegt werden. Statt jedes Verzeichnis einzeln zu erstellen, gibt man nur den zu erstellenden Gesamtpfad an.

ln Symlink

Mit dem Befehl ln [Quelle] [Ziel] kann man sog. symbolische Links erzeugen. Diese Links sind Verknüpfungen bzw. Zeiger auf Dateien oder Verzeichnisse. Als ersten Parameter übergibt man den Orginalpfad des zu Erstellenden Symlink. Als zweiten Parameter übergibt man den Zielpfad der erstellt werden soll. Sobald dieser Zielpfad erstellt wurde, kann dieser genauso genutzt werden wie der Originalpfad.

Nützliche Befehle

man Dokumentation anzeigen

Mit dem Befehl man [Befehl] kann man sich für jeden beliebigen Befehl die Dokumentation anzeigen lassen. Die sog. Manpages beinhalten alle Information über einen Befehl.

find Dateien Finden

Mit dem Befehl find [Pfad] [Name] kann man in einem Pfad nach Dateinamen suchen. Als ersten Parameter übergibt man den Pfad, in dem gesucht werden soll. Als zweiten Parameter übergibt man den zu suchenden Dateinamen. Dieser Dateiname kann auch ein sog. RegEx Ausdruck sein. Der zweite Parameter ist optional. Wenn kein zweiter Parameter übergeben wird, so werden alle Dateien rekursiv ab dem angegebenen Pfad angezeigt.

grep Inhalt Durchsuchen

Mit dem Befehl grep [Inhalt] [Ziel] können eine oder mehrere Dateien auf ihren Inhalt durchsucht werden. Hier kann man als Inhaltssuche ebenfalls "RegEx" benutzen, um gezielter zu suchen. Als ersten Parameter übergibt man den Inhalt, den man suchen möchte, als zweiten Parameter übergibt man die Datei(en), die man durchsuchen möchte.

Tipp: Um mehrere Dateien gleichzeitig zu durchsuchen, kann man in einem Ordner das Symbol * als sog. Wildcard verwenden. Dies gilt auch, wenn man nur bestimmte Dateien durchsuchen möchte wie bspw. 2020-*. Der Befehl grep Max * sucht in allen Dateien im aktuellen Ordner nach dem Inhalt "Max".

Text Editoren

nano Einfacher Texteditor

Mit dem Befehl nano [Dateipfad] starten Sie den nano Texteditor. Im Texteditor können Sie direkt die Datei bearbeiten. Mit STRG+O schreiben Sie die Datei. Mit STRG+X schließen Sie die Datei.

vi(m) Erweiteter Texteditor

Mit dem Befehl vi [Dateipfad] starten sie den vim Texteditor.
Der Texteditor startet in einem Befehlsmodus. Man kann nicht sofort etwas eintragen. Vim hat viele Kurzbefehle. Z.B. kann man in einer Zeile dd drücken um die gesamte Zeile zu löschen. Drückt man den Buchstaben i kommt man in den sog. Insert-Mode. In diesem Modus können Sie die Datei einfach editieren. Wollen Sie die Datei nicht mehr bearbeiten, so können Sie mit Esc einfach in den Befehlsmodus zurückkehren. Des weiteren hat vim noch shellähnliche Befehle. Gibt man : ein, kommt man in die Vim-Befehlszeile. Diese Befehlszeile unterstützt viele eigene Befehle. Bspw. kann man :set number eingeben um Zeilennummern zu aktivieren.
Um eine Datei zu schließen gibt man einfach :q ein.
Um eine Datei zu speichern gibt man einfach :w ein.
Diese Befehle können auch kombiniert werden :wq.