Copyrightvermerk: Dieses Praktikum basiert auf dem Linux Einführung Praktikum von Prof. U. Schneider. Einige Inhalte wurden direkt übernommen oder abgewandelt.

Praktikum - Linux Schnellkurs

In diesem und dem folgenden Praktikum befassen wir uns mit der Linux Kommandozeile.

Das Praktikum ist zum selbstständigen Durcharbeiten ausgelegt, da Sie am Anfang von Praktikum 2 noch verschiedene Arbeitsstände haben. Praktikum 3 wird dann “semi-hands on” sein, also ich werde Ihnen ausgewählte Aspekte live vorstellen.

Falls Sie es noch nicht getan haben:

Laden Sie sich das Linux Mint ISO unter https://www.linuxmint.com/edition.php?id=281 hterunter. Wählen Sie dazu unter in der Liste (“Download mirrors”) einen Server aus Deutschland/Germany aus, z.B. “FH Aachen”.

Das ISO ist gut 2 GB groß, der Download dauert daher einen Moment.

Installieren Sie im Anschluss Linux Mint, dies ist über mehrere Videos auf Moodle dargelegt.

Problembehandlung

Windows: Es werden nur 32bit-Systeme angezeigt

Falls Sie nur 32bit Linux Systeme auswählen können, ist an Ihrem Computer die Hardwarevirtualisierung deaktiviert.

Diese müssen Sie in der Firmware Ihres Computers anschalten. (Diese Anleitung an einem anderen Computer öffnen)

Wenn Sie ein aktuelles Windows verwenden:

  • Halten Sie die Linke Umschalttaste gedrückt und klicken Sie auf “Neu Starten”
  • Es erscheint “Einen Moment Bitte”
  • Sie wählen Problembehandlung -> Erweiterte Optionen -> UEFI Firmware Starten

Falls diese Option nicht existiert:

Starten Sie Ihren Computer neu und drücken Sie mehrmals die ENTF-Taste sobald das Hersteller-Logo erscheint.

Falls dies nicht funktioniert probieren Sie “ESC” oder “F2”.

Virtualisierung anschalten

Sie sind nun in der Firmware Ihres Computers.

Irgendwo sind die CPU-Einstellungen, (in der Regel unter “System Configuration” oder “Advanced Settings”), dort müssen sie die Virtualisierung (“Virtualisation”) anschalten (Enabled).

