Debian Übung (Grundlagen)

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Übungen für ein Debian 12-System

1. Verzeichnisnavigation und Anzeige

Aufgaben

  1. Öffne ein Terminal.
  2. Verwende den Befehl cd, um sicherzustellen, dass du dich in deinem Home-Verzeichnis befindest:
cd ~
  1. Zeige die Inhalte des Home-Verzeichnisses mit dem Befehl ls an. Versuche verschiedene Optionen:
  • Nur Dateien anzeigen:
ls
  • Versteckte Dateien einbeziehen:
ls -a
  • Zusätzliche Dateiinformationen (Größe, Besitzer etc.) anzeigen:
ls -l
  1. Erstelle ein neues Verzeichnis namens uebungen in deinem Home-Verzeichnis:
mkdir ~/uebungen
  1. Wechsle mit cd in das neue Verzeichnis:
cd ~/uebungen

2. Arbeiten mit Dateien

Aufgaben

  1. Erstelle mit dem Befehl touch eine neue Datei namens testdatei.txt:
touch testdatei.txt
  1. Öffne die Datei mit einem Texteditor (z. B. nano) und schreibe ein paar Zeilen Text hinein:
nano testdatei.txt
 Speichere die Datei mit Strg + O, bestätige mit Enter, und schließe den Editor mit Strg + X.
  1. Zeige die Inhalte der Datei zeilenweise an, indem du more und less verwendest:
  • Mit more:
more testdatei.txt
   Hinweis: Drücke die Leertaste, um zur nächsten Seite zu gelangen.
  • Mit less:
less testdatei.txt
   Hinweis: Verwende die Pfeiltasten zum Scrollen und drücke q, um den Modus zu beenden.
  1. Zeige die ersten 3 Zeilen der Datei mit head an:
head -n 3 testdatei.txt
  1. Zeige die letzten 2 Zeilen der Datei mit tail an:
tail -n 2 testdatei.txt

3. Verzeichnisse erstellen und löschen

Aufgaben

  1. Erstelle drei neue Unterverzeichnisse in uebungen:
mkdir verzeichnis1 verzeichnis2 verzeichnis3
  1. Überprüfe, ob die Verzeichnisse existieren:
ls
  1. Lösche das leere Verzeichnis verzeichnis3:
rmdir verzeichnis3
  1. Erstelle eine Datei in verzeichnis1 und versuche, dieses Verzeichnis mit rmdir zu löschen:
touch verzeichnis1/datei.txt
rmdir verzeichnis1
 Frage: Was passiert, wenn du versuchst, ein nicht-leeres Verzeichnis zu löschen?

4. Kopieren, Verschieben und Löschen von Dateien

Aufgaben

  1. Kopiere die Datei testdatei.txt nach verzeichnis1 und benenne sie kopie.txt:
cp testdatei.txt verzeichnis1/kopie.txt
  1. Verschiebe die Datei kopie.txt aus verzeichnis1 nach verzeichnis2:
mv verzeichnis1/kopie.txt verzeichnis2/
  1. Benenne die Datei kopie.txt in verzeichnis2 um zu neuername.txt:
mv verzeichnis2/kopie.txt verzeichnis2/neuername.txt
  1. Lösche die Datei neuername.txt in verzeichnis2:
rm verzeichnis2/neuername.txt

5. Arbeiten mit Berechtigungen (optional)

Aufgaben

  1. Wechsel mit su zum Benutzer root:
su -
 Gib das Root-Passwort ein.
  1. Erstelle im /tmp-Verzeichnis eine Datei namens rootdatei.txt:
touch /tmp/rootdatei.txt
  1. Ändere den Besitzer der Datei auf deinen Benutzer:
chown <dein-benutzername> /tmp/rootdatei.txt
  1. Kehre zu deinem normalen Benutzer zurück:
exit
  1. Überprüfe, ob du die Datei lesen und bearbeiten kannst:
ls -l /tmp/rootdatei.txt

6. IP-Adressinformationen

Aufgaben

  1. Zeige mit ip addr die Netzwerkinterfaces und ihre IP-Adressen an:
ip addr
  1. Notiere dir die IPv4-Adresse deines Systems.
  2. Identifiziere das Interface, das mit dem Internet verbunden ist (z. B. eth0, wlan0):

