Transcript
Page 1: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Linux I

1 Linux ITheorieTerminalEin- und Ausgabe

Ressourcen-Vorkurs

Page 2: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 3: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 4: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 5: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 6: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 7: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 8: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Terminal starten

Anwendungen → Zubehor → Terminal

Ressourcen-Vorkurs

Page 9: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Terminal

Ressourcen-Vorkurs

Page 10: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 11: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 12: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 13: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 14: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 15: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 16: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 17: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 18: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

demo

Page 19: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

Ubung 1

Page 20: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 21: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 22: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 23: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 24: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 25: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 26: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 27: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 28: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 29: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 30: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 31: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 32: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

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

Page 33: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

demo

Page 34: Linux I - cl.uni-heidelberg.de€¦ · Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs. Linux IIIIIIRes/ProWN/TT TheorieTerminalEin- und Ausgabe Theorie Linux

Ubung 2


Recommended