Shell-Scripting Grundlagen

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

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

Flashcards

Shell

A command-line interpreter, often used to execute commands and scripts.

Shell Script

A sequence of commands written in a scripting language, such as Bash, that automates tasks.

Bash Shell

A specific type of shell, widely used on Linux and macOS systems.

Built-in Shell Features

Predefined variables and functions provided by the shell to simplify scripting.

Signup and view all the flashcards

Script Arguments

Values passed to a script when it is executed, accessed using $1, $2, etc.

Signup and view all the flashcards

If Statement

A conditional statement that executes code only if a specific condition is true.

Signup and view all the flashcards

Read Command

A command used to read input from the user and store it in a variable.

Signup and view all the flashcards

Checking for an Empty Variable

Checking whether a variable is empty (has no value).

Signup and view all the flashcards

Switch-case Statement

A multi-way branching statement that allows you to execute different blocks of code based on matching patterns.

Signup and view all the flashcards

Shell Arrays

Ordered collections of values, accessed using indexes (similar to arrays in other languages).

Signup and view all the flashcards

For Loop

A type of loop that iterates over each item in a list, executing the code inside the loop for each item.

Signup and view all the flashcards

While Loop

A type of loop that continues to execute the code inside the loop as long as a specific condition remains true.

Signup and view all the flashcards

Bash Functions

Reusable blocks of code that can be called and executed repeatedly.

Signup and view all the flashcards

Debug Mode

A mode that displays each command executed in a script, helping to debug and track the script's execution flow.

Signup and view all the flashcards

Script Comments

Comments in shell scripts, starting with a # symbol, are used to explain the code and make it easier to understand.

Signup and view all the flashcards

Shebang Line

Specifying the shell interpreter that should be used to execute the script, usually #!/bin/bash in the first line.

Signup and view all the flashcards

KISS (Keep It Simple, Stupid)

A principle advocating for keeping code simple and focused on specific tasks, often used in shell scripting.

Signup and view all the flashcards

UNIX Philosophy

A philosophy emphasizing small, independent programs that perform specific tasks, often applied in shell scripting.

Signup and view all the flashcards

Clean Programming

Thoroughly checking inputs, file existence and validity, and other conditions to prevent errors and unexpected behavior.

Signup and view all the flashcards

Benefits of Shell Scripts

Automating repetitive tasks, simplifying operations, and making them more efficient.

Signup and view all the flashcards

ls Command

A command used to display a list of files and directories in a given location.

Signup and view all the flashcards

Unix File System

A hierarchical structure that represents the organization of files and directories in a Unix-based system.

Signup and view all the flashcards

Root Directory

The top-level directory in the Unix file system, representing the root of the tree.

Signup and view all the flashcards

bin Directory

A specific directory containing executable programs.

Signup and view all the flashcards

dev Directory

A directory containing device files, providing access to hardware like hard drives and printers.

Signup and view all the flashcards

etc Directory

A directory holding system configuration files.

Signup and view all the flashcards

home Directory

A directory where user home directories are stored.

Signup and view all the flashcards

lib Directory

A directory containing libraries, collections of code that other programs can use.

Signup and view all the flashcards

tmp Directory

A directory used for temporary files, often deleted when the system is shut down.

Signup and view all the flashcards

usr Directory

A directory containing system-wide files, programs, and libraries.

Signup and view all the flashcards

File Permissions

A set of rules that control access to files and directories, defining who can read, write, or execute them.

Signup and view all the flashcards

ls -al Command

A command that displays detailed information about files, including their permissions.

Signup and view all the flashcards

Permission Number Representation

Permissions are represented by three numbers, each corresponding to the owner's, group's, and world's permissions.

Signup and view all the flashcards

chmod Command

A command that changes file permissions.

Signup and view all the flashcards

Permission Letter Representation

Permissions can also be set using letters representing user, group, other, and specific actions like read, write, and execute.

Signup and view all the flashcards

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

More Like This

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

at & Localization Pop Quiz

GuiltlessAshcanSchool avatar
GuiltlessAshcanSchool
Bash Scripting Basics
8 questions

Bash Scripting Basics

MagnanimousCloisonnism avatar
MagnanimousCloisonnism
Use Quizgecko on...
Browser
Browser