Sie sind auf Seite 1von 25

Shell Einführung

Manfred Hauswirth | Open Distributed Systems | Einführung in die Programmierung - Vorbereitung, WS 21/22
Warum sollte ich mir die Präsentation ansehen?

• Ich habe bislang keine Erfahrung auf dem


Eingabeterminal.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 2
Welche Vorkenntnisse werden vorausgesetzt?

 Computer, Betriebssyteme und Zahlensysteme

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 3
Ziele
• Nach Abschluß dieser Übung haben Sie grundlegende
Befehle kennengelernt, um auf einem Terminal im
Dateiverzeichnis zu navigieren und sich dort zurecht zu
finden.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 4
Shell Einführung – Das Terminal
• Das Terminal* ist eine Benutzerschnittstelle, die es
dem Benutzer erlaubt
− auf einen Computer zuzugreifen,
− den Computer zu steuern bzw. zu programmieren und
− den Computer zu überwachen.
• Alternativbezeichnungen:
− Konsole, Eingabeaufforderung, Kommandozeile
* Um die Beispiele selbst nachzuvollziehen, benötigen Sie Zugriff auf ein Shell-Terminal. Wie Sie diesen erhalten, sehen Sie im letzten Block
“Aufsetzen der Entwicklungsumgebung”. Sollten Sie zum jetzigen Zeitpunkt noch kein Terminal zur Verfügung haben, arbeiten Sie diese
Präsentation erst Mal “trocken” durch und üben Sie die Anwendung der hier vorgestellten Programme, sobald Sie Zugriff auf ein Terminal haben.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 5
Shell Einführung – Das Terminal
Terminal im Betriebsystem ubuntu

Terminal im Betriebsystem Windows, Ubuntu via WSL2

Terminal im Betriebsystem ubuntu, via SSH und putty

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 6
Shell Einführung – Das Terminal
Terminal im Betriebsystem ubuntu

Terminal im Betriebsystem Windows, Ubuntu via WSL2

Terminal im Betriebsystem ubuntu, via SSH und putty

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 6
Shell Einführung – Das Terminal
Terminal im Betriebsystem ubuntu

Terminal im Betriebsystem Windows, Ubuntu via WSL2

Terminal im Betriebsystem ubuntu, via SSH und putty

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 6
Shell Einführung – Das Terminal
Terminal im Betriebsystem ubuntu

Terminal im Betriebsystem Windows, Ubuntu via WSL2

Terminal im Betriebsystem ubuntu, via SSH und putty

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 6
Shell Einführung – Das Terminal

- Es existieren weitere Terminalprogramme, die einen


erweiterten oder völlig von der Shell verschiedenen
Funktionsumfang anbieten.
- Diese werden im Rahmen der Vorlesung „Einführung in
die Programmierung“ nicht benötigt und werden
deswegen auch nicht unterstützt. Dazu zählen u.a.:
- MinGW unter Windows (Git Bash)
- Eingabeaufforderung im Betriebssystem Windows
- PowerShell im Betriebssystem Windows

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 7
Shell Einführung – Das Terminal

- Es existieren weitere Terminalprogramme, die einen


erweiterten oder völlig von der Shell verschiedenen
Funktionsumfang anbieten.
- Diese werden im Rahmen der Vorlesung „Einführung in
die Programmierung“ nicht benötigt und werden
deswegen auch nicht unterstützt. Dazu zählen u.a.:
- MinGW unter Windows (Git Bash)
- Eingabeaufforderung im Betriebssystem Windows
- PowerShell im Betriebssystem Windows

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 7
Shell Einführung – Das Terminal

- Es existieren weitere Terminalprogramme, die einen


erweiterten oder völlig von der Shell verschiedenen
Funktionsumfang anbieten.
- Diese werden im Rahmen der Vorlesung „Einführung in
die Programmierung“ nicht benötigt und werden
deswegen auch nicht unterstützt. Dazu zählen u.a.:
- MinGW unter Windows (Git Bash)
- Eingabeaufforderung im Betriebssystem Windows
- PowerShell im Betriebssystem Windows

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 7
Shell Einführung – Das Terminal

- Es existieren weitere Terminalprogramme, die einen


erweiterten oder völlig von der Shell verschiedenen
Funktionsumfang anbieten.
- Diese werden im Rahmen der Vorlesung „Einführung in
die Programmierung“ nicht benötigt und werden
deswegen auch nicht unterstützt. Dazu zählen u.a.:
- MinGW unter Windows (Git Bash)
- Eingabeaufforderung im Betriebssystem Windows
- PowerShell im Betriebssystem Windows

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 7
Shell Einführung – Das Dateisystem
• Die Abbildung zeigt als Beispiel die Baumstruktur eines Dateisystems in Linux basierten Betriebssystemen.
• Diese unterliegt dem Filesystem Hierarchy Standard (FHS), der eine Vereinheitlichung der Struktur in Linux
basierten Betriebssystemen vereinbart [2]. / (root)
• In dem Dateisystem können
Dateien mithilfe von
Programmen manipuliert etc/ export/ home/ opt/ tmp/ usr/ var/
werden, d.h.:
− Erstellen
sun_docs/ cron/ opt/
− Kopieren passwd

