Upload
others
View
31
Download
0
Embed Size (px)
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Linux I
1 Linux ITheorieTerminalEin- 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 quelloffeneVariante. Alle Unix-Systeme funktionieren ahnlich.
Distributionen
Distributionen sind fertige, mehr oder weniger durchdachteSammlungen von Software, die den Linux-Kernel und viele vieleProgramme und Anwendungen enthalten.
Debian http://www.debian.org
SuSE http://www.opensuse.org
Ubuntu http://www.ubuntu.com
Ressourcen-Vorkurs
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, keineLaufwerksbuchstaben
Externe Datentrager (USB-Sticks, CD-Roms, . . . ) sind alsVerzeichnisse 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 BaumBeispiel: /home/students/nils
Relative Pfade
Relative Pfade fangen immer im aktuellen Verzeichnis (workingdirectory) anBeispiel: 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 machtigste Schnittstelle, mitder man Befehle geben kann. Im Terminal konnen Befehle textuelleingegeben werden, die dann nacheinander verarbeitet werden.
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Terminal starten
Anwendungen → Zubehor → 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@ella:~$
nils Username
@
ella Rechnername
:
˜ Working Directory
$Blinkender Cursor. Hier werden Befehlehingeschrieben
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Befehle
$ ls -l /
$ Platzhalter fur den Prompt
ls Der eigentliche Befehle (Zeigt Verzeichnisinhalt an)
-l Option zum Befehl (lange Ausgabe)
/ Argument: Datei/Verzeichnis, auf die/das der Befehlangewendet werden soll (Wurzelverzeichnis)
Enter (Erst) nach dem Druck auf Enter wird der Befehlausgefuhrt
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 Loscht 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 einZeichen lang: -lMehrere lassen sich zusammenfassen: -la statt -l -a
Lange Optionen
Beginnen mit zwei Strichen und konnen langer sein: --helpViele 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 fur ls
-l Zeigt ausfuhrliche 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 aktuelleVerzeichnis an.
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Wildcards
? Steht fur ein beliebiges Zeichenh?llo passt auf hallo oder hello, nicht aber aufhalllo
* Steht fur beliebig viele beliebige Zeichen*.txt passt auf alle Dateien, deren Name auf .txtendet.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
Tastenkurzel
↑ ↓ Blattern in der Befehlshistorie
← → Editieren des aktuellen Befehls
−−→−−→ Automatisches Erganzen von Datei- undVerzeichnisnamen
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 Eroffnet eine Terminal-Sitzung auf anderem Rechner
less Zeigt den Inhalt von Textdateien auf dem Terminalan ( q zum beenden)
cp Kopiert Dateien oder Verzeichnisse
mv Verschiebt Dateien oder Verzeichnisse
rm Loscht Dateien
Ressourcen-Vorkurs
demo
Ubung 1
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Prozesse und Programme I
Programm Eine Reihe von Anweisungen, die nacheinanderausgefuhrt werden konnen. Programme sind inDateien gespeichert und werden compiliert oderinterpretiert.
Prozess Wird ein Programm gestartet, lauft es in einemeigenen Prozess. Ein Prozess lauft in einembestimmten “Kontext” der z.B. die Rechte, dasWorking Directory, Umgebungsvariablen undDateideskriptoren enthalt.
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 CMD26331 pts/9 00:00:00 bash26348 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-Prozessdes bash-Prozesses, der so lange wartet. Der Kontext desbash-Prozesses wird dabei ubernommen (kann aber im Sub-Prozessgeandert werden!)
$ less datei.txt
less startet in einem eigenen Prozess, der zunachst den gleichenKontext hat wie das Terminal. Solange less nicht wieder beendetwurde, wartet das Terminal
$ cmd argument &
Wird ein & an das Kommando angehangt, wird der Befehl imHintergrund ausgefuhrt – das Terminal wartet dann nicht, bis derProzess 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 ausdem zeichenweise gelesen werden kann
STDOUT Fur jeden Prozess gibt es einenStandardausgabe-Kanal – im Normalfall das Terminal
STDIN Fur jeden Prozess gibt es einenStandardeingabe-Kanal, von dem der Prozess lesenkann – im Normalfall sind das Tastatureingaben
STDERR Fur jeden Prozess gibt es eineStandard-Fehlerausgabe. Der Prozess schreibt dortFehlermeldungen hin, die entweder angezeigt odergespeichert werden konnen (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” dieseEigenschaften, 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 dieInformationen jetzt in der Datei processes.txt, wovon man sichmit less uberzeugen kann.
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Ein- und Ausgabe IV
Eingabe umleiten
Mit dem Zeichen < am Ende eines Kommandos wird dieStandardeingabe des Kommandos aus einer Datei gefullt
Beispiel ($ sort < processes.txt)
26331 pts/9 00:00:00 bash31920 pts/9 00:00:00 psPID TTY TIME CMD
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Ein- und Ausgabe V
Umleitungen
> STDOUT umleiten, alte Datei wird geloscht
>> STDOUT umleiten, an alte Datei wird angehangt
< STDIN umleiten
2> STDERR umleiten
2>&1 STDERR an STDOUT senden
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Pipe
Beispiel
$ ps > processes.txt$ sort < processes.txt
Beispiel
$ ps | sort
Pipe
Mit einer Pipe | konnen verschiedene Kommandosaneinandergehangt werden. Das Kommando bekommt dann dieStandardausgabe eines vorherigen Kommandos alsStandardeingabe.
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Mehr Kommandos
sort Sortiert die Standardeingabe
grep Extrahiert Zeilen, auf die ein bestimmtes Musterpasst
sed Wendet regulare Ausdrucke auf die Standardeingabean
wc Zahlt Worter, Zeichen und Zeilen
head Zeigt die ersten 10 Zeilen an
tail Zeigt die letzten 10 Zeilen an
cat Konkateniert Dateien und gibt sie auf derStandardausgabe aus
tr Ersetzt ein Zeichen durch ein anderes
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Escaping
”und ’
Anfuhrungszeichen ”oder Apostrophen ’ werden ublicherweisebenutzt, um Zeichenfolgen zu begrenzen. Um Anfuhrungszeichenin der Zeichenfolge selber zu verwenden, sind sie zu escapen.
Beispiel (Escaping)
’My sister\’s friend\’s investments’
Nicht-druckbare Zeichen
Bestimmte Zeichen des normalen Zeichensatzes sind nichtdruckbar. Dazu gehoren zum Beispiel Zeilenumbruche,Wagenrucklaufe, Tabulatoren oder die Backspace-Taste. Mit diesenZeichen kann dennoch normal gearbeitet werden – Escaping machtes moglich.
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Escape Codes
\b Backspace 7−→\c Control Ctrl
\f Form feed
\n New line, return
\r Carriage return
\t Tab −−→−−→\\ Backslash
Ressourcen-Vorkurs
Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe
Zeilenumbruche
Zeilenende / Betriebssystem
DOS/Windows Carriage Return, New line \r \nUnix (Linux, Mac OS X) New line \nMac OS Carriage Return \r
Umwandlung
dos2unix, unix2dos, tr, sed
Ressourcen-Vorkurs
demo
Ubung 2