Schnappe dir ein Blatt Papier und notiere dir deine Erkenntnisse zu den nachfolgenden Aufgaben!
Öffne ein Terminal und bearbeite die folgenden Aufgaben, um die wichtigsten Befehle kennenzulernen. Übrigens: Innerhalb des Terminals (des geöffneten Fensters) läuft wiederum die sogenannte shell
, mit der du dann interagierst.
(A1) whoami
Aufgabe: Finde heraus, unter welchem Benutzer du aktuell angemeldet bist.
Erklärung: Der Befehl whoami
zeigt den Benutzernamen des aktuell angemeldeten Benutzers an.
(A2) pwd
Aufgabe: Zeige das aktuelle Verzeichnis an, in dem du dich befindest
Erklärung:
- Der Befehl
pwd
(print working directory) zeigt den vollständigen Pfad des aktuellen Arbeitsverzeichnisses an (also des Verzeichnisses, in dem dieshell
/ das Terminal gerade geöffnet ist). - In Linux beginnt der Dateipfad immer beim Root-Verzeichnis, das durch einen Schrägstrich (/), auch Slash genannt, dargestellt wird.
- Im Gegensatz zu Windows, wo Pfade mit einem Laufwerksbuchstaben beginnen (z.B. C:\), gibt es in Linux kein Konzept von Laufwerksbuchstaben. Alle Dateien und Verzeichnisse befinden sich in einer einzigen hierarchischen Struktur unterhalb des Root-Verzeichnisses.
(A3) ls
Aufgabe: Liste alle Dateien und Verzeichnisse im aktuellen Verzeichnis auf.
Erklärung:
- Nutze den Befehl
ls
. - Die bisherigen Befehle haben keine Parameter genutzt. Du hast also einfach nur den Namen des Befehls eingetippt und das hat genügt. Häufig benötigst du aber Parameter, um bestimmte Dinge zu erreichen. Tippe zuerst den Befehl, dann ein Leerzeichen und dann die gewünschten Parameter ein:
-l
: Zeigt die Liste im Langformat, inklusive Details wie Berechtigungen, Anzahl der Links, Besitzer, Größe und Änderungsdatum.-a
: Zeigt alle Dateien an, inklusive versteckter Dateien, die mit einem Punkt (.) beginnen.-h
: Zeigt die Dateigrößen in einem menschenlesbaren Format (nur in Kombination mit-l
sinnvoll).
Weitere Aufgaben (mit Parametern):
- Liste alle Dateien und Verzeichnisse im Langformat auf.
- Liste alle Dateien und Verzeichnisse im Langformat und in menschenlesbarem Format auf. Erkennst du den Unterschied?
- Hänge jetzt zuletzt noch den Parameter
-a
an den Befehl an und schaue, was du dann alles siehst.
(A4) cd
Aufgabe: Wechsle in das Verzeichnis /home.
Erklärung:
- Der Befehl
cd
(change directory) wird verwendet, um in ein anderes Verzeichnis zu wechseln. - Nach dem Befehl musst du bei
cd
noch mit einem Argument angeben, wo du hinmöchtest. Dieses Argument benötigt, anders als die Parameter, keinen Bindestrich zu Beginn.
Absolute und relative Pfade:
- Absoluter Pfad: Ein absoluter Pfad beginnt immer mit dem Root-Verzeichnis (/) und gibt den vollständigen Pfad zu einer Datei oder einem Verzeichnis an. Beispiel: /home/benutzername/Dokumente
- Relativer Pfad: Ein relativer Pfad gibt den Pfad relativ zum aktuellen Verzeichnis an. Er beginnt nicht mit einem Schrägstrich. Beispiel: Wenn du dich im Verzeichnis /home/benutzername befindest, ist Dokumente ein relativer Pfad, der zum Verzeichnis /home/benutzername/Dokumente führt.
Weitere Aufgaben zu cd
:
- Bist du noch immer in
/home
? Dann bewege dich wieder relativ zu/home/<user>
, wobei mit<user>
dein Benutzername gemeint ist.
- Wechsel zum absoluten Pfad
/var/log
- Wechsel zum absoluten Pfad
/home/<user>/Dokumente
- Wechsel eine Ebene nach oben, also zu
/home/<user>
. Das kannst du mit einem absoluten Pfad machen, es gibt aber auch den relativen Pfad-Befehl..
, mit dem du dich relativ in das darüberliegende Verzeichnis begibst.
- Wechsel wieder relativ ins Verzeichnis
Dokumente
. Fachlich korrekt müsste man vom Verzeichnis./Dokumente
reden. Wenn man vor einen Pfad einen Punkt.
schreibt, dann ist damit immer der Pfad ausgehend vom aktuellen Verzeichnis gemeint. Man stellt mit dem Punkt also klar, dass der Pfad wirklich als relativer Pfad zum aktuellen Verzeichnis zu interpretieren ist.
- Wechsel abschließend zum benachbarten Verzeichnis
/home/<user>/Schreibtisch
. Du musst dazu keinen absoluten Pfad eingeben, sondern kommst durch die Kombination der letzten Befehle mit einem einzigen Befehl zu diesem Pfad!
(A5) mkdir
Aufgabe: Erstelle ein neues Verzeichnis namens Projekttage
im aktuellen Verzeichnis.
Erklärung: Der Befehl mkdir
(make directory) wird verwendet, um ein neues Verzeichnis zu erstellen. Du musst (genau wie bei cd
) noch ein Argument nach dem mkdir-Befehl eingeben.
Weitere Aufgabe:
- Prüfe in der shell, ob der Ordner auch tatsächlich erstellt wurde! (Nutze einen der zuletzt kennengelernten Befehle.)
(A6) rm
Aufgabe: Lösche den soeben erstellten Ordner wieder.
Erklärung: Der Befehl rm
löscht Dateien. Wenn du zusätzlich den Parameter -r
verwendest, dann können auch Verzeichnisse gelöscht werden.
ACHTUNG: Bei der Benutzung von rm
gibt es weder eine Nachfrage, ob du die Datei/Verzeichnis wirklich löschen willst, noch gibt es einen Papierkorb. Wenn du etwas gelöscht hast, dann ist es weg - für immer!
Gehe also mit dem Befehl rm
sehr vorsichtig um!
(A7) nano
Aufgabe: Erstelle die Textdatei hallo.txt
mit beliebigem Text.
Erklärung: Mit dem Befehl nano
startest du einen simplen Texteditor, also ein Programm, mit dem du (Text-)Dateien bearbeiten kannst. Als Argument benötigst du den Dateinamen der Datei, die du erstellen oder bearbeiten willst.
Wenn du den Text getippt hast, dann kannst du mit der Tastenkombination Strg + X
schließen. Anschließend musst du dann zusätzlich noch mit der Taste Y
(für Yes) bestätigen, dass du die Änderungen speichern willst und anschließend ENTER drücken.
Zusatzaufgabe: Öffne die Datei anschließend erneut mit nano
, um zu prüfen, ob der Inhalt auch wirklich gespeichert wurde. Nimm Änderungen am Text vor und schließe danach nano
, ohne die Änderungen zu speichern.
(A8) mv
Aufgabe: Nenne die soeben erstellte Datei hallo.txt
in projekttage.txt
um.
Erklärung: Mit dem Befehl mv
(move) kannst du Dateien oder auch Verzeichnisse umbenennen und/oder verschieben. Achtung: Das ist der erste Befehl, der immer zwei Argumente benötigt. Bsp.: mv alterName privat/neuerName.txt
→ Mit diesem Befehl wurde die Datei alterName
sowohl in den (bereits vorhandenen!) Unterordner privat
verschoben und zusätzlich wurde der Dateiname zu neuerName.txt
geändert.
(A9) cp
Aufgabe: Kopiere die Datei projekttage.txt
und nenne die neue Datei linux.txt
.
Erklärung: Nutze den Befehl cp
(copy). Bsp.: cp original kopie
→ Mit diesem Befehl kopierst du die Originaldatei original
und erstellst direkt nebenan eine Kopie namens kopie
. Du könntest die Kopie auch direkt in anderen Verzeichnissen erstellen (… ./ordner/kopie
).
Wenn du ein ganzes Verzeichnis kopieren willst, dann benötigst du nach dem Befehlsnamen noch den Parameter -r
(für rekursiv).
Zusatzaufgabe: Lösche die erstellte und unnötige Kopie wieder.
🥳 Super! Damit hast du die wichtigsten Befehle für die Linux-Shell kennengelernt! 🎉
(A10) Ausprobieren
Probiere nun die kennengelernten Befehle selbstständig weiter aus! Erstelle Dateien und Verzeichnisse, kopiere sie, nenne sie um, ändere den Inhalt von Dateien, lösche sie wieder, lass dir den Inhalt der Verzeichnisse ausgeben usw…
Tipp: Wenn du für einen Befehl weitere Parameter kennenlernen/nutzen willst, dann kannst du das Manual (die Anleitung) für jeden einzelnen Befehl anzeigen lassen. Tippe dazu man ls
um z. B. das Manual für den Befehl ls
angezeigt zu bekommen. Im Manual kannst du dann hoch und runter scrollen. Tippe abschließend die Taste q
(quit), um das Manual wieder zu verlassen.