Click here to load reader

Linux I - cl.uni- · PDF file Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux und Unix

  • View
    11

  • Download
    0

Embed Size (px)

Text of Linux I - cl.uni- · PDF file Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe...

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Linux I

    1 Linux I Theorie Terminal Ein- und Ausgabe

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Theorie

    Linux und Unix

    Unix bezeichnet eine Familie von Betriebssystemen: HP-UX, AIX, Solaris, Mac OS X, GNU/Linux. Linux ist eine freie und quelloffene Variante. Alle Unix-Systeme funktionieren ähnlich.

    Distributionen

    Distributionen sind fertige, mehr oder weniger durchdachte Sammlungen von Software, die den Linux-Kernel und viele viele Programme und Anwendungen enthalten.

    Debian http://www.debian.org

    SuSE http://www.opensuse.org

    Ubuntu http://www.ubuntu.com

    Ressourcen-Vorkurs

    http://www.debian.org http://www.opensuse.org http://www.ubuntu.com

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Dateisystem

    Hierarchisch

    Verzeichnisse enthalten Dateien und andere Verzeichnisse

    In Unix gibt es einen einzigen Verzeichnisbaum, keine Laufwerksbuchstaben

    Externe Datenträger (USB-Sticks, CD-Roms, . . . ) sind als Verzeichnisse in diesem Baum ansprechbar

    Oberstes Verzeichnis wird root genannt und mit / bezeichnet

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Pfade

    Pfade bezeichnen Dateien oder Verzeichnisse

    Absolute Pfade

    Absolute Pfade beginnen immer mit / Sie beginnen quasi oben im Baum Beispiel: /home/students/nils

    Relative Pfade

    Relative Pfade fangen immer im aktuellen Verzeichnis (working directory) an Beispiel: ontologies/wordnet (wd: /resources)

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Platzhalter

    . Aktuelles Verzeichnis

    .. Ein Verzeichnis weiter oben im Baum

    ~ Home-Verzeichnis

    / Oberstes Verzeichnis (root)

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Userverwaltung

    Linux kennt unterschiedliche Benutzer

    Anmeldung mit Username und Passwort

    Alles, was ein User macht, passiert mit den Rechten des Users

    Nur Administrator darf alles (root)

    User werden Gruppen zugeordnet, z.B. students oder mitarb

    Mehr zu Rechten: Morgen

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Terminal

    Sinn und Zweck

    Das Terminal ist die wichtigste und mächtigste Schnittstelle, mit der man Befehle geben kann. Im Terminal können Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden.

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Terminal starten

    Anwendungen → Zubehör → Terminal

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Terminal

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Prompt

    [email protected]:~$

    nils Username

    @

    ella Rechnername

    :

    ˜ Working Directory

    $ Blinkender Cursor. Hier werden Befehle hingeschrieben

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Befehle

    $ ls -l /

    $ Platzhalter für den Prompt ls Der eigentliche Befehle (Zeigt Verzeichnisinhalt an)

    -l Option zum Befehl (lange Ausgabe)

    / Argument: Datei/Verzeichnis, auf die/das der Befehl angewendet werden soll (Wurzelverzeichnis)

    Enter (Erst) nach dem Druck auf Enter wird der Befehl ausgeführt

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Grundlegende Befehle

    Navigieren im Verzeichnisbaum

    ls Zeigt Verzeichnisinhalt an

    cd Wechselt das aktuelle Verzeichnis

    pwd Gibt das aktuelle Verzeichnis aus

    mkdir Legt ein neues Verzeichnis an

    rmdir Löscht ein leeres Verzeichnis

    Hilfe zur Selbsthilfe

    man Zeigt manual an

    info Zeigt info-Seiten an

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Lange und kurze Optionen

    Kurze Optionen

    Beginnen mit einem einfachen Strich und sind immer nur ein Zeichen lang: -l Mehrere lassen sich zusammenfassen: -la statt -l -a

    Lange Optionen

    Beginnen mit zwei Strichen und können länger sein: --help Viele Optionen gibt es sowohl in kurz als auch in lang (man page)

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Verzeichnisinhalte

    Wichtige Optionen für ls

    -l Zeigt ausführliche Informationen an

    -h Benutzt menschenlesbare Formate

    -a Zeigt alle Dateien an (auch versteckte)

    --full-time Zeigt sowohl Datum als auch Uhrzeit an

    Wird das Argument weggelassen, wendet ls sich auf das aktuelle Verzeichnis an.

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Wildcards

    ? Steht für ein beliebiges Zeichen h?llo passt auf hallo oder hello, nicht aber auf halllo

    * Steht für beliebig viele beliebige Zeichen *.txt passt auf alle Dateien, deren Name auf .txt endet. a* passt auf alle Dateien, deren Name mit a beginnt.

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Tastenkürzel

    ↑ ↓ Blättern in der Befehlshistorie

    ← → Editieren des aktuellen Befehls

    −−→−−→ Automatisches Ergänzen von Datei- und Verzeichnisnamen

    Ctrl a Springe zum Anfang der Zeile

    Ctrl e Springe zum Ende der Zeile

    Ctrl r Suche in der Befehlshistorie

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Mehr Befehle

    ssh Eröffnet eine Terminal-Sitzung auf anderem Rechner

    less Zeigt den Inhalt von Textdateien auf dem Terminal an ( q zum beenden)

    cp Kopiert Dateien oder Verzeichnisse

    mv Verschiebt Dateien oder Verzeichnisse

    rm Löscht Dateien

    Ressourcen-Vorkurs

  • demo

  • Übung 1

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Prozesse und Programme I

    Programm Eine Reihe von Anweisungen, die nacheinander ausgeführt werden können. Programme sind in Dateien gespeichert und werden compiliert oder interpretiert.

    Prozess Wird ein Programm gestartet, läuft es in einem eigenen Prozess. Ein Prozess läuft in einem bestimmten “Kontext” der z.B. die Rechte, das Working Directory, Umgebungsvariablen und Dateideskriptoren enthält.

    ps Zeigt eine Liste aller Eurer laufenden Prozesse

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Prozesse und Programme II

    Beispiel ($ ps)

    PID TTY TIME CMD 26331 pts/9 00:00:00 bash 26348 pts/9 00:00:00 ps

    bash Das Terminal selbst

    ps Das ps-Kommando

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Prozesse und Programme III

    Im Terminal gestartete Programme laufen in einem Sub-Prozess des bash-Prozesses, der so lange wartet. Der Kontext des bash-Prozesses wird dabei übernommen (kann aber im Sub-Prozess geändert werden!)

    $ less datei.txt

    less startet in einem eigenen Prozess, der zunächst den gleichen Kontext hat wie das Terminal. Solange less nicht wieder beendet wurde, wartet das Terminal

    $ cmd argument &

    Wird ein & an das Kommando angehängt, wird der Befehl im Hintergrund ausgeführt – das Terminal wartet dann nicht, bis der Prozess beendet ist.

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Ein- und Ausgabe I

    Stream Ein Kanal, in den zeichenweise geschrieben oder aus dem zeichenweise gelesen werden kann

    STDOUT Für jeden Prozess gibt es einen Standardausgabe-Kanal – im Normalfall das Terminal

    STDIN Für jeden Prozess gibt es einen Standardeingabe-Kanal, von dem der Prozess lesen kann – im Normalfall sind das Tastatureingaben

    STDERR Für jeden Prozess gibt es eine Standard-Fehlerausgabe. Der Prozess schreibt dort Fehlermeldungen hin, die entweder angezeigt oder gespeichert werden können (oder beides)

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Ein- und Ausgabe II

    Beispiel (Terminal)

    STDOUT Das Fenster am Bildschirm

    STDERR Das Fenster am Bildschirm, allerdings ungepuffert

    STDIN Die Tastatur

    Prozesse, die im Terminal gestartet werden, “erben” diese Eigenschaften, wenn sie nicht explizit umgeleitet werden

    Ressourcen-Vorkurs

  • Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe

    Ein- und Ausgabe III

    Ausgabe umleiten

    Mit dem Zeichen > am Ende eines Kommandos kann man die (Standard-)Ausgabe des Kommandos in eine Datei umleiten

    Beispiel ($ ps > processes.txt)

    Keine Ausgabe mehr im Terminal, stattdessen stehen die Informationen jetzt in der Datei processes.txt, wovon man sich mit less ü