Linux Shell: Mit der Bash arbeiten

    Inhalt

    1. Schnelleinstieg – Die wichtigsten Shell-Befehle
    2. Was ist die Linux Shell?
    3. Shell-Befehle ausführlich erklärt
    4. Fortgeschrittene Techniken

    1. Schnelleinstieg – Die wichtigsten Shell-Befehle

    $ echo $0

    Welche Shell gerade verwendet wird, zeigt dir dieser Befehl.

    $ ls 

    Mit dem Befehl ls lässt du den Inhalt des aktuellen Verzeichnisses anzeigen

    $ mkdir Documents/project

    Erstellt ein Verzeichnis Namens project im Documents-Verzeichnis

    $ touch Documents/project/date.js

    Erstellt eine Datei Namens date.js unterhalb des eben angelegten Verzeichnisses project

    $ vim Documents/project/date.js

    Öffnet die Datei date.js im VIM Editor

    date =date +%Y-%m-%d
    echo $date

    Im Editor-Mode kannst du Code hinzufügen, z.B. das Datum als Bash-Skript

    $ cat Documents/project/date.js

    Cat zeigt dir den Inhalt der angegebenen Datei an

    $ open Documents/project/date.js

    Öffnet die ausgewählte Datei im Standard-Editor

    $ grep date Documents/project/*

    Sucht in allen Dateien (*) nach dem String date

    $ find Documents/project/* -iname "at.*"

    Mit find können u.A. Dateien gefunden werden. In diesem Beispiel wird in project/ nach dem String „at“ gesucht, das in einem beliebigen Dateinamen mit beliebiger Dateiendung vorkommen kann

    $ tail -10 /project/log

    Der tail-Befehl zeigt in diesem Fall die letzten 10 Zeilen z.B. einer Log-Datei an.

    Pipes

    Möchtest du Ein- und/oder Ausgabe verketten oder umleiten, ist die Funktion der Pipes sehr hilfreich.

    Um zum Beispiel den Inhalt der Auflistung des Befehls ls in eine Datei zu schreiben, nutzt du

    $ ls >inhalt.txt

    Mit dem grep-Befehl

    $ grep a <inhalt.txt

    kann man die Datei wieder auslesen.

    2. Was ist die Linux Shell?

    Die Linux Shell ist eigentlich die Bash, für Bourne-again shell. Es gibt noch andere Shells, die Bash ist aber die Standard-Shell auf Linux-Systemen und kann auf macOS und Windows Systemen nachinstalliert werden.

    Sie dient als Kommandozeilentool und kann für verschiedene, teilweise in das System tiefgreifende, Operationen verwendet werden, für die keine grafischen Benutzeroberflächen gewünscht sind oder zur Verfügung stehen.

    Die bereits im Schnelleinstieg gelisteten Bash-Befehle werden nun mit weiteren praxisrelevanten Beispielen erklärt. Eine sehr ausführliche Referenz-Übersicht findest du unter https://www.shellbefehle.de/befehle/

    3. Shell-Befehle ausführlich erklärt

    echo

    Der Befehl echo gibt dir Textinhalt auf der Konsole aus. Folgende Beispiele werden häufig verwendet:

    $ echo $USER

    für den aktuell angemeldeten Benuter (Groß-/Kleinschreibung beachten)

    $ echo Inhalt der Datei inhalt.txt ist: `cat inhalt.txt`

    listet dir den Inhalt der angegebenen Datei mittels cat in einer Zeile als String auf

    ls

    $ ls 

    Dieser Befehl listet dir die Verzeichnisse und Dateien auf.

    $ ls k*

    Anzeige aller Dateien die mit einem „k“ beginnen

    $ ls -lash

    Eine ausführliche Auflistung mit Verzeichnis-/Datei-Attributen

    mkdir

    $ mkdir project

    Mit mkdir (für make directory) kannst du ein neues Verzeichnis anlegen.

    $ mkdir project-01 project-02 

    Du kannst mehrere Verzeichnisse anlegen, mit Leerzeichen getrennte Benamung

    $ mkdir -p project-01/project-11

    Hiermit legst du zudem Unterverzeichnisse an.

    touch

    $ touch Documents/project/date.js

    Zum Erstellen neuer Dateien verwendest du touch, hier im Beispiel die Datei date.js in genannten Unterverzeichnissen.

    vim

    $ vim Documents/project/date.js

    Vim ist der Editor in der Bash, der zum Editieren von Dateien etwas gewöhnungsbedürftig ist, mit der Übersicht der wichtigsten Befehle aber schnell verhältnismäßig gut bedient werden kann.

    Hier eine Übersicht:

    aEingabemodus (rechts vom Cursor)
    ESCEingabemodus beenden
    ddZeile löschen
    yykopiert die ausgewählte Zeile
    U Zeile wieder herstellen
    :qschließt das Fenster
    :wqspeichert die Datei und schließt das Fenster
    :q!schließt das Fenster ohne zu speichern
    /datesucht nach einem Muster (vorwärts), in dem Fall nach date

    Ausführliche VIM-Referenz: https://duetsch.info/downloads/vimref.pdf

    cat

    $ cat Documents/project/date.js

    Willst du dir den Inhalt der angelegten Datei ansehen, ist cat der perfekte Befehl.

     $ cat datei-01 datei-02 >project

    Es lassen sich auch Textdateien zusammenfassen und in einer dritten Datei (project) ablegen

    open

    $ open Documents/project/date.js

    Über den Befehl open öffnest du die angegebene Datei in deinem Standard-Editor.

    grep

    $ grep date Documents/project/*

    Das sehr mächtige Tool grep (für general regular expression print) sucht in dem Fall nach dem String „date“ in allen Dateien des Verzeichnisses project.

    $ ls | grep ^p

    In diesem Fall auch mit einer Pipe als Filter, zeigt dir der Befehl alle Dateien an, die mit p beginnen. Dazu wird ein einfaches Beispiel einer Suche nach einem RegExp-Muster verwendet.

    Hier ein paar wichtige RegExp-Muster:

    regText „reg“
    [reg]nur eines der Zeichen „reg“
    [a-z]ein Zeichen von „a-z“
    [a-z0-9]ein Zeichen von a-z oder eine Zahl von 0-9
    [^reg]keines der Zeichen „reg“
    ?das davorstehende Zeichen oder keines
    +das davorstehende Muster einmal oder mehrmals
    * das davorstehende Msuter beliebig oft
    . das beliebiges Zeichen
    {3}das davorstehende Muster dreimal
    {2,4}das davorstehende Muster mind. dreimal, max. viermal
    ^[Uh]zum Zeilenbeginn steht ein U oder ein h
    [0-9]$zum Zeilenende steht eine Ziffer von 0-9

    Weitere Informationen zu RegExp findest du unter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

    find

    $ find Documents/project/* -iname "at.*"

    Möchtest du im Verzeichnis project alle Dateinamen (*) nach einem enthaltenen String „at“ durchsuchen, nutzt du find wie oben gezeigt. Der * hinter „at“ sucht nach allen Dateiendungen.

    tail

    $ tail -10 /project/log

    Der Befehl zeigt die letzten Zeilen einer Datei an. Recht praktisch, wenn in langen Log-Dateien nur die letzten Logs angezeigt werden sollen.

    $ tail -f inhalt.txt

    Ein sehr interessanter Befehl, der durch -f (follow) die aktuellen Bearbeitungen live aufzeichnet (nach dem Speichern).

    Neueste Beiträge

    Linux Shell: Mit der Bash arbeiten

    Inhalt Schnelleinstieg - Die wichtigsten Shell-BefehleWas ist die Linux Shell?Shell-Befehle ausführlich erklärtFortgeschrittene Techniken 1. Schnelleinstieg...

    Windows PowerShell: Skript ausführen

    Inhalt Schnelleinstieg - Skript erstellen und ausführen Was ist ein PowerShell-Skript?PowerShell-Skript ausführlich erklärtFortgeschrittene Techniken 1....

    Windows PowerShell und die wichtigsten Befehle (Cmdlets)

    Inhalt Schnelleinstieg - Die wichtigsten PowerShell Befehle (Cmdlets)Was ist die Windows PowerShell?InstallationPowerShell-Befehle ausführlich erklärtFortgeschrittene Techniken

    Git und die wichtigsten Befehle für den professionellen Einsatz

    Inhalt Schnelleinstieg - Die wichtigsten Git BefehleWas ist Git?VoraussetzungenGit-Befehle ausführlich erklärtFortgeschrittene Techniken 1. Schnelleinstieg -...

    Ähnliche Beiträge

    Kommentar schreiben

    Deinen Kommentar abschicken
    Gebe bitte deinen Namen ein