faecher:informatik:oberstufe:git:shell:dateien_und_verzeichnisse:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:git:shell:dateien_und_verzeichnisse:start [21.09.2023 06:28] – [Arbeiten mit Verzeichnissen] Frank Schiebelfaecher:informatik:oberstufe:git:shell:dateien_und_verzeichnisse:start [21.09.2023 06:39] (aktuell) – gelöscht Frank Schiebel
Zeile 1: Zeile 1:
-====== Dateien und Verzeichnisse ====== 
  
-===== Grundlagen ===== 
- 
-Öffne ein Terminal und gib folgendes ein: 
- 
-<code bash> 
-pwd 
-</code> 
- 
-Als Ausgabe am Bildschirm erhältst du beispielsweise: 
- 
-<code bash> 
- /srv/samba/schools/default-school/teachers/sbel 
-</code> 
- 
-Das ist dein "HOME Verzeichnis". Man sieht, dass das Verzeichnistrennzeichen 
-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, bei der eine beliebige Anzahl von Verzeichnissen jeweils durch 
-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, Medien und Mountpunkten.  
- 
-Unter Unix/linux wird, im Gegensatz zu Microsoft Windows, auch zwischen Groß– und 
-Kleinschreibung unterschieden. 
- 
-<code bash> 
-  /HOME/laptop 
-</code> 
- 
-und 
- 
-<code bash> 
-  /home/laptop 
-</code>   
- 
-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  
-''bash'', der Programmname des Firefox-Browsers einfach ''firefox''). 
- 
-===== 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, kannst du zweimal die TAB Taste drücken. Nun listet die bash sämtliche  
-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 
-</code> 
- 
-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> 
-/home/c102/c102mr 
-</code> 
- 
-Wie auch unter Microsoft Windows dient zum Wechseln des Verzeichnisses der Befehl 
-''cd'' 
- 
-<code bash> 
-cd Dokumente 
-</code> 
- 
-Nun gibst du wieder ''pwd'' ein. Die Ausgabe sollte in etwa wie folgt aussehen: 
- 
-<code bash> 
-/srv/samba/schools/default-school/teachers/sbel/Dokumente 
-</code> 
- 
-Nun wollen wir noch einmal ein ''cd'' ausführen. Gib ein  
- 
-<code bash> 
-cd /etc 
-</code> 
- 
-Wenn du jetzt  ''pwd'' ausführst, lautet das Ergebnis: 
- 
-<code bash> 
-/etc 
-</code> 
- 
-Achte auf den feinen Unterschied zwischen den beiden Eingaben von cd. 
-Beim zweiten Mal steht vor dem etc ein ''/''. Du hast bereits das Trennzeichen ''/'' für Verzeichnisse kennengelernt 
- - 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 "Dokumente" - und zwar abhängig vom aktuellen Verzeichnis. Da wir uns im HOME-Verzeichnis befinden, wechselt er dort in das Verzeichnis "Dokumente", falls es vorhanden ist.  
-Wären wir beispielsweise in ''/usr'', würde der Befehl versuchen dort in das "bin"-Verzeichnis zu wechseln (also nach "/usr/Dokumente"), was nicht klappen würde, weil es dieses Verzeichnis nicht gibt. Das nennt man **relative** Dateiangaben oder relative Pfadangaben. 
- 
-Der zweite Befehl wechselt in das Verzeichnis ''/etc''. Das ist ein **absoluter** Verzeichnisname (oder ein "absoluter Pfad"). Unabhängig davon, wo wir uns gerade befinden, wechselt dieser Befehl nach ''/etc''. Absolute Dateiangaben listen 
-immer sämtliche Verzeichnisse im Pfad vom Root-Verzeichnis ausgehend bis zum Zielverzeichnis oder zur Zieldatei auf.  
-Wollten wir in das "Dokumente"-Verzeichnis in unserem HOME-Verzeichnis wechseln, so müssten wir (entsprechend angepasst) eingeben: 
- 
-<code bash> 
-cd /srv/samba/schools/default-school/teachers/sbel/Dokumente 
-</code> 
- 
-Hier ist die Tab-Taste wieder dein Freund, denn das allen einzutippen macht wenig Freude. 
  • faecher/informatik/oberstufe/git/shell/dateien_und_verzeichnisse/start.1695277703.txt.gz
  • Zuletzt geändert: 21.09.2023 06:28
  • von Frank Schiebel