Shell-Scripting Grundlagen
40 Questions
1 Views

Shell-Scripting Grundlagen

Created by
@RevolutionaryFern2779

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Ordnen Sie die Befehle den entsprechenden Funktionen zu:

echo = Ausgabe von Informationen ps = Prozessstatus anzeigen netstat = Netzwerkverbindungen auflisten fuser = Prozess zu einem bestimmten Port ermitteln

Ordne die Variablen in Bash ihrer Beschreibung zu:

$1 = Erstes Argument eines Skripts $2 = Zweites Argument eines Skripts $my_array = Ein Array mit Werten $name = Variable für Benutzereingabe

Ordnen Sie die Verzeichnisse den entsprechenden Beschreibungen zu:

/bin = Enthält ausführbare Programme /dev = Enthält Geräte-Dateien /etc = Enthält Konfigurationsdateien /home = Enthält Benutzerdateien

Ordne die Bash-Befehle ihrem Zweck zu:

<p>read -p = Benutzereingabe lesen echo = Ausgabe auf dem Bildschirm anzeigen if [[ condition ]] = Bedingung prüfen case = Mustervergleich</p> Signup and view all the answers

Ordnen Sie die Shell-Skript-Regeln den entsprechenden Beschreibungen zu:

<p>#!/bin/bash = Legt die Shell fest</p> <h1>Kommentar = Dokumentation im Skript</h1> <p>KISS = Modular programmieren Prüfen auf Parameter = Sauber programmieren</p> Signup and view all the answers

Ordne die Shell-Script-Konstrukte ihren Beschreibungen zu:

<p>if-then = Führt Befehle aus, wenn die Bedingung wahr ist case-esac = Führt je nach Muster unterschiedliche Befehle aus for = Schleife über eine Liste von Elementen while = Schleife bis eine Bedingung falsch ist</p> Signup and view all the answers

Ordnen Sie die Funktionen den entsprechenden Befehlen zu:

<p>cut = Schneidet Text nach bestimmten Kriterien grep = Sucht nach Strings in Dateien sort = Sortiert Daten sed = Bearbeitet Textströme</p> Signup and view all the answers

Ordne die folgenden Shell-Skriptübergaben den entsprechenden Beispielen zu:

<p>./myscript args1 args2 = Schriftschnitt mit zwei Argumenten echo &quot;Argument one is $1&quot; = Anzeige des ersten Arguments if [[ -z ${name} ]] = Bedingung zur Überprüfung der Variablen case $car in = Mustervergleich für Automobile</p> Signup and view all the answers

Ordnen Sie die Begriffe den entsprechenden Konzepten zu:

<p>UNIX-Philosophie = KISS-Prinzip Verzeichnisbaum = Hierarchisches Dateisystem Superuser = Hochrangiger Benutzer Pfade = Mit '/' getrennt</p> Signup and view all the answers

Ordnen Sie die Skriptteile den jeweiligen Aufgaben zu:

