Die Datei liegt auf einer anderen Maschine
Die App läuft auf einem Server in einem Rechenzentrum, und die Konfigurationsdatei, die du brauchst, liegt darauf. Du kannst nicht vor dieser Maschine sitzen. Du meldest dich über das Netzwerk an, schaust nach und kopierst die Datei auf deine eigene, alles aus einem Terminal.
Am Ende dieser Lektion
Notiz
Ich kann im Terminal zu einem anderen Benutzer wechseln und eine andere Maschine benutzen.
Schlüsselwörter
- Benutzer: ein Konto auf einer Maschine mit eigenen Dateien.
- sudo: einen Befehl als Administrator ausführen.
- ssh: sich über das Netzwerk bei einer anderen Maschine anmelden.
- scp: eine Datei auf eine andere Maschine kopieren.
- Dienst: ein Programm, das im Hintergrund läuft.
Zum Start: Was du schon weißt
Notiz
Antworte im Kopf. 1. Was gibt whoami aus? 2. Warum sollte nicht jeder jede Datei löschen dürfen? 3. Was ist ein Prozess?
Bevor du anfängst
Notiz
Drücke in der Leiste oben in dieser Lektion auf Lab starten. Dieses Lab ist eine ganze Ubuntu-Maschine nur für dich, deshalb dauert der Start etwas länger als bei einem Container. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal der Maschine, einen nach dem anderen in derselben Sitzung. Wenn einer sagt, dass die Maschine noch startet, warte ein paar Sekunden und drücke ihn noch einmal. Wo in der Lektion Tippe das ein steht, endet der Befehl nicht von selbst oder fragt dich etwas. Drücke dann in der Leiste auf Terminal öffnen (neuer Tab) und tippe ihn selbst ein.
Tippe das ein: zu einem anderen Benutzer wechseln
Tippe im Terminal su dev und dann das Passwort DevLab2026. Beim Tippen eines Passworts erscheint nichts. Tippe whoami: Es sagt dev. Tippe exit, um zurückzukommen. Für den Administrator, root, tippe sudo su: In diesem Lab wird kein Passwort verlangt, und die Eingabeaufforderung endet auf #. sudo führt auch einen einzelnen Befehl als Administrator aus.
Eine andere Maschine: ssh und scp
ssh führt Befehle auf einer anderen Maschine aus, und scp kopiert eine Datei dorthin. Die andere Maschine heißt hier devbox. Das ist dasselbe Ubuntu unter dem Konto dev, mit einem Schlüssel, der schon eingerichtet ist, sodass kein Passwort verlangt wird. Beim ersten Mal sagt ssh, dass es die Maschine zu seiner Liste hinzugefügt hat. Es sind die Befehle, die du auch auf einem echten Server benutzen würdest.
cdHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
echo "email Sam" > notes.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
ssh dev@devbox whoamiHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
scp notes.txt dev@devbox:/home/devHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
ssh dev@devbox ls /home/devHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Tippe das ein: anmelden, sich umsehen, gehen
Tippe im Terminal ssh dev@devbox. Die Eingabeaufforderung ändert sich: Du tippst jetzt auf der anderen Maschine, als dev. Führe pwd und ls aus, und du siehst die notes.txt, die du kopiert hast. Tippe exit, um zurückzukommen.
Prüfe dich
Tipp
Welcher Befehl kopiert eine Datei auf eine andere Maschine, und wie benennt er den Ort? Antwort: scp, und der Ort ist user@machine:folder.
Ein Programm installieren, einen Dienst betreuen
sudo apt install -y tree installiert ein Programm aus dem Archiv von Ubuntu. systemctl betreut Dienste: status zeigt einen, und restart beendet ihn und startet ihn neu. --no-pager gibt alles auf einmal aus.
sudo apt install -y treeHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
tree projectsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
systemctl status lab-web --no-pagerHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
sudo systemctl restart lab-webHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Tippe das ein: eine Datei in vi bearbeiten
Manche Server haben nur vi. Tippe im Terminal vi notes.txt. Du kannst noch nichts tippen. Drücke a, um Text hinzuzufügen, und tippe dann eine Zeile. Drücke Esc, um das Hinzufügen zu beenden. Tippe dann :wq und die Eingabetaste, um zu speichern und zu beenden. Um zu beenden und deine Änderungen zu verwerfen, tippe stattdessen :q!. Prüfe mit cat notes.txt.
Ein häufiger Fehler
Warnung
Viele denken, als Administrator, root, zu arbeiten sei der normale Weg. Das ist es nicht: root kann ohne Warnung alles löschen, deshalb richtet ein Tippfehler viel mehr Schaden an. Arbeite als du selbst und benutze sudo für den einen Befehl, der es braucht.
Abschlusscheck
Tipp
Antworte, ohne zurückzuschauen. 1. Welcher Befehl führt einen Befehl als Administrator aus? 2. Wie verlässt du eine ssh-Sitzung? 3. Wie speicherst und beendest du vi? Antworten: sudo; exit; Esc, dann :wq.
Der Spickzettel
Bewegen: pwd, ls -la, cd, cd -, ~. Dateien: mkdir -p, touch, echo >, cat, rm, rm -rf (Vorsicht), chmod +x. Lesen: tail -n, tail -f, grep, |. Finden: find / -name 'x' 2>/dev/null, which, ps -ef | grep x, kill, dann kill -9. Maschine: df -h, du -sh *, free -h. Archive: unzip, gzip, gunzip, tar -czf, tar -xzf. Web: wget, curl -s. Menschen: whoami, su, sudo, ssh user@host, scp file user@host:dir. Software: sudo apt install -y, systemctl status|restart. Editor: vi (a, Esc, :wq, :q!).
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab bearbeitet wird: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Diese Lektion läuft in einem VM-Lab: Jede lernende Person hat eine eigene Ubuntu-Maschine, und „Ausführen“ tippt in deren Terminal und zeigt, was ausgegeben wurde. Lernziele: 1. su und sudo ändern kurz, wer du bist. 2. ssh und scp erreichen eine andere Maschine. 3. apt und systemctl installieren und betreuen Software. Häufiger Fehler: die ganze Zeit als root arbeiten. Ausstattung: das Lab und ein Browser. Tipp: Lassen Sie die Klasse sagen, welchen der dreißig Befehle sie jetzt auf einen Haftzettel schreiben würde. Das Lab hat keine Prüfung und bewertet nichts. Legen Sie eine eigene Abgabe fest, wenn Sie eine möchten. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie mit dem Menü Lab im Lektionseditor eine neue.