Linux-Konsole - Arbeiten mit der Kommandozeile
Auf einen Blick
Ein Terminal, auch als Konsole eines Computers oder traditionell im deutschen Sprachgebrauch als „Datensichtgerät“ bezeichnet, ist ein Endgerät zur Eingabe und Anzeige von Daten. Früher war dies ein Bildschirm, der direkt an den Computer angeschlossen war, der diese Eingaben sofort umsetzte.
Quelle: https://de.wikipedia.org/wiki/Terminal_(Computer)
Heute wird diese Art der Eingabe immer noch für manche Situationen verwendet, zum Beispiel bei der Eingabe von Daten oder Befehlen auf einem entfernten Rechner (per Remotezugang) – aber auch auf dem eigenen Rechner (per Terminal-Emulation).
Linux Konsole
Grundsätzlicher Aufbau eines Befehls:
Befehl -Option Pfadangabe Dateinamen [Entertaste]
(Befehle werden immer mit Drücken der Entertaste abgeschickt)
Beispiel Syntax des Befehls ‚ls‘:
ls → listet Verzeichniseinträge auf ls -a → listet alle Verzeichniseinträge auf ls -l → listet Verzeichniseinträge in langen Form auf ls -al → listet alle Verzeichniseinträge in langen Form auf ls -al Uni → listet alle Verzeichniseinträge des Verzeichnisses Uni in langen Form auf
Hinweis für bessere Kontrolle bei der Eingabe, zur Vermeidung von Tippfehlern und für akute Faulheit ;-)
Benutzen Sie die Pfadvervollständigung mittels der Tabulator-Taste!
- Sie spart Ihnen Zeit bei der Eingabe,
- sie hilft Ihnen, dass man sich nicht vertippt oder Probleme mit der Case Sensitivity bekommt - und
- dann nerven ewig lange Pfade nicht so. ;-)
Auch noch wichtig:
- History: mit Pfeiltasten die letzen Befehle erneut aufrufen
- zurück zur Eingabe: Strg + C
- bei völliger Verfzweiflung: Verbindung abschießen: "exit" eingeben und Entertaste drücken oder Strg + D
Tipps zu den Sonderzeichen
- ‚~‘ ist eine ‚Tilde‘ – Windows/Linux: ‚Alt Gr‘ + ‚+‘, Mac: ‚Alt‘ + ’n‘
- ‚|‘ bezeichnet eine ‚Pipe‘: Windows/Linux: ‚Alt Gr‘ + ‚<‚, Mac: ‚Alt‘ + ‚7‘
Anlegen, Kopieren, Umbenennen beziehungsweise Verschieben von Ordnern
mkdir cp mv Pfad/Ordnername Pfad/Ordnername ls → Verzeichnis ansehen
cd Pfadangabe oder .. → innerhalb der Verzeichnisstruktur navigieren
Aufgabe 1
Erstellen Sie möglichst effizient:
-
3 Ordner parallel: urkunden handschriften inkunabeln
- je 3 Unterodner: vor1454; bis1470 und ab1470
rm Pfad/Dateiname → Löschen von Dateien
rmdir Pfad/Ordnername → Löschen von leeren Verzeichnissen
rm -rf Pfad/Dateiname → Löschen von Verzeichnissen (auch mit Inhalt!)
Aufgabe 2
Löschen Sie das Verzichnis vor1454 (wegen groben Unfugs ;-) ) aus dem Ordner inkunabeln.
touch Pfad/Dateiname → Anlegen von leeren Dateien
Aufgabe 3
Legen Sie in jeden der 3 Ordner eine leere Datei
urkunden – kaiserSiegmund1410 handschriften – dieboldLauber inkunabeln – peterSchoeffer
Zugriffsrechte
Schauen Sie sich die Rechtevergabe für Ihre Ordner und Dateien an. (ls -l)
Es wird unterschieden zwischen den Benutzergruppen
- u ser
- g roup
- o thers (world)
und den Rechten
- r – read
- w – write
- x – excutable
Beispiele:
directoy | user | group | others | |
d | rwx | rwx | rwx | Ordner user, group und others dürfen das Verzeichnis lesen, schreiben und ausführen |
– | r-x | r– | — | Datei user und group und dürfen die Datei lesen, aber nicht schreiben oder ausführen, others dürfen nichts |
Rechtevergabe mit chmod
+ Recht vergeben und
– für Recht entziehen
Beispiele:
chmod o-w pfad/datei1 → Alle erhält keine Schreibrechte für die Datei datei1
chmod u+x pfad/datei1 pfad/datei2 … → User erhält execute access für die Datei datei1 und datei2
und:
chmod og-rw pfad/datei1 → Alle und Gruppe erhalten keine Schreib- und Leserechte für die Datei datei1
Aufgabe 4
Bitte verändern Sie die Rechte Ihrer Ordner/Dateien.
Die Verzeichnisse urkunden, handschriften und inkunabeln dürfen nur vom user und der group gelesen werden.
Die Verzeichnisse urkunden, handschriften und inkunabeln dürfen nur vom user verändert werden.
Die Dateien kaiserSiegmund1410 und dieboldLauber müssen genau in dieser Form erhalten bleiben und jeder darf sie ansehen.
Überlegen Sie nun, wie eine sinnvolle Rechtevergabe für folgende Situation aussehen könnte:
- Ordner für Dateiaustausch in der Gruppe
- Ordner für die Ablage finaler Dokumente
- Ordner für die eigenen, unfertigen Arbeiten
- Ordner für die Veröffentlichung von Dokumenten
Speicherplatzkontrolle und Handbuch
df „disk free“ zeigt den freien Festplattenspeicher an.
Aufgabe 5
Schauen Sie sich den freien Festplattenspeicher an.
Unverständlich? Handbuch konsultieren:
man df ist der Befehl zum Aufruf des Handbuches. Zurück zur Eingabe kommen Sie mit q.
oder df –help versuchen.
Ausgabeumleitung und mehr
Mittels Ausgangsdatei > Zieldatei
können Sie eine Ausgabeumleitung erreichen. So können Sie zum Beispiel mit ‚man df > df-manual.txt‘ den Handbuchtext für den Befehl df in eine Textdatei namens df-manual.txt umleiten und nicht auf dem Bildschirm anzeigen lassen. Dieser ist nun z.B. mit einem Texteditor bearbeitbar.
Aufgabe 6
Bitte erzeugen Sie eine solche Ausgabeumleitung für den Handbuchtext des Befehls find und du.
Die nun erzeugte Datei können Sie mittels more an.
more pfad/dateineame gibt Textdateien seitenweise auf dem Bildschirm aus.
Zurück zur Eingabe kommen Sie mit q.
cat → Zusammenfügen von Dateien
cat Datei1 Datei2 > neueDatei
Aufgabe
Bitte fügen Sie die Dateien find.txt und du.txt zusammen in eine neue Datei namens find_du.txt.
Dateien (wieder)finden
find Pfadangabe ab wo gesucht werden soll (. ~ /) Suchkriterium
Ermöglicht die Suche über Dateiattribute: Suchkriterium z.B. Name, Dateityp oder Zeit
Beispiele:
find -iname ‚*.jpg‘ → alle Dateien mit der Endung .jpg finden und keine Rücksicht auf die Groß-/Kleinschreibung nehmen
find . -type f → alle Dateien ab aktuellen Verzeichnis finden
find . -type d → alle Ordner ab aktuellen Verzeichnis finden
find ~ -type d → alle Ordner im Homeverzeichnis finden
find / -type d → alle Ordner ab dem Rootverzeichnis finden
grep -option Suchbegriff Dateiangabe
Suche über Dateiinhalte, z.B.
grep „disk“ * → sucht alle Dateien mit den Worten disk in allen Dateien.
grep „disk“ *.txt → sucht alle Dateien mit den Worten disk in allen Dateien mit der Endung .txt.
grep -c „disk“ * → sucht die Worte disk in allen Dateien und zählt die Vorkommen.
grep -i „disk“ * → sucht die Worte disk in allen Dateien und ignoriert Groß- und Kleinschreibung.
spannend werden dann die Kombinationen ;-)
Beispiel: find . -type f -exec grep -i „best way“ {} /dev/null \;
Admin-Rechte unter Ubuntu
Über den Befehl "sudo" (steht für "super user do") können Sie in der Kommandozeile Admin-Rechte erlangen. Vor den eigentlichen Befehl setzen Sie also ein
sudo
und dann den Befehl (+ Parameter), um ihn mit mehr Rechten ausführen zu lassen.
Auch hier müssen Sie - wie bei anderen Befehlen - die Entertaste zum Abschicken des Befehls drücken.
So können Sie beispielsweise auch:
Software installieren
Unter Ubuntu können Sie Software auch über das Terminal installieren.
Der Befehl dazu lautet
sudo apt install [programmname]
Hilfreiche Links
https://www.ernstlx.com/linux90bash.html
https://wiki.ubuntuusers.de/Shell/
https://wiki.ubuntuusers.de/Shell/Befehls%C3%BCbersicht/
https://www.heise.de/tipps-tricks/SSH-unter-Windows-10-nutzen-4224757.html
Nerd-Stuff für die Konsole
Matrix-Screen
Wer immer schon mal einen Screen wie aus der Matrix-Trilogie vor sich haben wollte: Das lässt sich in der Kommandozeile leicht über ein Programm umsetzen, das sie installieren und starten müssen. Hier steht, wie es geht:
https://www.cyberciti.biz/open-source/command-line-hacks/matrix-digital-rain-on-linux-macos-unix-terminal/