<p>for PORT in ... = Iteriert über offene Ports PID=`fuser ... = Ermittelt den Prozess für den Port echo 'INFORMATION FOR OPEN PORT' = Gibt Informationen aus done = Beendet die Schleife</p> Signup and view all the answers

Ordne die folgenden Elemente den richtigen Ergebnissen zu:

<p>Tesla = Fabrik in den USA BMW = Fabrik in Deutschland Mercedes = Fabrik in Deutschland Porsche = Fabrik in Deutschland</p> Signup and view all the answers

Ordnen Sie die Shell-Skripting Konzepte den passenden Beispielen zu:

<p>Dokumentation = Verwendung von '#' Variablen = Zuweisung von Werten Parameter = Eingangsdaten für Skripte Schleifen = Wiederholungen von Kommandos</p> Signup and view all the answers

Ordne die folgenden Bash-Befehle den entsprechenden Funktionsweise zu:

<p>;; = Markiert das Ende eines Musterfalls im case-Befehl esac = Beendet die case-Anweisung then = Markiert den Beginn des Codes, der ausgeführt wird, wenn die Bedingung wahr ist fi = Beendet die if-Anweisung</p> Signup and view all the answers

Ordne die folgenden Shell-Scripting-Konzepte ihren Erklärungen zu:

<p>Arrays = Sammlung von Werten unter einem Namen Bedingungen = Logische Prüfungen zur Steuerung des Programmflusses Schleifen = Wiederholt Befehle basierend auf Bedingungen Funktionen = Wiederverwendbare Codeblöcke mit eigenem Kontext</p> Signup and view all the answers

Ordnen Sie die Begriffe den entsprechenden Funktionen im Unix-Dateisystem zu:

<p>/lib = Enthält Bibliotheken /usr = Enthält Benutzeranwendungen /tmp = Temporäre Dateien /var = Variable Daten wie Logs</p> Signup and view all the answers

Ordne die folgenden Variablentypen den Anwendungsfällen zu:

<p>$name = Speichert den Namen des Benutzers $car = Speichert die Automarke $my_array = Enthält mehrere Werte $some_variable = Wird in einer case-Anweisung verwendet</p> Signup and view all the answers

Ordne die folgenden Verzeichnisse ihren Beschreibungen zu:

<p>tmp/ = Temporäre Dateien, die vom Admin gelöscht werden können usr/ = Beinhaltet installierte Programme und Systemdateien</p> Signup and view all the answers

Ordne die Begriffe den entsprechenden Zugriffsrechten zu:

<p>read = Leserechte auf Dateien write = Änderungsrechte auf Dateien view = Rechte zur Anzeige von Verzeichnisinhalten</p> Signup and view all the answers

Ordne die Dateitypen den korrekten Zeichen zu:

<p>d = Verzeichnis</p> <ul> <li>= Datei l = Symbolischer Link</li> </ul> Signup and view all the answers

Ordne die Rechte den Dateizugriffsarten zu:

<p>r = Lesen w = Schreiben x = Ausführen</p> Signup and view all the answers

Ordne die Benutzerinformationen den folgenden Begriffen zu:

<p>User = Benutzername der Datei Group = Gruppe, der der Benutzer angehört Size = Größe der Datei in Bytes Date = Datum der letzten Änderung</p> Signup and view all the answers

Ordne die folgenden ls-Ausgaben den entsprechenden Werten zu:

<p>drwxr-x---+ = Verzeichnis mit speziellen Rechten -rw-r--r-- = Normale Datei mit Leserechten für andere drwx------@ = Verzeichnis mit beschränkten Rechten für andere</p> Signup and view all the answers

Ordne die Zeilen der ls-Ausgabe den richtigen Informationen zu:

<p>dgre = Benutzername der Datei staff = Gruppe der Datei Aug 16 = Letztes Änderungsdatum</p> Signup and view all the answers

Ordne die folgenden grundlegenden Befehle ihren Funktionen zu:

<p>ls -al = Listet alle Dateien in langem Format auf chmod = Ändert die Dateirechte cp = Kopiert Dateien</p> Signup and view all the answers

Ordne die folgenden Schleifenstrukturen den entsprechenden Funktionen zu:

<p>For-Schleife = Wiederholt eine Aktion für eine festgelegte Anzahl von Durchläufen While-Schleife = Führt eine Aktion aus, solange eine Bedingung wahr ist do-while-Schleife = Führt mindestens einmal eine Aktion aus und prüft dann die Bedingung foreach-Schleife = Iteriert über eine Liste von Werten</p> Signup and view all the answers

Ordne die folgenden Bash Funktionen ihren Beschreibungen zu:

<p>function hell() = Definiert eine Funktion namens hell function_name = Der Name einer benutzerdefinierten Funktion echo = Gibt Text oder Variableninhalt auf dem Terminal aus return = Beendet die Ausführung einer Funktion</p> Signup and view all the answers

Ordne die folgenden Bash Befehle den entsprechenden Funktionen zu:

<p>set -x = Aktiviert den Debug-Modus für die schrittweise Anzeige von Befehlen bash -x ./my_script = Führt ein Skript im Debug-Modus aus read -p = Fragt den Benutzer nach einer Eingabe echo = Gibt eine Nachricht im Terminal aus</p> Signup and view all the answers

Ordne die folgenden Variablenzuweisungen ihren Zwecken zu:

<p>users=&quot;tony amanda john&quot; = Speichert eine Liste von Benutzern counter=1 = Initialisiert einen Zähler für Schleifen name = Speichert den Namen des Benutzers list = Speichert eine Liste von Werten oder Elementen</p> Signup and view all the answers

Ordne die folgenden Code-Snippets den entsprechenden Schleifen zu:

<p>for user in ${users} = Durchläuft eine Liste von Benutzern while [[ -z ${name} ]] = Prüft, ob der Name leer ist ((counter++)) = Erhöht den Zähler um 1 do something = Platzhalter für auszuführende Befehle</p> Signup and view all the answers

Ordne die folgenden Ausdrücke den passenden Ausgaben zu:

<p>echo &quot;Hi there ${name}&quot; = Gibt eine Begrüßung mit dem Namen aus echo &quot;Name cannot be blank&quot; = Informiert den Benutzer, dass der Name nicht leer sein darf echo &quot;Hello Function!&quot; = Gibt einen Gruß aus einer benutzerdefinierten Funktion aus read -p &quot;What is your name?&quot; = Fragt den Benutzer nach seinem Namen</p> Signup and view all the answers

Ordne die folgenden Konzepte den passenden Beschreibungen zu:

<p>Debugging = Prozess zur Fehlersuche und -behebung in Code Script = Eine Datei mit Befehlen, die automatisiert ausgeführt wird Bash = Eine beliebte Shell-Sprache in Unix/Linux Funktion = Ein Block von Code, der bei Bedarf aufgerufen wird</p> Signup and view all the answers

Ordne die folgenden Befehlsarten den entsprechenden Erklärungen zu:

<h1>do something = Platzhalterkommentar für auszuführenden Code</h1> <p>done = Beendet eine Schleife in Bash do = Gibt an, dass die Schleife Actions folgen wird function_name() = Bezeichnet den Namen einer definierten Funktion</p> Signup and view all the answers

Ordne die Befehle den beschriebenen Effekten zu:

<p>chmod 600 ~/.bashrc = Owner erhält Lese- und Schreibrechte chmod 700 ~ = Nur Owner hat Zugriff auf das Home-Verzeichnis chmod g-w ~/.bashrc = Gruppe darf nicht schreiben chmod o+x ~/.bashrc = Andere dürfen ausführen</p> Signup and view all the answers

Ordne die Zahl im chmod-Befehl den entsprechenden Benutzerrechten zu:

<p>6 = Lese- und Schreibrechte für Owner 0 = Keine Rechte für Gruppe 7 = Lese-, Schreib- und Ausführungsrechte für Owner 5 = Lese- und Ausführungsrechte, keine Schreibrechte</p> Signup and view all the answers

Ordne die Symbole den entsprechenden Rechten zu:

<p>u = Besitzer g = Gruppe o = Andere r = Leserechte</p> Signup and view all the answers

Ordne die chmod-Operationen den Wirkungen zu:

<p>chmod gu=rw ~/.bashrc = Besitzer und Gruppe erhalten Lese- und Schreibrechte chmod o+x ~/.bashrc = Andere erhalten Ausführungsrecht chmod g-w ~/.bashrc = Gruppe verliert Schreibrecht chmod u+x ~/.bashrc = Besitzer erhält Ausführungsrecht</p> Signup and view all the answers

Ordne die Beschreibung den Verzeichnisrechten zu:

<p>Lesen = Der Verzeichnisinhalt darf angezeigt werden Schreiben = Dateien/Verzeichnisse dürfen erzeugt werden Ausführen = In das Verzeichnis darf gewechselt werden Verbieten = Hat keinen Sinn für Owner</p> Signup and view all the answers

Ordne die Platzierungen der Fensterrechte zu:

<p>r = Lesen von Dateien w = Schreiben von Dateien x = Ausführen von Dateien</p> <ul> <li>= Rechte abziehen</li> </ul> Signup and view all the answers

Ordne die Nummern der Benutzergruppen zu:

<p>0 = Gruppe hat keine Rechte 1 = Owner kann lesen 2 = Gruppe kann schreiben 3 = Andere haben Ausführungsrechte</p> Signup and view all the answers

Ordne die Befehle den beschriebenen Aktionen zu:

<p>chmod 755 /some_directory = Owner hat alle Rechte, Gruppe und Andere dürfen lesen und ausführen chmod 444 /some_file = Alle dürfen nur lesen chmod 770 /some_other = Owner und Gruppe haben alle Rechte, Andere haben keine chmod 600 /private_file = Nur Owner darf lesen und schreiben</p> Signup and view all the answers

Study Notes

Funktionsumfang Shell-Scripting (I)

  • Die Bash bietet vordefinierte Variablen und Funktionen für Shell-Skripte.
  • Argumente können in Skripten verwendet werden: $./myscript args1 args2 - $1 und $2 verweisen auf das erste und zweite Argument.
  • Bedingte Anweisungen nutzen if:
    if [[ some_test ]]; then
      # Code, der ausgeführt wird, wenn die Bedingung erfüllt ist
    fi
    
  • Benutzerinput mit read:
    read -p "Was ist dein Name?" name
    
  • Pruefen ob Variable leer ist:
    if [[ -z ${name} ]]; then
      echo "Bitte gib deinen Namen ein!"
    else
      echo "Hallo ${name}"
    fi
    

Funktionsumfang Shell-Scripting (II)

  • Switch-Case Anweisungen verwenden case:
    case $some_variable in
      pattern_1)
        # Code für pattern_1
        ;;
      pattern_2 | pattern_3)
        # Code für pattern_2 oder pattern_3
        ;;
    
  • ) # Standardverhalten ;; esac
  • Felder/Arrays:
    my_array=("Wert 1" "Wert 2" "Wert 3" "Wert 4")
    echo ${my_array[@]}
    

Funktionsumfang Shell-Scripting (III)

  • For-Schleifen:
    for var in ${list}; do
      # Code in der Schleife
    done
    
  • While-Schleifen:
    counter=1
    while [[ $counter -le 10 ]]; do
      # Code in der Schleife
      ((counter++))
    done
    
  • Bash Funktionen:
    function funktion_name() {
      # Code in der Funktion
    }
    funktion_name # Funktion aufrufen
    
  • Debugging/Testing:
    • set -x aktiviert den Debug-Modus und zeigt alle ausgeführten Kommandos im Terminal an.
    • bash -x ./my_script führt das Skript im Debug-Modus aus.

Regeln für Programmierung von Shell-Skripten

  • Skripte sollten dokumentiert werden, Kommentare mit #.
  • Definieren der Shell: #!/bin/bash in der ersten Zeile.
  • Modulare Programmierung: KISS (Keep It Simple, Stupid) & UNIX-Philosophie.
  • Saubere Programmierung: Überprüfen von Parametern und Datei-Verfügbarkeit.

Beispiel Shell Script

  • Skripte erleichtern die Arbeit.
  • Beispiel: Skript zur Identifikation aller laufenden Prozesse mit offenen Ports:
    for PORT in `netstat -nat | grep -E 'LISTEN' | cut -f2-4 -d':' | cut -f1 -d'|' | sed -e 's/://g' | sort -nu`; do
      PID=`fuser -n tcp $PORT | cut -c1-6`;
      echo ""; echo "INFORMATION FOR OPEN PORT $PORT:";
      echo "----------------------------";
      ps -f -q $PID
    done
    

UNIX Dateisystembaum

  • Das UNIX Dateisystem ist ein hierarchisches Dateisystem, organisiert in einem Verzeichnisbaum.
  • Pfade werden unter Unix durch Slash / getrennt (Windows verwendet Backslash \).

UNIX Dateisystem (I)

  • Das UNIX Dateisystem virtualisiert den Festplattenspeicher.
  • Dateien werden in einem Verzeichnisbaum eingeordnet.

UNIX Dateisystem (II)

  • Wichtige Verzeichnisse im UNIX Dateisystem:
    • / (Root-Verzeichnis)
    • /bin/ (ausführbare Programme)
    • /dev/ (Zugriff auf Geräte)
    • /etc/ (Konfigurationsdateien)
    • /home/ (Benutzerdateien)
    • /lib/ (Bibliotheken)
    • /tmp/ (temporäre Dateien)
    • /usr/ (Systemweite Dateien und Programme)

Was sind Dateisystemrechte (File Permissions)?

  • UNIX ermöglicht das Festlegen von Zugriffsrechten für Dateien (lesen, schreiben, sehen).
  • ls -al listet alle Dateien im Verzeichnis mit detaillierten Informationen, inkl. Zugriffsrechte.
  • Dateisystemrechte werden mit drei Zahlen dargestellt, die für Owner, Gruppe und Welt die Rechte definieren (Anzahl der Rechte: 0-7, 0=keine Rechte, 7=alle Rechte).

Setzen von Dateisystemrechten mit chmod

  • chmod (Change MODe) ändert Dateisystemrechte.
  • Beispiel: chmod 600 ~/.bashrc setzt Lese- und Schreibrechte nur für den Besitzer.
  • Die Zahlen 600 entsprechen rw-rw---- (6=rw-, 0=---, 0=---).
  • Um das Home-Verzeichnis nur für den Besitzer zugänglich zu machen: chmod 700 ~.
  • Rechte lassen sich auch mit Buchstaben definieren: u - User, g - Group, o - Other.
  • + fügt Rechte hinzu, - entfernt Rechte, = setzt Rechte exakt.
  • r - Lesen, w - Schreiben, x - Ausführen.
  • Beispiele:
    • chmod gu=rw ~/.bashrc setzt Lese-/Schreibrechte für User und Gruppe.
    • chmod o+x ~/.bashrc erlaubt anderen das Ausführen der Datei.
    • chmod g-w ~/.bashrc verbietet der Gruppe das Schreiben.

Dateisystemrechte für Verzeichnisse

  • Lesen: Verzeichnisinhalt anzeigen (mit ls).
  • Schreiben: Dateien/Verzeichnisse erstellen.
  • Ausführen: in das Verzeichnis wechseln (mit cd).
  • Für den Owner ist es nicht sinnvoll, Lese-/ Schreibrechte für ein Verzeichnis zu verbieten.
  • Für die Gruppe und Andere (Welt) ist es aber sinnvoll.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

In diesem Quiz geht es um die Grundlagen des Shell-Scripting, insbesondere um die Verwendung von Variablen, Funktionen, bedingten Anweisungen und Benutzerinput in Bash. Du wirst auch mit Switch-Case Anweisungen und Arrays vertraut gemacht. Teste dein Wissen und vertiefe deine Kenntnisse in Shell-Scripting!

More Like This

Scripting and Shell Commands Quiz
20 questions
Bash Shell Scripting Parameters Quiz
15 questions
at & Localization Pop Quiz
9 questions

at & Localization Pop Quiz

GuiltlessAshcanSchool avatar
GuiltlessAshcanSchool
Use Quizgecko on...
Browser
Browser