Click here to load reader
View
11
Download
0
Embed Size (px)
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
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 ü