3h Linux-Kommandozeile an der VHS

…was behandelt man in so knapper Zeit mit Linux-Anfängern? Am 19.2.2009 führte ich für die LUSC e.V. einen Workshop zur Linux-Kommandozeile an der VHS durch. Vielleicht nützt diese Agenda Leuten, die eine ähnliche Aufgabe vor sich haben. Ich freue mich über Kommentare, Verbesserungsvorschläge und Ergänzungen!

  1. Kommandozeilenoberfläche: was unterscheidet diese Benutzerschnittstelle („User Interface“ UI) von grafischen Benutzerschnittstellen (GUI)?
    • „Eingabeaufforderung“ → erwartet Eingaben.
    • „Kommando → Ergebnis → Bereitschaftszeichen“ keine Aktualisierung abgeschlossener Ausgaben
    • historisch: Ein Computer: viele Terminals (und somit viele User)
      aber auch heute: Ein Computer – viele Benutzer: → Benutzer@computer
    • Text -keine Grafik (nötig), daher auch zur Bedienung von entfernten Computern z.B. von Servern die in einem Rechenzentrum stehen durch einfache Text-Terminals (oder verschlüsselt mit ssh, putty unter Windows) geeignet;
  2. Was ist die Kommandozeile? Wo findet man sie? Wie kommt man hin?
    (Ausgangspunkt: Kursteilnehmer sehen auf Ihren PCs Ubuntus Gnome-Oberfläche)

    • Strg+Alt+F1 bis Strg+Alt+F6 öffnen bzw. Umschalten zwischen Text-Terminals (tty1 bis tty6), mit Strg+Alt+F7 => zurück zum GUI
    • Alt+F2 (=> Programm ausführen) xterm starten
    • Menü Anwendungen – Zubehör – Terminal

    Was ist der Unterschied der beschriebenen Vorgehensweisen – warum erscheint im einen Fall „Login“ im anderen der Prompt?

    • Was sagt mir der prompt? (man kann ihn auch anpassen und ändern).
    • was ist die „shell“, was gibt es für shells? sh, bsh, bash, u.a.
    • Was sind Kommandos, wie sind sie aufgebaut
      Programmname [Optionen] [Attribute]

      • Optionen: Kontrolle und Konfiguration des Kommandos, beginnen mit –
      • Attribute: Spezifizieren von Zusatzdaten, wie z.B. Dateinamen
  3. Erste Kommandos:
    • ls
    • ls -l
    • w
    • df
  4. Hilfestellungen:
    • Die „Manpages“: man PROGRAMM
    • Die TexInfo-Hilfeseiten info PROGRAMM
    • PROGRAMM –help (mitunter auch -h oder Befehlsaufruf ohne fehlende NÖTIGE Parameter)
    • doc-Seiten /usr/share/doc
    • apropos PROGRAMM
    • whatis PROGRAMM
    • which PROGRAMM
    • whoami
    • users
    • who
    • echo
    • echo $SHELL
    • echo $PS1
    • echo $HOME
  5. Probieren Sie die folgenden Kommandos und nutzen Sie die Hilfestellungen um mehr über deren Einsatz und Funktion zu erfahren.

  6. Die Kommandozeile der bash
    • Text in der Kommandozeile editieren
      HEUTE funktionieren außer den normalen Zahlen und Buchstaben (meist) alle Tasten wie z.B. „Pos. 1“ „Ende“
    • Bedeutung von <tab> Die Tab-Taste wird zur Vervollständigung der Zeile verwendet.
      „History“ Pfeil nach oben/unten, Strg-R, Esc <, Esc >
    • Strg-C
    • Strg-S (Bildschirmausgabe anhalten)
    • Strg-Q (gehaltene Bildschirmausgabe fortsetzen)
  7. Der Verzeichnisbaum
    • Wer, was und warum ist root root?
    • wichtige Verzeichnisse und ihre Bedeutung
      ~
      /home/user
      /home
      /
      /boot
      /var
      /var/log
      /tmp
      /bin
      /sbin
      /usr
      /etc
      /proc
      /mnt
      /media
      /cdrom
  8. Programmpakete installieren
  9. Programme können unter dem GUI mit synaptic installiert werden. Aber auch an der Kommandozeile kann man das – meist schneller – erledigen. Wir wollen uns im weiteren Verlauf die Verzeichnisstruktur anzeigen lassen hierfür gibt es das Programm tree, welches vermutlich momentan noch nicht installiert ist. Testen Sie dies durch den Aufruf des Programmes tree.
    Sollte die Meldung besagen, dass das Programm nicht gefunden/gestartet werden kann, werden wir es jetzt installieren.

    Das Paketmanagement, das Ubuntu zugrunde liegt stammt ursprünglich von Debian-Linux und heißt apt. Das Programm, dass Sie benötigen um ein Programm zu „bekommen“ heißt apt-get. Möchten Sie ein Programm „bekommen“ und „installieren“ rufen Sie apt-get mit dem Parameter install auf, also in unserem Fall:
    apt-get install tree
    Sehen Sie sich die Systemmeldung an. Was ist passiert, was hat nicht geklappt und warum?
    Programme darf unter Linux nicht jeder Benutzer auf dem System installieren, sondern nur Benutzer mit besonderen Rechten. Das kennen Sie vermutlich schon von der Installation eines Programmes mit synaptic. Auch hier werden Sie erst nach Eingabe des Benutzers mit Superuserrechten gefragt.
    Um obiges Programm mit Superuserrechten auszuführen geben Sie einfach ein:
    sudo apt-get install tree
    nun werden Sie nach dem Superuser-Passwort gefragt und dann klappt es auch mit der Installation.

  10. Kommandos im Umgang mit Dateien und Verzeichnissen:
    • tree
    • cd
    • cd ~
    • mkdir VERZEICHNIS
    • touch DATEI
    • cp QUELLE ZIEL
    • mv QUELLE ZIEL
    • rm DATEI
    • rmdir VERZEICHNIS
  11. Zugriffsrechte
    Sehen wir uns die Ausgabe von ls -l nun einmal genauer an:

    • WER? Eigentümer (u) – Gruppe (g) – Andere (o)
    • chown – setzt Eigentümer und Gruppe
    • WAS? lesen (r) – schreiben (w)- ausführen (x)
    • r (4) + w(2) + (x)1 = 7
      was bedeutet dann 5, was 4, was 6?
    • chmod
    • su und sudo und warum sudo su – und das fehlende root-Passwort unter Ubuntu
  12. Auskunft über das System erhalten:
    • top
    • ps
    • /var/log
    • tail -f /var/log/syslog
  13. evtl. Ausblick 1: Kommandozeilenprogramme
    • nano ein simpler Editor
    • mc der „Midnight-Commander“ ein „Norton-Commander“-Clone
    • mail wie der Name vermuten lässt, ein Programm für E-Maildienste
  14. evtl. Ausblick 2: Beispiele für den Einsatz der Kommandozeile
    • Datei per E-Mail versenden
    • Verzeichnis komprimieren
    • Datei suchen mit find
    • Anmelden auf fernen Computer mit ssh
    • System aktualisieren, Programme suchen, installieren, entfernen mit apt
  15. evtl. Ausblick 3: Befehle verknüpfen, Ein- Ausgabe umleiten
    • ps -a |grep wasauchimmer
    • ls -la > inhaltsverzeichnis.txt

Weiterführende Webseiten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.