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!

  1. Sie spart Ihnen Zeit bei der Eingabe,
  2. sie hilft Ihnen, dass man sich nicht vertippt oder Probleme mit der Case Sensitivity bekommt - und
  3. 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

  1. u ser
  2. g roup
  3. o thers (world)

und den Rechten

  1. r – read
  2. w – write
  3. 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:

  1. Ordner für Dateiaustausch in der Gruppe
  2. Ordner für die Ablage finaler Dokumente
  3. Ordner für die eigenen, unfertigen Arbeiten
  4. 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/