Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
faecher:informatik:oberstufe:git:shell:verzeichnisse:start [21.09.2023 06:39] – angelegt Frank Schiebel | faecher:informatik:oberstufe:git:shell:verzeichnisse:start [14.11.2024 20:39] (aktuell) – gelöscht Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Verzeichnisse ====== | ||
- | ===== Grundlagen ===== | ||
- | |||
- | Öffne ein Terminal und gib folgendes ein: | ||
- | |||
- | <code bash> | ||
- | pwd | ||
- | </ | ||
- | |||
- | Als Ausgabe am Bildschirm erhältst du beispielsweise: | ||
- | |||
- | <code bash> | ||
- | / | ||
- | </ | ||
- | |||
- | Das ist dein "HOME Verzeichnis" | ||
- | eines Pfades unter Linux/Unix der Schrägstrich (englisch Slash) / (und nicht wie unter | ||
- | Microsoft Windows der Backslash \) ist. | ||
- | |||
- | Dadurch können wir auch einen neuen Begriff definieren: Ein **Pfad** | ||
- | ist eine Zeichenkette, | ||
- | einen Schrägstrich getrennt sind. | ||
- | |||
- | Eine weitere Unterschied gegenüber Microsoft Windows ist, dass es keine Laufwerke | ||
- | (C:, D: usw.) gibt. Unter Unix bzw. Linux gibt es nur ein sogenanntes "root Verzeichnis" | ||
- | — im Deutschen auch mit **Wurzelverzeichnis** übersetzt. Die Bezeichnung Laufwerk | ||
- | wird unter Unix nicht verwendet. | ||
- | |||
- | Man spricht immer von Partitionen, | ||
- | |||
- | Unter Unix/linux wird, im Gegensatz zu Microsoft Windows, auch zwischen Groß– und | ||
- | Kleinschreibung unterschieden. | ||
- | |||
- | <code bash> | ||
- | / | ||
- | </ | ||
- | |||
- | und | ||
- | |||
- | <code bash> | ||
- | / | ||
- | </ | ||
- | |||
- | bezeichnen also zwei völlig verschiedene Verzeichnisse. | ||
- | |||
- | Eine Trennung nach Dateierweiterungen wie unter Microsoft Windows (z.B. *.exe | ||
- | oder *.doc ist unter Unix in manchen Gebieten zwar üblich (z.B. *.tex für LaTex | ||
- | Dokumente oder *.odt für LibreOffice Text-Dokumente) aber keineswegs zwingend — | ||
- | so haben ausführbare Dateien meist gar keine Endung (z.B. lautet der Programmname der meistverwendeten Shell einfach | ||
- | '' | ||
- | |||
- | ===== Autocomplete mit TAB ===== | ||
- | |||
- | |||
- | Bei der bash (und einigen anderen Shells) ist eine Autocomplete-Funktion. Wenn du einen Befehl oder einen | ||
- | Dateinamen unvollst ändig angibst und dann die TAB Taste drückst, wird der Name vervollständigt, | ||
- | falls er eindeutig ist, d.h. wenn es nur eine Möglichkeit zur Vervollständigung gibt. | ||
- | |||
- | Gibt es mehrere Möglichkeiten, | ||
- | Möglichkeiten auf (ab einem voreingestellten Wert wird abgefragt, ob du wirklich alle Möglichkeiten | ||
- | sehen willst, weil die Liste dann teileweise sehr lang ist). | ||
- | |||
- | ===== Arbeiten mit Verzeichnissen ===== | ||
- | |||
- | Nach dem Einloggen befindest du dich in deinem HOME-Verzeichnis. Gib Folgendes ein: | ||
- | <code bash> | ||
- | pwd | ||
- | </ | ||
- | |||
- | Der Befehl pwd (print working directory) zeigt dir an, in welchem Verzeichnis du dich | ||
- | sich gerade befindest. | ||
- | Du erhältst jetzt eine Antwort, die die Ausgabe des Befehls zeigt, zum Beispiel: | ||
- | |||
- | <code bash> | ||
- | / | ||
- | </ | ||
- | |||
- | Wie auch unter Microsoft Windows dient zum Wechseln des Verzeichnisses der Befehl | ||
- | '' | ||
- | |||
- | <code bash> | ||
- | cd Dokumente | ||
- | </ | ||
- | |||
- | Nun gibst du wieder '' | ||
- | |||
- | <code bash> | ||
- | / | ||
- | </ | ||
- | |||
- | Nun wollen wir noch einmal ein '' | ||
- | |||
- | <code bash> | ||
- | cd /etc | ||
- | </ | ||
- | |||
- | Wenn du jetzt '' | ||
- | |||
- | <code bash> | ||
- | /etc | ||
- | </ | ||
- | |||
- | Achte auf den feinen Unterschied zwischen den beiden Eingaben von cd. | ||
- | Beim zweiten Mal steht vor dem etc ein ''/'' | ||
- | - und genau das ist es hier. | ||
- | |||
- | Was wir hier lernen, ist der vielleicht bereits aus Microsoft Windows bekannte Unterschied zwischen absoluten und relativen Dateiangaben. | ||
- | |||
- | Der erste Befehl wechselt in das Verzeichnis " | ||
- | Wären wir beispielsweise in ''/ | ||
- | |||
- | Der zweite Befehl wechselt in das Verzeichnis ''/ | ||
- | immer sämtliche Verzeichnisse im Pfad vom Root-Verzeichnis ausgehend bis zum Zielverzeichnis oder zur Zieldatei auf. | ||
- | Wollten wir in das " | ||
- | |||
- | <code bash> | ||
- | cd / | ||
- | </ | ||
- | |||
- | Hier ist die Tab-Taste wieder dein Freund, denn das alles einzutippen macht wenig Freude. | ||
- | |||
- | |||
- | Wechsle jetzt ins Root-Verzeichnis. Gib einfach ein: | ||
- | |||
- | <code bash> | ||
- | cd / | ||
- | </ | ||
- | |||
- | Jetzt möchten wir versuchen, wieder in dein HOME-Verzeichnis zu kommen. Du könntest jetzt eingeben: '' | ||
- | Aber das ist ziemlich lang. Hier gibt es eine einfache Lösung. Du verwendest dazu das Tilde-Zeichen '' | ||
- | |||
- | <code bash> | ||
- | cd ~ | ||
- | </ | ||
- | |||
- | Oben sind wir im '' | ||
- | |||
- | <code bash> | ||
- | cd ~/Dokumente | ||
- | </ | ||
- | |||
- | Eine Parallele zu Microsoft Windows ist die Verwendung von '' | ||
- | |||
- | <code bash> | ||
- | cd ../Desktop | ||
- | </ | ||
- | |||
- | Im Gegensatz dazu wird das aktuelle Verzeichnis mit '' | ||
- | |||
- | <code bash> | ||
- | ./test | ||
- | </ | ||
- | |||
- | Jetzt weißt du also bereits, wie du von Verzeichnis zu Verzeichnis wechseln kannst. | ||
- | |||
- | ===== Verzeichnisse erstellen ===== | ||
- | |||
- | |||
- | Der Befehl zum Erstellen von Verzeichnissen ist " | ||
- | |||
- | <code bash> | ||
- | mkdir ~/junk | ||
- | </ | ||
- | |||
- | Zum Entfernen von Verzeichnissen wird " | ||
- | |||
- | <code bash> | ||
- | mkdir ~/test | ||
- | </ | ||
- | Dieses Verzeichnis benötigen wir jetzt nicht mehr. Wir entfernen es daher mit dem Befehl " | ||
- | |||
- | <code bash> | ||
- | rmdir ~/test | ||
- | </ | ||
- | |||
- | Du kannst das " | ||
- | |||
- | Zum Verschieben von Verzeichnissen kannst du den Befehl " | ||
- | |||
- | <code bash> | ||
- | mkdir ~/test | ||
- | mv ~/test ~/Bloedsinn | ||
- | </ | ||
- | |||
- | Wie wir später sehen werden, wird der " |