Debian Übung (Grundlagen): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 8: | Zeile 8: | ||
<syntaxhighlight lang="bash">cd ~</syntaxhighlight> | <syntaxhighlight lang="bash">cd ~</syntaxhighlight> | ||
# Zeige die Inhalte des Home-Verzeichnisses mit dem Befehl <code>ls</code> an. Versuche verschiedene Optionen: | # Zeige die Inhalte des Home-Verzeichnisses mit dem Befehl <code>ls</code> an. Versuche verschiedene Optionen: | ||
| − | + | * Nur Dateien anzeigen: | |
<syntaxhighlight lang="bash">ls</syntaxhighlight> | <syntaxhighlight lang="bash">ls</syntaxhighlight> | ||
| − | + | *Versteckte Dateien einbeziehen: | |
<syntaxhighlight lang="bash">ls -a</syntaxhighlight> | <syntaxhighlight lang="bash">ls -a</syntaxhighlight> | ||
| − | + | * Zusätzliche Dateiinformationen (Größe, Besitzer etc.) anzeigen: | |
<syntaxhighlight lang="bash">ls -l</syntaxhighlight> | <syntaxhighlight lang="bash">ls -l</syntaxhighlight> | ||
# Erstelle ein neues Verzeichnis namens <code>uebungen</code> in deinem Home-Verzeichnis: | # Erstelle ein neues Verzeichnis namens <code>uebungen</code> in deinem Home-Verzeichnis: | ||
| Zeile 28: | Zeile 28: | ||
Speichere die Datei mit Strg + O, bestätige mit Enter, und schließe den Editor mit Strg + X. | Speichere die Datei mit Strg + O, bestätige mit Enter, und schließe den Editor mit Strg + X. | ||
# Zeige die Inhalte der Datei zeilenweise an, indem du <code>more</code> und <code>less</code> verwendest: | # Zeige die Inhalte der Datei zeilenweise an, indem du <code>more</code> und <code>less</code> verwendest: | ||
| − | + | * Mit <code>more</code>: | |
<syntaxhighlight lang="bash">more testdatei.txt</syntaxhighlight> | <syntaxhighlight lang="bash">more testdatei.txt</syntaxhighlight> | ||
| − | + | Hinweis: Drücke die Leertaste, um zur nächsten Seite zu gelangen. | |
| − | + | * Mit <code>less</code>: | |
<syntaxhighlight lang="bash">less testdatei.txt</syntaxhighlight> | <syntaxhighlight lang="bash">less testdatei.txt</syntaxhighlight> | ||
| − | + | Hinweis: Verwende die Pfeiltasten zum Scrollen und drücke <code>q</code>, um den Modus zu beenden. | |
# Zeige die ersten 3 Zeilen der Datei mit <code>head</code> an: | # Zeige die ersten 3 Zeilen der Datei mit <code>head</code> an: | ||
<syntaxhighlight lang="bash">head -n 3 testdatei.txt</syntaxhighlight> | <syntaxhighlight lang="bash">head -n 3 testdatei.txt</syntaxhighlight> | ||
| Zeile 52: | Zeile 52: | ||
<syntaxhighlight lang="bash">touch verzeichnis1/datei.txt</syntaxhighlight> | <syntaxhighlight lang="bash">touch verzeichnis1/datei.txt</syntaxhighlight> | ||
<syntaxhighlight lang="bash">rmdir verzeichnis1</syntaxhighlight> | <syntaxhighlight lang="bash">rmdir verzeichnis1</syntaxhighlight> | ||
| − | + | Frage: Was passiert, wenn du versuchst, ein nicht-leeres Verzeichnis zu löschen? | |
== 4. Kopieren, Verschieben und Löschen von Dateien == | == 4. Kopieren, Verschieben und Löschen von Dateien == | ||
| Zeile 88: | Zeile 88: | ||
# Notiere dir die IPv4-Adresse deines Systems. | # Notiere dir die IPv4-Adresse deines Systems. | ||
# Identifiziere das Interface, das mit dem Internet verbunden ist (z. B. <code>eth0</code>, <code>wlan0</code>): | # Identifiziere das Interface, das mit dem Internet verbunden ist (z. B. <code>eth0</code>, <code>wlan0</code>): | ||
| − | |||
== Bonusübungen == | == Bonusübungen == | ||
| Zeile 100: | Zeile 99: | ||
<syntaxhighlight lang="bash">ls test*</syntaxhighlight> | <syntaxhighlight lang="bash">ls test*</syntaxhighlight> | ||
| − | --- | + | = 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 | ||
Aktuelle Version vom 3. Dezember 2024, 08:46 Uhr
Übungen für ein Debian 12-System
Aufgaben
- Öffne ein Terminal.
- Verwende den Befehl
cd, um sicherzustellen, dass du dich in deinem Home-Verzeichnis befindest:
cd ~
- Zeige die Inhalte des Home-Verzeichnisses mit dem Befehl
lsan. Versuche verschiedene Optionen:
- Nur Dateien anzeigen:
ls
- Versteckte Dateien einbeziehen:
ls -a
- Zusätzliche Dateiinformationen (Größe, Besitzer etc.) anzeigen:
ls -l
- Erstelle ein neues Verzeichnis namens
uebungenin deinem Home-Verzeichnis:
mkdir ~/uebungen
- Wechsle mit
cdin das neue Verzeichnis:
cd ~/uebungen
2. Arbeiten mit Dateien
Aufgaben
- Erstelle mit dem Befehl
toucheine neue Datei namenstestdatei.txt:
touch testdatei.txt
- Ö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.
- Zeige die Inhalte der Datei zeilenweise an, indem du
moreundlessverwendest:
- 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.
- Zeige die ersten 3 Zeilen der Datei mit
headan:
head -n 3 testdatei.txt
- Zeige die letzten 2 Zeilen der Datei mit
tailan:
tail -n 2 testdatei.txt
3. Verzeichnisse erstellen und löschen
Aufgaben
- Erstelle drei neue Unterverzeichnisse in
uebungen:
mkdir verzeichnis1 verzeichnis2 verzeichnis3
- Überprüfe, ob die Verzeichnisse existieren:
ls
- Lösche das leere Verzeichnis
verzeichnis3:
rmdir verzeichnis3
- Erstelle eine Datei in
verzeichnis1und versuche, dieses Verzeichnis mitrmdirzu 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
- Kopiere die Datei
testdatei.txtnachverzeichnis1und benenne siekopie.txt:
cp testdatei.txt verzeichnis1/kopie.txt
- Verschiebe die Datei
kopie.txtausverzeichnis1nachverzeichnis2:
mv verzeichnis1/kopie.txt verzeichnis2/
- Benenne die Datei
kopie.txtinverzeichnis2um zuneuername.txt:
mv verzeichnis2/kopie.txt verzeichnis2/neuername.txt
- Lösche die Datei
neuername.txtinverzeichnis2:
rm verzeichnis2/neuername.txt
5. Arbeiten mit Berechtigungen (optional)
Aufgaben
- Wechsel mit
suzum Benutzerroot:
su -
Gib das Root-Passwort ein.
- Erstelle im
/tmp-Verzeichnis eine Datei namensrootdatei.txt:
touch /tmp/rootdatei.txt
- Ändere den Besitzer der Datei auf deinen Benutzer:
chown <dein-benutzername> /tmp/rootdatei.txt
- Kehre zu deinem normalen Benutzer zurück:
exit
- Überprüfe, ob du die Datei lesen und bearbeiten kannst:
ls -l /tmp/rootdatei.txt
6. IP-Adressinformationen
Aufgaben
- Zeige mit
ip addrdie Netzwerkinterfaces und ihre IP-Adressen an:
ip addr
- Notiere dir die IPv4-Adresse deines Systems.
- Identifiziere das Interface, das mit dem Internet verbunden ist (z. B.
eth0,wlan0):
Bonusübungen
- Erstelle eine Datei mit den ersten 10 Zeilen von
testdatei.txt:
head -n 10 testdatei.txt > zusammenfassung.txt
- 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