Bonusübungen

  1. Erstelle eine Datei mit den ersten 10 Zeilen von testdatei.txt:
head -n 10 testdatei.txt > zusammenfassung.txt
  1. Finde Dateien, die mit einem bestimmten Muster beginnen:
 Erstelle z. B. mehrere Dateien:
touch test1.txt test2.txt example.txt
 Suche nach Dateien, die mit test beginnen:
ls test*

Grep Beispiele

  • vim text
quatsch
quatsch
quatsch
wichtig
quatsch
  • grep "wichtig" text
wichtig
  • grep "xinux" /etc/passwd
xinux:x:1000:1000:xinux,,,:/home/xinux:/bin/bash
  • grep "1[0-9][0-9][0-9]" /etc/passwd
xinux:x:1000:1000:xinux,,,:/home/xinux:/bin/bash
  • grep "x\w\+x" /etc/passwd
xinux:x:1000:1000:xinux,,,:/home/xinux:/bin/bash
  • grep "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
  • ls -l /etc | grep shadow
-rw-r-----  1 root shadow  1003 Mär 19 20:18 gshadow
-rw-r-----  1 root shadow   995 Jan 16 19:30 gshadow-
-rw-r-----  1 root shadow  1615 Mär 19 20:18 shadow
-rw-r-----  1 root shadow  1615 Mär 19 20:18 shadow-
Echte E-Mail-Adresse RegEx
  • vim mail
Max.Mustermann@Beispiel.de
Hallo@Welt.de
Irgendwas Anderes
Böse Adresse@+++.de
DieHier@GehtWieder.de
DieHier@@GehtWiederNicht.de
Auch01927Zahlen@SindErlaubt.com
Lokaler_Teil_Erlaubt_Unterstriche@Tests.com
Tests@Globaler_Teile_Aber_nicht.com

  • grep -P "[\w.%+-]+@[\w.-][^_]+\.[a-z]{2,}" mail
Max.Mustermann@Beispiel.de
Hallo@Welt.de
DieHier@GehtWieder.de
Auch01927Zahlen@SindErlaubt.com
Lokaler_Teil_Erlaubt_Unterstriche@Tests.com
[\w.%+-]+
  • Dieser Teil entspricht einem oder mehreren alphanumerischen Zeichen (\w), Punkten (.), Prozentzeichen (%), Pluszeichen (+) oder Minuszeichen (-).
  • Dies ist der Teil vor dem "@"-Symbol in der E-Mail-Adresse, also der Benutzername.
@
  • Dies ist einfach das "@"-Symbol, das in einer gültigen E-Mail-Adresse vorhanden sein muss.
[\w.-]
  • Dieser Teil entspricht einem alphanumerischen Zeichen (\w), einem Punkt (.) oder einem Minuszeichen (-).
  • Dies ist der erste Teil der Domain nach dem "@"-Symbol.
[^_]+
  • Hier steht [^_], was bedeutet, dass ein Unterstrich (_) in diesem Teil nicht erlaubt ist.
  • Dieser Teil entspricht einem oder mehreren Zeichen, die nicht der Unterstrich sind.
  • Dies ist der zweite Teil der Domain.
\.
  • Dies entspricht einem Punkt (.), der das Trennzeichen zwischen dem Domänennamen und der Top-Level-Domain (TLD) markiert.
[a-z]{2,}
  • Dies entspricht zwei oder mehr kleinen Buchstaben (von a bis z), was die TLD repräsentiert.


Mehr Optionen für grep

-c                   meldet nur die Gesamtzahl der Fundstellen
-v                   zeigt nur Zeilen, die »Ausdruck« nicht enthalten
-i                   ignoriert Groß- und Kleinschreibung
-l                   meldet nur Dateinamen mit Fundstellen
-n                   listet Zeilennummern zu jeder Fundstelle
-f                   Dateiname »Dateiname« enthält die Such-Ausdrücke
-E                   ist ein erweiterter regulärer Ausdruck (egrep)
-F                   (Muster, Ausdruck) ist ein Muster (String) (fgrep)
-b                   listet auch die Position der Fundstellen
-A    Anzahl         Anzahl von Zeilen werden nach der Fundstelle ausgegeben
-B    Anzahl         Anzahl von Zeilen werden vor der Fundstelle ausgegeben
-r                   Durchsucht Verzeichnisse rekursiv