− Verschieben
− Löschen my-files/ ubuntu/ bin/ sbin/
• Ob ein Benutzer ein
Programm ausführen, oder
eine Aktion mit einer Datei
file1 file2 dir1/ ls mkdir sh
durchführen kann, ob dem
Benutzer oder der Gruppe
diese Rechte erteilt wurden.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 8
Shell Einführung - Programme
• Für unterschiedliche Aktionen, z.B. suchen, kopieren, löschen, etc.
wurden viele verschiedene Programme (a.k.a. Hilfsmittel, Tool,
Befehl) erstellt.
• Programme die im Terminal ausgeführt werden, unterstützen i.d.R.
keine grafische Benutzerschnittstelle (GUI)
• Das Verhalten der Programme wird gesteuert über
− Optionen (auch Flags, Schalter) und
− Parameter gesteuert
− Beispiel: cp –R quellVerzeichnis zielVerzeichnis

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 9
Shell Einführung - Programme
• Für unterschiedliche Aktionen, z.B. suchen, kopieren, löschen, etc.
wurden viele verschiedene Programme (a.k.a. Hilfsmittel, Tool,
Befehl) erstellt.
• Programme die im Terminal ausgeführt werden, unterstützen i.d.R.
keine grafische Benutzerschnittstelle (GUI)
• Das Verhalten der Programme wird gesteuert über
− Optionen (auch Flags, Schalter) und
− Parameter gesteuert
− Beispiel: cp –R quellVerzeichnis zielVerzeichnis

Programm Parameter
Flag

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 9
Shell Einführung - Programme
• man
− liefert zu Programmen die Bedienungsanleitung (manual)
− i.d.R. für die meisten Programme verfügbar
− siehe man man vs. man –help
− man im www:
• https://manpages.debian.org/bullseye/man-db/man.1.de.html [3]
• https://manpages.debian.org/bullseye/man-db/man.1.en.html [3]

Das Programm wird im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 10
Shell Einführung - Programme
• ls
− listet alle Dateien im aktuellen oder angebenen Verzeichnis
• cd
− Wechsel in ein anderes Verzeichnis (change directory)
• touch
− ändert die Dateizugriffszeiten
• pwd
− gibt den aktuellen Dateipfad zurück
• top, htop
− zeigt aktuell laufende Prozesse und wichtige Systeminformationen

Die Programme werden im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 11
Shell Einführung - Programme
• df
− listet belegten Speicherplatz für Laufwerke
• du
− zeigt den belegten Speicherplatz von Dateien/Verzeichnissen
• find
− suche Dateien

Die Programme werden im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 12
Shell Einführung - Programme
• mkdir
− erstellt ein neues Verzeichnis
• rm, rmdir
− Löscht Dateien oder Verzeichnisse
• mv
− Verschiebt Dateien/Verzeichnisse
• cp
− Kopiert Dateien/Verzeichnisse

Die Programme werden im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 13
Shell Einführung - Programme
• chown
− Ändert den Eigentümer von Dateien/Verzeichnissen
• chgrp
− Ändert die Gruppenzugehörigkeit von Dateien/Verzeichnissen
• chmod
− Ändert die Zugriffsrechte/Sichtbarkeit auf Dateien/Verzeichnisse

Die Programme werden im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 14
Shell Einführung - Programme
• sudo, su
− wechselt den Benutzer und
− erteilt dem aktuellen Benutzer Administrationsrechte (root
Rechte)
• apt
− Paketverwaltungs- und –aktualisierungsprogramm

Die Programme werden im Video erklärt.

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 15
Wiederholungsfragen
• Was unterscheidet Dateien und Verzeichnisse?
• Woran kann man erkennen, welche Benutzer(-gruppen)
auf Dateien oder Verzeichnisse zugreifen dürfen?
• Wer oder was ist root
− im Kontext des Dateisystemes und
− Im Kontext der Benutzer?

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 16
Referenzen
• [1] https://wiki.ubuntuusers.de/Shell/Befehls%C3%BCbersicht/, besucht am 10.09.2021
• [2] https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard, besucht am 20.09.2021
• [3] https://manpages.debian.org/, besucht am 21.09.2021

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 17
Weiterführendes Material (optional)
• [1] https://missing.csail.mit.edu/2020/course-shell/, besucht am 10.09.2021
• [2] https://missing.csail.mit.edu/2020/shell-tools/, besucht am 10.09.2021
• [3] https://missing.csail.mit.edu/2020/command-line/, besucht am 10.09.2021

Shell Einführung | Manfred Hauswirth | Einführung in die Programmierung - Vorbereitung, WS 21/22


Seite 18

Das könnte Ihnen auch gefallen