46
Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe Linux I 1 Linux I Theorie Terminal Ein- und Ausgabe Ressourcen-Vorkurs

Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Linux I

1 Linux ITheorieTerminalEin- und Ausgabe

Ressourcen-Vorkurs

Page 2: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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

Es hilft sehr, wenn man sich die Verzeichnisse tatsachlich alsBaum vorstellt und eine klare Orientierung hat, wo man sichgerade befindet

Ressourcen-Vorkurs

Page 4: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Pfade I

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 - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Pfade II

Platzhalter

. Aktuelles Verzeichnis

.. Ein Verzeichnis weiter oben im Baum

~ Home-Verzeichnis

/ Oberstes Verzeichnis (root)

Ressourcen-Vorkurs

Page 6: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Pfade III

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 7: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 8: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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.

Terminal vs. Shell

Terminal Ein Gerat, das Interaktion mit einem Computererlaubt

Shell Ein Programm, das Befehle interpretiert und auf demComputer lauft

Ressourcen-Vorkurs

Page 9: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Terminals I

Foto

:M

arci

nW

ichar

y,San

Fra

nci

sco,U

.S.A

.

Ressourcen-Vorkurs

Page 10: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Terminals II

public

dom

ain

Ressourcen-Vorkurs

Page 11: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Terminalemulator I

Terminalemulatoren “emulieren” (tauschen vor) ein Terminal.Sie laufen in graphischen Umgebungen in eigenen Fenstern.

Innerhalb des Fensters laufen die gleichen Programme, dieauch in echten Terminals laufen (eine Shell).

Heute lasst man “-emulatoren” oft weg und spricht einfachvon Terminal.

Ressourcen-Vorkurs

Page 12: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Terminalemulator II

Anwendungen → Zubehor → Terminal

Scr

eensh

ot:

Nils

Rei

ter

Ressourcen-Vorkurs

Page 13: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Terminalemulator III

Scr

eensh

ot:

Nils

Rei

ter

Ressourcen-Vorkurs

Page 14: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Shell

Innerhalb des Terminals lauft eine sog. Shell.

Die Shell ist ein eigenes Programm, das unsere Eingabenentgegennimmt, interpretiert und evtl. andere Programmestartet.

Es gibt viele Unterschiedliche Shells: Bourne shell (sh), Kornshell (ksh), Bourne-Again shell (bash), C shell (csh), Z shell,COMMAND.COM, cmd.exe, . . .Machen Sie mal: $ ls /bin/*sh

Wir benutzen ausschließlich die Bourne-Again shell: bash.

Ressourcen-Vorkurs

Page 15: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Prompt

nils@ella:~$

nils Username (Benutzername)

@

ella Hostname (Rechnername)

:

˜ Working Directory (Aktuelles Verzeichnis)

$Blinkender Cursor. Hier werden Befehlehingeschrieben

Ressourcen-Vorkurs

Page 16: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Befehle I

$ 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 17: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Befehle II

Optionen vs. Argumente

Argumente Steuert, worauf der Befehl angewendet wird

Optionen Steuern das Verhalten des Befehls

Parameter Gemeinsamer Oberbegriff

Ressourcen-Vorkurs

Page 18: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Befehle III

Programme vs. Builtins

Die meisten Befehle, die man benutzt, sind externe2

Programme, die auf dem Computer installiert sind.

Mit ls kann man herausfinden, welche das so sind:$ ls /bin und $ ls /usr/bin.

Builtins werden direkt von der Shell interpretiert (der bash).

Welche builtin commands es gibt, kann von Shell zu Shellvariieren!

Einige builtin commands: cd, echo, alias, source, . . .

2“extern” aus Sicht der Shell.Ressourcen-Vorkurs

Page 19: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 20: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 21: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 22: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 23: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 24: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Remote arbeiten I

ssh stellt eine sichere Verbindung zu einem anderen Rechnerher

Argument: hostname

Optionen:

-l username Der Username auf dem anderen Rechner

-X Erlaubt das Benutzen graphischer Programme

Beispiel:$ ssh -l nils ella

Ressourcen-Vorkurs

Page 25: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Remote arbeiten II

scp erlaubt das Kopieren von Dateien uber eine sichereVerbindung

Wo es ssh gibt, gibt es i.A. auch scp

Wie bei cp mussen zwei Argumente genannt werden: Quelleund Ziel

Zusatzlich zum Pfad wird ein Rechnername angegeben:scp ella:/path/to/file ~/directory/

Ressourcen-Vorkurs

Page 26: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

demo

Page 27: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Ubung 1

Page 28: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 laufenden Prozesse, die vonEuch gestartet wurden.

Ressourcen-Vorkurs

Page 29: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Prozesse und Programme II

Beispiel ($ ps f)

PID TTY STAT TIME COMMAND6074 pts/8 Ss 0:00 -bash7084 pts/8 R+ 0:00 \_ ps f

bash Das Terminal selbst

ps Das ps-Kommando

Ressourcen-Vorkurs

Page 30: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 31: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 32: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 33: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 34: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 35: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 36: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Ressourcen-Vorkurs

Page 37: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Ressourcen-Vorkurs

Page 38: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

Ressourcen-Vorkurs

Page 39: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E Theorie Terminal Ein- und Ausgabe

nohup

Wird ein Prozess beendet (z.B. durch Schließen desTerminalfensters) werden auch alle sub-Prozesse beendet

Sub-Prozesse, die mit nohup gestartet wurden, laufen weiter,wenn ihre Elternprozesse beendet werden

Beispiel:$ nohup riesigeberechnung.py &

Ressourcen-Vorkurs

Page 40: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 41: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 42: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 43: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 44: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Linux I II III Res WN/TT NLTK XML Weka E 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 45: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

demo

Page 46: Linux I - Heidelberg University...der man Befehle geben kann. Im Terminal k onnen Befehle textuell eingegeben werden, die dann nacheinander verarbeitet werden. Terminal vs. Shell TerminalEin

Ubung 2