Wenn Sie sich unsicher sind, schauen Sie in das Handbuch Ihres Herstellers (bei Desktop-Systemen das Handbuch Ihres Mainboards oder Youtube-Videos.

Die Option ist bezeichnet als:

  • Virtualisation Technology
  • VT-d
  • SVM

Bei “MSI” müssen Sie oben den “Advanced Mode” aktivieren und unter “Overclocking” die Option aktivieren.

Verlassen Sie im Anschluss die Firmware mittels Exit -> Save and Exit.

Das Setup bleibt schwarz oder die VM startet nicht

In diesem Fall ist in den VM-Optionen unter “System -> Beschleunigung” die Paravirtualisierung deaktiviert. Stellen Sie diese auf “voreingestellt” bzw, wenn dies nicht hilft, unter Windows auf “Hyper-V”.

Unter macOS kommt ein Fehler wie “-1019”

Wenn Sie einen “-1019” o.ä. Fehler beim Start der VM bekommen, müssen Sie in macOS unter Systemeinstellungen -> Sicherheit das Oracle VM Modul zulassen.

Die Linux-Tastatur ist “komisch”

In diesem Fall ist das Tastaturlayout nicht auf Deutsch gestellt.

Gehen Sie auf Einstellungen -> Tastatur -> Tastaturbelegung und fügen Sie mit “+” die deutsche Tastatur hinzu. Löschen Sie im Anschluss die andere mit “-”.

Die VM kann nicht erstellt werden

Sie haben keine Schreibrechte auf den eingestellten Ordnerpfad.

Verwenden Sie einen anderen Ordner. Stellen Sie auch sicher, dass der Pfad zum gewählten Ordner existiert.

Praktikumsanleitung

Beachten Sie, dass das Praktikum nicht prüfungsrelevant ist. Es dient aber dem tieferen Verständnis bei einigen Vorlesungsinhalten und Sie bekommen einen Einblick in andere Systeme außer Windows und macOS.

Die Kommandozeile (bzw. Terminal) ist ein schwarzes Fenster mit weißem Text in dem Befehle eingegeben werden können.

Der Fachbegriff ist die “Shell” und unter Linux ist die Standard-Shell in der Regel die Bash oder die Dash (Ubuntu). Diese Shells sind POSIX-kompatibel (siehe Vorlesung), d.h. die POSIX-Standard-Befehle funktionieren in beiden gleichermaßen.

Der Prompt

Wenn Sie die Shell starten sehen Sie links vom Textcursor die Meldung nutzer@computer:~. Dies ist der Prompt. Die Tilde (~) steht dabei für das aktuelle Verzeichnis, hier ihr Home-Verzeichnis (siehe Vorlesung 2).

Mit der TAB-Taste wird ein Befehl vervollständigt, z.B. wenn Sie cd Dok schreiben wird er zu cd Dokumente ergänzt.

Die “Pfeil Hoch”-Taste ruft die letzten Befehle ab.

Hinweise zu Kommandos

Wenn ein Befehl erfolgreich war, gibt er in der Regel keine Ausgabe zurück. Destruktive Befehle wie löschen, fragen vorher nicht nach und es gibt auch keinen Papierkorb. Seien Sie bei der Eingabe also vorsichtig.

Ein Befehl kann sogenannte Kommandozeilenparameter bzw. Argumente übergeben bekommen. Diese werden durch Leerzeichen getrennt:

  • ls Den aktuellen Ordnerinhalt ausgeben
  • ls -l Das l ist ein Argument. Detaillierte Informationen werden ausgegeben.
  • ls -l -a Zwei Argumente. Wie der vorherige, aber versteckte Dateien (beginnen mit “.”) werden auch ausgegeben.
  • ls -la Äquivalent zum vorherigen

Wenn ein Argument in Anführungsstrichen ist, zählt es als eins:

  • ls haus 8 Gibt den Ordnerinhalt der Ordner “haus” und “8” aus
  • ls "haus 8" Gibt den Ordnerinhalt des Ordners “haus 8” aus

Information

Generell gilt “Learning by Doing”

  1. Lesen Sie die angegebenen Hinweise zu den Kommandos, informieren Sie sich dazu bei Bedarf in zusätzlichen Quellen (Vorlesungsskript, Bücher, Web/Online…)

  2. Geben Sie die nachfolgenden Beispiel-Kommando im Terminalfenster der bash (Konsole) ein, beachten Sie die Ergebnisse/Anzeigen und versuchen Sie, die Wirkung der Kommandos zu verstehen und sich zu merken! Schreiben Sie sich ggf. eigene “Merkhilfen” zu den Kommandos auf.

Das Dollar-Zeichen ($) ist Teil des Prompts, geben Sie dieses nicht mit ein!

Hilfe zu Befehlen

Detaillierte Hilfe zu Befehlen bekommen Sie mit man BEFEHL, z.B. man ls. Eine kompaktere Darstellung gibt es mit ls --help bzw ls -h. Help und h funktionieren bei fast allen Programmen.

man öffnet einen Pager (die Terminalausgabe wird am unteren Fensterrand pausiert und Sie können mit den Pfeiltasten scrollen). Diesen Pager können Sie mit der Taste q verlassen.

Führen Sie die nachfolgenden Befehle aus

$ whoami Ihr Benutzername

$ id Ihre Gruppenzugehörigkeit

$ pwd Das aktuelle Verzeichnis

Das Verzeichnis kann mit cd ORDNER gewechselt werden. Probieren Sie die folgenden Ordner aus und überprüfen Sie die Pfadangabe im Prompt und von pwd nach jedem Ordnerwechsel:

  • cd /
  • cd ohne Parameter
  • cd .
  • cd Dokumente
  • cd ~
  • cd ..

Wechseln Sie zurück in Ihr Home-Verzeichnis und geben Sie den Ordnerinhalt aus:

  • ls -l
  • ls -al Welche Unterschiede fallen Ihnen auf?

In der Vorlesung wurden die Linux-Dateiattribute erläutert. Interpretieren Sie diese für .bashrc und Dokumente.

Mit Dateien arbeiten

Leere Dateien erzeugen Sie mit touch NAME. Einen neuen Ordner mit mkdir NAME. Erzeugen Sie nun einen neuen Ordner praktikum und in diesem Ordner, mit touch eine neue Datei datei. Verifizieren Sie, dass die Dateien da sind.

Bearbeiten Sie nun die gerade erzeugte Datei mit dem Kommandozeilen-Texteditor nano. Dieser funktioniert wie notepad. Gespeichert wird aber mit STRG+O und beendet mit STRG+X. Das ^ (Zirkumflex) steht dabei immer für STRG.

Schreiben Sie den folgenden Inhalt in die Textdatei:

Hallo Welt!
Schönes Wetter heute.
Lass uns Baden gehen!

(Diese drei Sätze stammen aus einem C-Lehrbuch, dass ich zu Hause liegen habe)

Speichern und Schließen Sie die Datei.

Führen Sie head -2 datei und tail -2 datei aus. Was sehen Sie?

Der Befehl wc gibt Informationen über den Dateiinhalt aus. Können Sie die drei Zahlen interpretieren? (die manpage kann helfen)

Verwenden Sie cat datei um die Datei auf der Konsole auszugeben. Probieren Sie auch mal cat ohne Parameter. In dem Fall blockiert Ihr Terminal, da cat von Ihrem Terminal liest. Um diesen Modus zu verlassen, müssen Sie mit STRG+C (^C) das Unterbrechungssignal senden.

Geben Sie mit cat die lange Datei /etc/passwd (enthält alle Benutzer) aus. Übersichtlicher wird es mit dem Pager less /etc/passwd.

Legen Sie einen neuen Ordner an. Löschen Sie diesen Ordner mit rmdir.

Legen Sie noch einen Ordner an und erzeugen Sie in diesem eine Datei. Führen Sie erneut rmdir aus, was fällt Ihnen auf?

Mit cp können Sie Dateien kopieren. Kopieren Sie die Datei datei nach datei2.

Benennen Sie mit mv die datei2 in dateikopie um. Ordner lassen sich auf die selbe Art umbenennen.

Bestätigen Sie mit ls die korrekte Benennung der Datei.

Dateirechte

Ermitteln Sie mit ls -l die Dateirechte der Datei datei.

Entfernen Sie das Leserecht mit chmod -r und versuchen Sie nun die Datei zu lesen.

Setzen Sie das Leserecht zurück mit chmod +r. Entziehen Sie nun das Schreibrecht mit chmod -w und verifizieren Sie, dass nano nicht mehr die Datei schreiben kann.

Sie können aber weiterhin mit rm die Datei selbst löschen, da Dateien erzeugen und löschen eine Modifikation des Ordners und nicht der Datei ist.

Sortieren

Erzeugen Sie eine neue Datei farben mit folgendem Inhalt:

rot
blau
gelb
blau

Verwenden Sie sort um die Datei zu sortieren.

Die Ausgabe kann mit > in eine neue Datei umgeleitet werden:

  • $ sort farben > farben.sortiert

Mit sort -u werden nur einzigartige Zeilen ausgegeben.

Sie können weitere Farben an die Datei anhängen:

  • echo "schwarz" >> farben
  • Wichtig ist das >>. Bei einem einzelnen > wird die Datei geleert!

Pipes

Mit Pipes können Befehle kombiniert werden:

Verdeutlichen Sie sich die Wirkung der folgenden Pipes:

  • $ ls | sort Pipe aus ls und sort mit Ausgabe auf dem Bildschirm
  • $ ls | sort –r Pipe aus ls und sort –r mit Ausgabe auf dem Bildschirm
  • $ ls | sort -r >inhalt Pipe aus ls und sort –r mit EA-Umlenkung in Datei
  • $ ls | wc -w Pipe aus ls und wc –w liefert die Anzahl der Dateien im akt. Verzeichnis
  • $ ls | tee inhalt | wc -w wie eben, aber Ausgabe von ls wird zusätzl. in die Datei inhalt kopiert (tee als “T-Stück” in der Pipe)

Dateien suchen

… geht mit dem find Befehl:

Das Kommando find durchsucht das angegebene Verzeichnis incl. aller seiner Unterverzeichnisse nach Dateien, die bestimmten Bedingungen genügen.

  • $ find . -type f Suche im aktuellen Ordner nach Dateien (f = reguläre Dateien)
  • $ find . -type d Suche im aktuellen Ordner nach Ordnern (d = Ordner)
  • $ find . -name susi Suche nach Dateien mit dem Namen susi
  • $ find . -name hans -delete Lösche alle Dateien mit dem Namen hans

Aufgaben zur Selbstkontrolle

  1. Lassen Sie Ihren Loginnamen anzeigen.

  2. Ermitteln Sie Ihr Home-Verzeichnis

  3. Erzeugen Sie eine Datei dat1 mit folgendem Inhalt:

A
BB
ccc
dddd
  1. Bestimmen Sie mit Hilfe eines Kommandos die Anzahl der Zeilen der gerade erzeugten Datei dat1!

  2. Lassen Sie nur die erste Zeile der Datei dat1 anzeigen.

  3. Entfernen Sie das Schreibrecht (Ihr Eigenes) der Datei dat1 und kontrollieren Sie das.

  4. Versuchen Sie mit Hilfe des Kommandos echo folgende Zeile an die Datei dat1 anzuhängen:

eeeee

  1. Setzen Sie Ihr Schreibrecht für dat1 wieder und versuchen Sie es erneut.

  2. Sortieren Sie die Datei dat1, die sortierte Datei soll dat1sort heissen. Lassen Sie den Inhalt anzeigen.

  3. Löschen Sie die Dateien dat1 und dat1sort.

Zuletzt geändert: Donnerstag, 29. Oktober 2020, 09:38