diff --git a/develop/git.md b/develop/git.md index c308a17..dbd4775 100644 --- a/develop/git.md +++ b/develop/git.md @@ -27,15 +27,15 @@ git clone https://github.com/quadriga-dk/Book_Template Das Ergebnis dieses Befehls ist, dass ein Ordner `Book_Template` am aktuellen Ort im Dateisystem angelegt wird und in diesem eine vollständige Kopie des Repositoriums von Github abgelegt wird. Navigiere ggf. vor ausführen des Befehls an eine andere Stelle im Dateisystem. Im Repositorium enthalten ist die gesamte Versionsgeschichte – d.h. alle Commits – sowie alle nötigen Informationen, um das lokale Repositorium nutzen zu können. ### Fetch -Regelmäßig – insbesondere wenn Du weißt, dass jemand anderes eine neue Version nach Github hochgeladen hat – solltest Du `git fetch` nutzen um eine Kopie der Commits auf dem Server herunterzuladen. Ein `git fetch` ändert nichts an dem Commit in dem Du gerade arbeitest und auch nichts an den Änderungen, die du lokal gerade machst. +Regelmäßig – insbesondere wenn Du weißt, dass jemand anderes eine neue Version nach Github hochgeladen hat – solltest Du `git fetch` nutzen um eine Kopie der Commits auf dem Server herunterzuladen. Ein `git fetch` ändert nichts an dem Commit in dem Du gerade arbeitest und auch nichts an den Änderungen, die Du lokal gerade machst. -Wenn Du einen anderen Commit auswählen willst geht das mit `git checkout`. Das überschreibt ggf. aktive Änderungen, die du noch nicht gespeichert hast (s.u.). +Wenn Du einen anderen Commit auswählen willst geht das mit `git checkout`. Das überschreibt ggf. aktive Änderungen, die Du noch nicht gespeichert hast (s.u.). ### Pull Wenn Du auf den gleichen Stand wechseln willst wie der Server, dann kannst Du `git pull` nutzen. Dies geht nur reibungslos, wenn Du lokal keine Änderungen gemacht hast, die in Konflikt stehen mit Änderungen, die auf dem Server abgelegt waren. Um mit Konflikten umzugehen gibt es den sogenannten Stash, auf welchen hier vorerst nicht eingegangen wird. Du kannst Konflikte zwischen Commits mit Merge beheben (s.u.). ### Add -Während Du lokal arbeitest ändert sich nicht automatisch der aktuelle Snapshot. Stattdessen merkt sich Git diese Änderungen separat – man sagt, die Änderungen sind *unstaged*. Du kannst Dir über `git status` anzeigen lassen, welche Dateien Du lokal geändert hast. Mit `git diff` kannst du dir inhaltliche Änderungen anzeigen lassen. Wenn Du eine der Änderungen für einen Commit vormerken willst, dann geht das mit `git add` – die Änderungen sind dann *staged*. +Während Du lokal arbeitest ändert sich nicht automatisch der aktuelle Snapshot. Stattdessen merkt sich Git diese Änderungen separat – man sagt, die Änderungen sind *unstaged*. Du kannst Dir über `git status` anzeigen lassen, welche Dateien Du lokal geändert hast. Mit `git diff` kannst Du Dir inhaltliche Änderungen anzeigen lassen. Wenn Du eine der Änderungen für einen Commit vormerken willst, dann geht das mit `git add` – die Änderungen sind dann *staged*. Um bspw. eine Änderung in dieser Datei für einen Commit vorzumerken nutze diesen Befehl: ```bash @@ -63,23 +63,23 @@ Ein anderer Weg ist es, Commits in einem Branch zu pushen und dann bspw. über d `git merge` pflegt Änderungen eines Commits bzw. eines Branches in einen anderen Commit/Branch ein und erzeugt dazu einen sogenannten Merge Commit. Funktioniert das nicht automatisch, so musst Du alle Konflikte von Hand beheben. (Eine andere Option des Zusammenführens nennt sich `git rebase`.) ## Branch und switch -Mit einem Branch kannst Du einen Commit (bzw. eine Reihe von Commits) benennen, sodass Du ihn wieder leicht finden kannst. Mit `git branch -c tutorial` erzeugst Du einen Branch. Mit `git switch tutorial` wechselst Du zu dem Branch. Commits, die du erstellts während du im Branch bist, werden automatisch zum Branch hinzugefügt. Dies ermöglicht es, getrennt von Änderungen anderer zu arbeiten. Wenn Du mit dem Zustand des Branches zufrieden bist, kannst Du ihn dann wieder mit dem normalen Entwicklungsbranch (meistens entweder *main* oder *master* genannt) zusammenführen. Ein Branch kann lokal bleiben oder auf den Server synchronisiert werden, sodass andere auch an dem Feature arbeiten können. +Mit einem Branch kannst Du einen Commit (bzw. eine Reihe von Commits) benennen, sodass Du ihn wieder leicht finden kannst. Mit `git branch -c tutorial` erzeugst Du einen Branch. Mit `git switch tutorial` wechselst Du zu dem Branch. Commits, die Du erstellts während Du im Branch bist, werden automatisch zum Branch hinzugefügt. Dies ermöglicht es, getrennt von Änderungen anderer zu arbeiten. Wenn Du mit dem Zustand des Branches zufrieden bist, kannst Du ihn dann wieder mit dem normalen Entwicklungsbranch (meistens entweder *main* oder *master* genannt) zusammenführen. Ein Branch kann lokal bleiben oder auf den Server synchronisiert werden, sodass andere auch an dem Feature arbeiten können. ```{admonition} Übung :class: tip 1. Gehe auf die [Github-Seite des OER-Templates](https://github.com/quadriga-dk/Book_Template). -2. Stelle sicher, dass du eingeloggt bist und wähle dann *Fork > Create a new Fork*. +2. Stelle sicher, dass Du eingeloggt bist und wähle dann *Fork > Create a new Fork*. 3. Folge den Anweisungen um eine Kopie spezielle des Templates in Deinem Github-Account zu erstellen, die Fork genannt wird. Ein Fork ist verbunden zum sogenannten *Upstream* Repositorium und kann Änderungen aus diesem bei sich wieder Einpflegen und Vorschläge für Änderungen (sog. Pull Requests) anbieten. 4. Nutze nun `git clone` um eine Kopie deines Forks auf deiner lokalen Festplatte zu erstellen. 5. Erzeuge einen Branch mit dem Namen `tutorial` und wechsle in diesen. 6. Erstelle eine Markdown-Datei schreibe etwas Text in diese. 7. Füge die Markdown-Datei dem Inhaltsverzeichnis `_toc.yml` hinzu. 8. Merke die Änderungen für einen Commit vor und erstelle dann den Commit. -9. Was passiert, wenn du `git push` ausführst? +9. Was passiert, wenn Du `git push` ausführst? 10. Wechsle in den Branch `main`. 11. Merge die Änderungen aus dem Branch `tutorial` nach `main`. 12. Führe noch einmal `git push` durch. Was passiert dieses mal? -13. Sie dir die 5 neuesten Commits in der Geschichte an mit `git log -5`. +13. Sie Dir die 5 neuesten Commits in der Geschichte an mit `git log -5`. ### Bonus 14. Aktiviere Github Pages und Github Actions in deinem Fork um automatisch das Jupyter Book bauen zu lassen. diff --git a/develop/jupyter_book.md b/develop/jupyter_book.md index fe53e7b..51048a5 100644 --- a/develop/jupyter_book.md +++ b/develop/jupyter_book.md @@ -8,7 +8,7 @@ Wenn Du Anaconda installierst, wird automatisch ein sogenanntes *virtual environ Wir nutzen das Programm `conda` um Environments anzulegen, wobei es sich empfielt ein Environment nur für genau ein Projekt – in diesem Fall eine OER – zu nutzen. -Bist du in einem Environment kannst du dieses mit `conda deactivate` deaktivieren. +Bist Du in einem Environment kannst Du dieses mit `conda deactivate` deaktivieren. Du kannst "globale" Environments anlegen, jedoch empfehlen wir hier projekt-spezifische Environments, die im Ordner der OER abgelegt werden. Git ist im Template so konfiguriert, dass der Ordner `conda` ignoriert wird. @@ -22,14 +22,14 @@ conda create -p .\conda ``` Dies erzeugt einen Ordner `conda` im aktuellen Verzeichnis, in dem alle nötigen Programme wie Python installiert werden. -Mit `conda activate ./conda` kannst Du das Environment aktivieren. Dadurch werden die im Environment installierten Programme und Programmbibliotheken innerhalb des Terminals korrekt zur Verfügung gestellt. Wenn du jetzt bspw. `python3` ausführst, dann wird das Python aus dem Environment genutzt. +Mit `conda activate ./conda` kannst Du das Environment aktivieren. Dadurch werden die im Environment installierten Programme und Programmbibliotheken innerhalb des Terminals korrekt zur Verfügung gestellt. Wenn Du jetzt bspw. `python3` ausführst, dann wird das Python aus dem Environment genutzt. Installiere nun alle für das Projekt/die OER benötigten Programme und Programmbibliotheken mit `pip install -r requirements.txt`. Damit sollte der Befehl `jb` für Jupyter Book zur Verfügung stehen. Klappt das nicht, dann deaktiviere das Environment einmal und aktiviere es dann wieder. ## Lokale Entwicklung -Wenn Du im lokalen Ordner deines Git Repositoriums bist kannst du die OER mit `jb build .` neu bauen lassen. Am Ende des Befehls findest du einen `file://`-Link zur Startseite, den du in einem Browser öffnen kannst. Wenn das nicht klappt, dann nutze einen lokalen HTTP-Server um die Dateien zu hosten (bspw. `python3 -m http.server -d _build/html`) und gehe im Browser zur angezeigten URL. +Wenn Du im lokalen Ordner deines Git Repositoriums bist kannst Du die OER mit `jb build .` neu bauen lassen. Am Ende des Befehls findest Du einen `file://`-Link zur Startseite, den Du in einem Browser öffnen kannst. Wenn das nicht klappt, dann nutze einen lokalen HTTP-Server um die Dateien zu hosten (bspw. `python3 -m http.server -d _build/html`) und gehe im Browser zur angezeigten URL. -Wenn du lokale Dateien anpasst musst du immer zuerst `jb build .` ausführen, bevor die Änderungen im Browser sichtbar werden. Gibt es hierbei einmal Probleme kann es helfen zuerst "aufzuräumen" mit `jb clean .`. Wenn du danach wieder `jb build .` ausführst, so werden alle Seiten, auch die, die du nicht geändert hattest, neu gebaut. +Wenn Du lokale Dateien anpasst musst Du immer zuerst `jb build .` ausführen, bevor die Änderungen im Browser sichtbar werden. Gibt es hierbei einmal Probleme kann es helfen zuerst "aufzuräumen" mit `jb clean .`. Wenn Du danach wieder `jb build .` ausführst, so werden alle Seiten, auch die, die Du nicht geändert hattest, neu gebaut. ## Änderung der OER auf Github Kleine Änderungen können auch direkt auf Github durchgeführt werden. Jede Datei hat rechts oben ein Stift-Symbol, wodurch Du in einen Bearbeitungsmodus gelangst. Ein speichern ist hier automatisch ein Commit – denke an eine gute Commit Message. diff --git a/develop/python.md b/develop/python.md index f648e38..9bf19e6 100644 --- a/develop/python.md +++ b/develop/python.md @@ -3,11 +3,11 @@ ## Installation Gehe auf die [Downloadseite von Anaconda](https://www.anaconda.com/download) um Dir die passende Version für Dein Betriebssystem herunterzuladen. Es ist nicht nötig, eine E-Mail anzugeben! Nutze "Skip registration" um gleich zu den Download-Links zu kommen. -Fall Du einen Paketmanager wie homebrew oder Chocolatey nutzt kannst du ggf. auch diesen für die Installation nutzen. +Fall Du einen Paketmanager wie homebrew oder Chocolatey nutzt kannst Du ggf. auch diesen für die Installation nutzen. Folge den Anweisungen und wähle die Standardoptionen bzw. die empfohlenen Optionen aus. -Du solltest die Anwendung *Anaconda Navigator* installiert haben, über die du auf alle anderen Funktionalitäten der Anaconda Distribution kommen kannst. +Du solltest die Anwendung *Anaconda Navigator* installiert haben, über die Du auf alle anderen Funktionalitäten der Anaconda Distribution kommen kannst. ## Jupyter Notebooks und Jupyter Lab Jupyter Notebooks sind einerseits ein Dateiformat mit der Namenserweiterung `.iypnb` und andererseits eine Software um (unter anderen) Jupyter Notebook Dateien zu bearbeiten. Jupyter Lab ist ebenfalls eine Software, um diese Dateien zu bearbeiten. Probiere gerne beide aus, wenn Du Jupyter Notebooks bspw. mit Python oder R für deine OER nutzt. Jupyter Notebook Dateien können auch in einigen Texteditoren und IDEs geöffnet werden (siehe dazu den Abschnitt zu Editoren). diff --git a/develop/unix.md b/develop/unix.md index 238aa87..25ae78b 100644 --- a/develop/unix.md +++ b/develop/unix.md @@ -27,13 +27,13 @@ Unter Windows gibt es auch "nativ" ähnliche Programme mit der *Eingabeaufforder ``` ## Navigation in der Shell ```{margin} -Je nachdem, welche Shell Du benutzt kannst du die Startkonfiguration anpassen über Dateien wie `.profile`, `.bashrc`, `.zshrc`, … Sieh Dir dazu die Dokumentation deiner Shell an. +Je nachdem, welche Shell Du benutzt kannst Du die Startkonfiguration anpassen über Dateien wie `.profile`, `.bashrc`, `.zshrc`, … Sieh Dir dazu die Dokumentation deiner Shell an. ``` -Wenn die Shell öffnet werden ggf. ein paar Zeilen Text ausgegeben – das hängt von der Konfiguration des Shell-Starts ab. Dann wird der sogenannte Prompt ausgegeben. Dieser kann den aktuellen Ordner o.ä. anzeigen (und kann in der Konfigurationsdatei angepasst werden). Am Ende des Prompts wird oft die Zeichen `$ ` angezeigt. Nach der Zeichenkette `$ ` gibtst Du dann deine Befehle ein. In den weiteren Beispielen wird dieses Zeichen genutzt, um Zeilen mit Befehlen von Zeilen mit der Ausgabe der Programme, den Ergebnissen der Befehle, zu unterscheiden. +Wenn die Shell öffnet werden ggf. ein paar Zeilen Text ausgegeben – das hängt von der Konfiguration des Shell-Starts ab. Dann wird der sogenannte Prompt ausgegeben. Dieser kann den aktuellen Ordner o.ä. anzeigen (und kann in der Konfigurationsdatei angepasst werden). Am Ende des Prompts wird oft die Zeichen `$ ` angezeigt. Nach der Zeichenkette `$ ` gibtst Du dann deine Befehle ein. In den weiteren Beispielen wird dieses Zeichen genutzt, um Zeilen mit Befehlen von Zeilen mit der Ausgabe der Programme, den Ergebnissen der Befehle, zu unterscheiden. Nehmen wir für die weiteren Übungen die folgende Ordnerstruktur ({numref}`fig-d-u-ordnerstruktur`) an. Baue diese bspw. über den Windows Explorer oder den macOS Finder nach, um die Navigation selbst nachzuvollziehen. Die `.md`-Dateien kannst Du schon anlegen oder Du wartest, bis Du gelernt hast, wie Du in der Shell eine leere Datei anlegen kannst. -Unter Windows nehmen wir an, dass die Ordner in `C:\Users\Testnutzer\Documents\` liegen. Unter macOS wäre das Äquivalent `/Users/Testnutzer/Documents/`. Denke Dir also immer dein *Dokumentenverzeichnis*, wenn du hier `/User/Testnutzer/Documents/` liest. Unter Linux liegt der Ordner in `/home/Testnutzer/Documents/`. Unter Unix-basierten Betriebssystemen kann dies auch noch abgekürzt geschrieben werden: `~/Documents/`. +Unter Windows nehmen wir an, dass die Ordner in `C:\Users\Testnutzer\Documents\` liegen. Unter macOS wäre das Äquivalent `/Users/Testnutzer/Documents/`. Denke Dir also immer Dein *Dokumentenverzeichnis*, wenn Du hier `/User/Testnutzer/Documents/` liest. Unter Linux liegt der Ordner in `/home/Testnutzer/Documents/`. Unter Unix-basierten Betriebssystemen kann dies auch noch abgekürzt geschrieben werden: `~/Documents/`. ```{figure} ../assets/develop/unix/Ordnerstruktur.svg --- @@ -54,14 +54,14 @@ Manche Shell-Prompts haben eingebaut, dass Du siehst, wo Du gerade bist. In dies ```bash ~ $ ``` -Wenn du in einem anderen Ordner wärst (bspw. in `/Users/Testnutzer/Documents/Tutorial`), dann könnte das so aussehen: +Wenn Du in einem anderen Ordner wärst (bspw. in `/Users/Testnutzer/Documents/Tutorial`), dann könnte das so aussehen: ```bash ~/Documents/Tutorial $ pwd /Users/Testnutzer/Documents/Tutorial ``` ### `cd` – Change Directory -Mit dem Befehl `cd` kannst du den Ordner wechseln, in dem du bist. Das geht einmal *absolut* und einmal *relativ*. Ein absoluter Pfad beginnt in Unix-basierten Systemen immer mit einem `/`. Ein relativer Pfad beginnt nicht mit einem `/` sondern mit einem Ordnernamen oder den speziellen Namen für den aktuellen Ordner `.` oder den übergeordneten Ordner `..`. +Mit dem Befehl `cd` kannst Du den Ordner wechseln, in dem Du bist. Das geht einmal *absolut* und einmal *relativ*. Ein absoluter Pfad beginnt in Unix-basierten Systemen immer mit einem `/`. Ein relativer Pfad beginnt nicht mit einem `/` sondern mit einem Ordnernamen oder den speziellen Namen für den aktuellen Ordner `.` oder den übergeordneten Ordner `..`. `````{admonition} Übung :class: tip @@ -71,7 +71,7 @@ Nutze einen absoluten Pfad, um in den Ordner `/Users/Testnutzer/Documents/Tutori ```bash $ cd /Users/Testnutzer/Documents/Tutorial ``` -Um sicherzustellen, dass du im richtigen Ordner bist kannst du `pwd` nutzen. +Um sicherzustellen, dass Du im richtigen Ordner bist kannst Du `pwd` nutzen. ```bash $ pwd /Users/Testnutzer/Documents/Tutorial @@ -79,9 +79,9 @@ $ pwd ```` ````` ### `ls` – LiSt directory contents -Den Inhalt eines Ordners kannst du dir mit dem Befehl `ls` ausgeben lassen. +Den Inhalt eines Ordners kannst Du Dir mit dem Befehl `ls` ausgeben lassen. ```{margin} -Falls du die `.md`-Dateien nicht angelegt hast wird dir hier die `README.md` nicht angezeigt. +Falls Du die `.md`-Dateien nicht angelegt hast wird Dir hier die `README.md` nicht angezeigt. ``` ```bash $ ls @@ -105,7 +105,7 @@ $ pwd ``` ````{admonition} Lösung :class: dropdown -Wenn Du nacheinander die Befehle eingibst sollte dein Terminal ungefähr so aussehen: +Wenn Du nacheinander die Befehle eingibst sollte Dein Terminal ungefähr so aussehen: ```bash $ pwd /Users/Testnutzer/Documents/Tutorial @@ -134,7 +134,7 @@ Wenn Du andere Ergebnisse hast oder Dir nicht sicher bist, warum diese Ausgabe k :tags: [remove_input] questions = \ [ - { 'question': "Du befindest dich im Ordner 02_Didaktik. Wie navigierst Du in den Ordner Bilder?", + { 'question': "Du befindest Dich im Ordner 02_Didaktik. Wie navigierst Du in den Ordner Bilder?", 'type': 'multiple_choice', 'answers': [ { 'answer': 'cd Bilder', @@ -154,7 +154,7 @@ questions = \ 'feedback': "Eine absolute Pfadangabe geht jederzeit. Oft sind relative Pfade aber schneller zu tippen und sie funktionieren auch, wenn der Ordner Tutorials an einer anderen Stelle als in Documents liegt."} ] }, - { 'question': "Du befindest dich im Ordner Tutorial. Wie kannst Du Dir den Inhalt von 01_Technologie anzeigen lassen?", + { 'question': "Du befindest Dich im Ordner Tutorial. Wie kannst Du Dir den Inhalt von 01_Technologie anzeigen lassen?", 'type': 'multiple_choice', 'answers': [ { 'answer': 'ls 01_Technologie', @@ -168,7 +168,7 @@ questions = \ 'feedback': 'Richtig! Das ist die einfachste Variante.'}, { 'answer': 'cd Markdown; ls 01_Technologie', 'correct': True, - 'feedback': "Das funktioniert und gibt das richtige Ergebnis aus. Allerdings hast Du Dich \"bewegt\" und bist jetzt im Ordner Markdown. Falls du das nicht willst, müsstest du wieder einen Ordner nach oben."}, + 'feedback': "Das funktioniert und gibt das richtige Ergebnis aus. Allerdings hast Du Dich \"bewegt\" und bist jetzt im Ordner Markdown. Falls Du das nicht willst, müsstest Du wieder einen Ordner nach oben."}, { 'answer': 'ls -R Markdown', 'correct': True, 'feedback': "Du als Mensch bekommst so den Inhalt des Ordners 01_Technologie heraus. Allerdings wird Dir noch mehr ausgegeben. Wenn Du die Ausgabe des Befehls mit einem Programm weiterbearbeiten wolltest, dann wäre es keine gute Idee, diesen Befehl zu nutzen."} @@ -184,14 +184,14 @@ Nachdem Du nun navigieren kannst wollen wir Ordner und leere Dateien erstellen s ### `mkdir` – MaKe DIRectory Um einen neuen Ordner anzulegen benutzt man den Befehl `mkdir`. Du kannst entweder in den Ordner navigieren, in dem Du einen Unterordner erstellen willst, oder Du kannst absolute oder relative Pfade nutzen, um den neuen Ordner an der richtigen Stelle zu erstellen. -Wenn du im Ordner `Tutorial` bist, dann kannst du einen Ordner `Videos` mit diesem Befehl anlegen: +Wenn Du im Ordner `Tutorial` bist, dann kannst Du einen Ordner `Videos` mit diesem Befehl anlegen: ```bash $ mkdir Videos ``` `````{admonition} Übung :class: tip -Lege mit verschiedenen Kombinationen aus Navigation und absoluten und relativen Pfaden drei neue Unterordner im Ordner Markdown an. Diese sollen `03_Assessment`, `04_Übungen`, `05_Fazit` lauten. Überprüfe mit `ls`, ob du alle Ordner korrekt angelegt hast. +Lege mit verschiedenen Kombinationen aus Navigation und absoluten und relativen Pfaden drei neue Unterordner im Ordner Markdown an. Diese sollen `03_Assessment`, `04_Übungen`, `05_Fazit` lauten. Überprüfe mit `ls`, ob Du alle Ordner korrekt angelegt hast. ````{admonition} Lösung :class: dropdown @@ -237,12 +237,12 @@ Einleitung.md ```` ````` ### `touch` – TOUCH a file -Mit `touch` kannst du eine leere Datei erstellen. +Mit `touch` kannst Du eine leere Datei erstellen. ```bash $ touch LICENSE.md ``` ### `mv` – MoVe a file or directory -Erstelle im Ordner `Tutorial` eine Datei mit dem Namen `Multiple_Choice.md`. Mit `mv` kannst du diese nun an die richtige Stelle bewegen: +Erstelle im Ordner `Tutorial` eine Datei mit dem Namen `Multiple_Choice.md`. Mit `mv` kannst Du diese nun an die richtige Stelle bewegen: ```bash $ pwd /Users/Testnutzer/Documents/Tutorial @@ -282,7 +282,7 @@ $ mv Kaulsur.md Markdown/03_Assessment/Klausur.md ````` ### `ls -a` – LiSt All files -Erstelle eine Datei mit dem Namen `.hidden` und einen Ordner mit dem Namen `.secrets`. Da sie mit einem `.` beginnen werden sie bei Nutzung von `ls` ohne Kommando-Optionen nicht angezeigt. Um sie anzuzeigen musst du die Option `-a` an den Befehl anhängen. +Erstelle eine Datei mit dem Namen `.hidden` und einen Ordner mit dem Namen `.secrets`. Da sie mit einem `.` beginnen werden sie bei Nutzung von `ls` ohne Kommando-Optionen nicht angezeigt. Um sie anzuzeigen musst Du die Option `-a` an den Befehl anhängen. ```bash $ pwd /Users/Testnutzer/Documents/Tutorial/ @@ -303,11 +303,11 @@ Markdown README.md Videos ``` -Wie du siehst beinhaltet der Ordner neben `.hidden` und `.secrets` auch noch die zwei speziellen Ordner `.` und `..`. Wie oben einmal erwähnt steht `.` für den *aktuellen* Ordner und `..` für den *übergeordneten* Ordner. +Wie Du siehst beinhaltet der Ordner neben `.hidden` und `.secrets` auch noch die zwei speziellen Ordner `.` und `..`. Wie oben einmal erwähnt steht `.` für den *aktuellen* Ordner und `..` für den *übergeordneten* Ordner. `````{admonition} Übung :class: tip -Wenn du im Ordner `Markdown` bist, was geben die folgenden Befehle aus? +Wenn Du im Ordner `Markdown` bist, was geben die folgenden Befehle aus? ```bash $ pwd /Users/Testnutzer/Documents/Tutorial/Markdown @@ -368,13 +368,13 @@ Videos ````` ### `rm` – ReMove a file or directory -Willst du eine Datei löschen, so geht das mit `rm`. +Willst Du eine Datei löschen, so geht das mit `rm`. ```{important} Wenn Du eine Datei mit `rm` löschst, dann ist sie endgültig gelöscht und kann nicht wiederhergestellt werden. Anders als beim Löschen im Windows Explorer oder im macOS Finder gibt es *keinen* Papierkorb. ``` -Um einen Ordner zu löschen musst du die Option `-r` nutzen. +Um einen Ordner zu löschen musst Du die Option `-r` nutzen. ```bash $ pwd