Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
68 Cards in this Set
- Front
- Back
Welche Signale kann man an einen Prozess senden und was machen sie?
|
SIGHUP, Nummer 1, HUP: hang up , wird an alle Kinderprozesse gesendet, wenn der Vaterprozess beendet wird.
SIGINT, Nummer 2, INT: interrupt, unterbricht den Prozess (ähnlich STRG+C) SIGQUIT, Nummer 3, wie INT, aber mit Core Dump SIGFPT, Nummer 8, Floating Point expression, ?? SIGKILL, Nummer 9, beendet den Prozess abrupt SIGTERM, Nummer 15, beendet den Prozess "sanft" SIGTSTP, Nummer 20, hält den Prozess an (ähnlich STRG+Z) |
|
Was macht der Kernel?
|
Er verwaltet die Hardware
|
|
Was ist ein Befehlsinterpreter?
|
Eine Schnittstelle zwischen dem Benutzer, Software und Hardware.
|
|
Was sind die Aufgaben eines Betriebsystems?
|
Kernel
Befehlsinterpreter Verwaltung von Ressourcen (RAM, etc) Bereitstellen von Dienstprogrammen zur Verwaltung der verfügbaren Ressourcen und Administration. Gewährung des reibungslosen Ablaufs konkurrierender Prozesse |
|
Eigenschaften von Unix
|
Portabilität
Hierarchisches Dateisystem Mehrbenutzerbetrieb Schutzmechanismen Kommandointerpretation Ein- und Ausgabe-Konzept Prozesse Filter und Pipelines Dienstprogramme (Shellkomandos) |
|
Kommandointerpreter (Ringmodell aus Folien)
|
Drei Ringe, innerster "Hardware", mittlerer "Kernel", äußerer "Shell".
|
|
Welche Shells gibt es?
|
sh -> Bourne Shell
csh -> C-Shell ksh -> Korn-Shell bash -> Bash |
|
Prompt, was für "Signal-Symbole" gibt es?
|
$ bei normalem Benutzer: gregor@denkbrett:~$
# bei Root: root@denkbrett:~# > falls ein Befehl nicht vollständig ist. (z.B. if ' eingeben) |
|
Wie lautet die Kommandosyntax?
|
befehl optionen argument
find -name '*.txt' |
|
Welche "eingebaute" Hilfen gibt es?
|
man
info whatis apropos which |
|
Wie kann man einem anderen Benutzer eine Nachricht senden?
|
mit dem write Befehl (steinalt!)
write user2 <ENTER> <STRG> + <D> |
|
Wie kann man Nachrichtenempfang aktivieren/deaktivieren?
|
mesg (y/n)
mesg alleine: gibt status an |
|
Wie kann man eine Mail versenden?
|
echo "Voll toller Text" | mail -s "Betreff" chuck@norr.is
|
|
Besonderheiten bei Verzeichnissen unter UNIX?
|
Das Hauptverzeichnis ist /, darunter liegt alles andere.
|
|
Was für Dateiarten gibt es? Hier ist der erste Buchstabe bei "ls -l" gemeint.
WICHTIG! |
Datei: -
Verzeichnis: d Blockdevice, gepuffert: b zeichenorientierte Gerätedatei, ungepuffert: c Symbolische LInks: l <- "ELL", wie Link Named Pipes: p sockets: s |
|
Besonderheiten Dateinamen?
|
Dateinamen kann aus allem außer "/" bestehen.
Länge maximal 256. Endungen spielen keine Rolle. Groß und Kleinschreibung IST relevant. Versteckte Dateien beginnen mit "." <--- PUNKT |
|
Was für Informationen sind in einer INODE gespeichert?
|
► Besitzer der Datei
► bevorrechtigte Gruppe ► Zugriffsrechte der Datei ► Typ der Datei (einfache Datei, Verzeichnis, Link ...) ► Größe der Datei (in Bytes) ► Referenzzähler (Anzahl der Hardlinks = Namen der Datei, d.h. Zahl der Verweise aus den Verzeichnissen auf die Datei) ► Datum der letzten Inode-Änderung, des letzten Zugriffs auf die Datei Inode- (letzte Dateiöffnung) und der letzten Modifikation der Datei ► Verweis/Verweise auf die eigentlichen Cluster der Datei. |
|
Was für Zeitstempel weist eine Datei auf?
|
atime: Zugriffszeit
mtime: Änderungszeit (m für modified") ctime: Change-Zeit == Letzte Änderung des Inode. |
|
Was macht stat?
|
Zeicht Inode Informationen einer Datei an.
|
|
Manipulation der Inodes?
|
Geht mit "touch".
|
|
Was macht pwd?
|
Print working directory,
gibt den pfad zum aktuellen Verzeichnis aus. |
|
Befehle auf Verzeichnissen?
|
cd : change dir
mkdir: make dir rmdir: remove dir ls: list dir |
|
Welche Zugriffsrechte gibt es?
|
Gibt drei Zeichen für USER, Gruppe, Andere in den Ausgaben.
0 --- kann nix 1 --x kann ausführen (wie exe) 2 -w- kann schreiben 3 -wx kann schreiben + ausführen 4 r-- Leserecht gesetzt 5 r-x lesen + ausführen 6 rw- lesen + schreiben 7 rwx kann alles |
|
Was sind die Standardzugriffsrechte?
|
Datei: 644
Verzeichnis: 755 |
|
Wie ändert man die Verzeichnisrechte?
|
chmod 754 datei.txt
chmod a+x datei.txt <-- alle bekommen ausführen chmod u+rwx,g-w,o-w <-- user kann alles, gruppe und andere dürfe nicht (mehr) schreiben |
|
Wie ändert man die Gruppenzugehörigkeit einer Datei/eines Verzeichnisses?
|
chgrp andere_gruppe sinnlos.txt
|
|
Wie bekommt man Informationen zu den aktuellen Benutzergruppen?
|
mit id
GIbt alle Gruppen aus in denen der User zur Zeit ist. |
|
Was für Linktypen gibt es ?
|
Hardlinks und symbolische Links.
Hardlink: zwei Namen für die gleiche Datei, geht nur auf einer Partition und nicht für Verzeichnisse! Symbolische links: Kann alles, hat eine eigene inode. |
|
Wie macht man nen symbolischen Link?
|
ln -s /die/datei/ist/alt /die/datei/ist/neu.cool
DIe Datei neu.cool zeigt nun auf alt. |
|
Befehle für Dateioperationen?
|
rm: remove
rm /mega/gut -rf <- löscht Verzeichnis gut mit allem drin cp: kopieren cp alt neu <- kopiert alt nach neu mv: verschieben mv alter_name neuer_name <- umbennenen find: findet :D find -name ".txt" <- alles mit endung .txt |
|
Was für Komprimierungsprogramme gibt es?
|
zip
compress pack bzip2 tar macht gzip und bzip2 mit parameter (z bzw j) tar -cvfz archiv.tar.gz /home/user/verzeichnis1 |
|
Nennen Sie die Standard I/Os
|
Standardeingabe: stdin
Standardausgabe: stdout Standarderror: stderr |
|
Welche Umlenkmechanismen gibt es?
|
► Standardausgabe umlenken:
programm > ausgabedatei ► Standardeingabe umlenken: programm < eingabedatei ► Fehlerausgabe umlenken: programm 2> datei ► Standard- und Fehlerausgabe umlenken: programm > datei 2>&1 |
|
Was ist eine Pipeline?
WICHTIG |
ein Strich :D
| lenkt die ausgabe von programm 1 in programm 2 beispiel: programm1 | programm2 ls | sort | less |
|
Wofür steht grep?
WICHTIG |
global search for a regular expression and print all lines containing it
dieses Programm durchsucht Dateien zeilenweise nach bestimmten Suchmustern |
|
Wie lautet der reguläre Ausdruck für ein beliebiges Zeichen?
|
In der Shell: ? <-- ein Fragezeichen, ja!
Regulärer Ausdruck: . <-- ein Punkt |
|
Wie lautet der reguläre Ausdruck für 0 bis unendlich viele Zeichen?
|
In der Shell: *
Regulärer Ausdruck: .* |
|
Wie lautet der reguläre Ausdruck für beliebig viele n?
|
Shell: geht lt. Trautwein nicht.
Regulärer Ausdruck: n* |
|
Wie sieht ein Menge von Zeichen für reguläre Ausdrücke aus?
|
[abc] --> a oder b oder c
[abc]* --> a aa aba abbabbbac -> alles mögliche ;) |
|
Wie sieht die negierte Menge von Zeichen für reguläre Ausdrücke aus?
|
In der Shell: [!abc] --> z.B. d oder e oder f
[abc]* --> a aa aba abbabbbac -> alles mögliche ;) |
|
Wie lautet der reguläre Ausdruck für beginnt mit "bla" aus und wie der mit blub endet aus?
|
start: ^bla
ende: blub$ |
|
Mit welchem Befehl kann man die Ausgabe sortieren?
|
mit "sort".
Optionen: -c check; kontrolliert ob die Eingebedatei bereits sortiert ist. -n numeric; anhand des numerischen Wertes sortieren -r reverse; Sortierreihenfolge umdrehen -f ignoriert Groß- und Kleinschreibung Groß- -u unique; nur die erste von mehreren gleichen Zeilen ausgeben |
|
Info... in den Vorlesungsfolien kommt "vi" vor. Da dies ein Texteditor ist, behandle ich ihn in den Karteikarten nicht.
|
verstanden?
|
|
Wie kann man sich den Kalendar für 2012 angucken?
Wie den September in diesem Jahr? |
cal 2012
cal 9 2012 |
|
Mit welchem Befehl kann man sich den Dateiinhalt ausgeben lassen?
|
cat dateiname.txt
|
|
Wie kann man mehrere Dateien in eine zusammenkopieren?
|
cat a b c d > gesamt
|
|
Was macht der echo Befehl?
|
GIbt die Parameter als stdout aus.
echo 4242 gibt 4242 aus.. |
|
Wie kann man das Passwort für den aktuellen Benutzer ändern?
|
mit "passwd".
|
|
Mit welchen Befehlen kann man Chars/Strings in Dateien manipulieren?
|
tr
cut |
|
Was ist ein Prozess?
|
Ein Programm während der Ausführung.
|
|
Wie entstehen neue Prozesse?
|
Laut Folie: Der Prozess erzeugt einen fork. Dieser Child Prozess halt dann eine "ppid", die der pid des Vaterprozesses entspricht.
shell proc ==> fork ==========> wait ==> shell proc || A V || executive proc ====> exit |
|
Weche Eigenschaften haben alle Prozesse?
|
Prozess ID : pid
user id, group id exakt einen Parentprozess, der "höchste" ist 0 Priorität (-20 bis 20, -20 ist MAXIMALE prio) Ein aktuelles Verzeichnis |
|
Wozu dient Prozess-Management?
|
Ermöglicht die Steuerung von Prozessen in der Shell.
einige Möglichkeiten: Prozess im Hintergrund starten mehrere Prozesse gleichzeitig/parallel starten Prozesse beenden (im Hintergrund wie im Vordergrund) Prozesse während der Ausführung anhalten Auflisten von laufenden/angehaltenen Prozessen Prozesse vom Vordergrund in den Hintergrund schicken etc. |
|
Welche Prozesszustände gibt es?
|
3:
im Vordergrund: -> wartend auf Tastatureingabe -> laufende Bildschirmausgabe -> shell wartet während prozess keine Ausgabe macht. (sleep 2) Im Hintergrund, laufend: -> Prozess bekommt keine Eingaben -> Kann dennoch Bildschirmausgabe machen -> Shell gibt sofort neuen Promt aus und kann weiter genutzt werden. Im Hintergrund, angehalten: -> Prozess läuft nicht -> Kann fortgesetzt werden (im vorder oder hintergrund) |
|
Wie kann man sich die Prozessliste ausgeben lassen?
|
ps aux oder ps -elf
|
|
Woran kann man die Vater-Kind-Beziehung von Prozessen erkennen?
|
Der Kind-Prozess hat eine PPID die mit der PID des Vater-Prozesses überein stimmt.
|
|
Was macht nice bzw renice?
|
nice -n 10 programm <- startet programm mit nice wert 10
renice 15 -p 1337 <- setzt den nice Wert für den Prozess mit ID 1337 auf 15. |
|
Welche Möglichkeiten zur "Inter-Prozess- Communication" gibt es?
|
IPC per Signal (gibt 64 verschiedene)
IPC mittels Pipes, multidirektional IPC per Nachricht IPC per Semaphore IPC per gemeinsamer Speicher (shared Memory) IPC per Stream IPC per Socket |
|
Wie sieht UNIX in Grobdarstellung aus (nach Trautwein)?
Schichtenmodell! WICHTIG |
4 Ringmodell,
Ringe von innen nach Außen: Hardware, Betriebsystem-Kern, Dienstprogramme, Shell |
|
Nennen Sie die unter UNIX üblichen Kontrollstrukturen.
|
Einfache Entscheidung: if
Syntax: if BEDINGUNG then PROGRAMM1 else PROGRAMM2 fi Mehrfachauswahl: case Syntax: case Wert in Muster1) Kommandofolge1;; Muster2) Kommandofolge2;; Muster3) Kommandofolge3;; esac Schleifen: for, while, until for VARIABLE in WERTELISTE do echo $VARIABLE done while Kommandofolge1 do Kommandofolge2 done until Kommandofolge1 do Kommandofolge2 done |
|
Wie kann man eine Kontrollstruktur vorzeitig verlassen? Welchen besonderen Befehl in Schleifen gibt es noch?
|
mit break bricht man aus einer Kontrollstruktur aus.
continue beendet einen Schleifendurchlauf (NICHT die Schleife!) |
|
Wie kann man in der Shell rechnen?
|
mit "expr"
summe=`expr 42 + 1337` |
|
Was ist ein Cronjob?
|
Ein Cronjob ist ein regelmäßig wiederholt ausgeführter Prozess. Der Zeitplan ist in der "Crontab" eingestellt.
|
|
Was ist cron?
|
Ein Dienstprogramm, das die Crontab jede Minute auf auszuführende Prozesse überprüft und diese ggf. startet.
|
|
Was ist ein Daemon?
|
Ein Hintergrunddienst, z.B. ein Webserver, der ohne Benutzerinteraktion läuft und die Ausgabe in der Regel in ein Logfile (unter /var/log) schreibt.
|
|
Welche verschiedene Prozess-Stati kennen Sie?
|
runnable, ausführungsbereit
runniing, läuft waiting, wartend sleeping, schlafend im hauptspeicher swapped (in Auslagerungsdatei, sleeping) zombie (Parent beendet, Child aber noch nicht) |
|
Was macht der Befehl "jobs -l"?
|
Zeigt alle aus der aktuell genutztem Konsole gestarteten Hintergrundprozesse mit PID (dafür das -l [Buchstabe ell]) an.
|
|
Was wissen Sie über die Jobverwaltung?
|
"jobs -l" zeigt alle Hintergrundprozesse mit PID aus der aktuellen Shell an.
Strg + Z hält einen Prozess an. bg %n, wobei n die JOBNUMMER != PID ist, also z.B. 1, wirft also bg %1 den ersten Job in den Hintergrund (läuft also weiter!) fg %n, startet den job mit Nummer n in den Vordergrund. <- kann also wieder mit STRG + Z angehalten werden. STRG + C bricht den aktuellen Vordergundprozess ab. |