• Keine Ergebnisse gefunden

ICT-Infrastruktur für Bildungsaufgaben

N/A
N/A
Protected

Academic year: 2021

Aktie "ICT-Infrastruktur für Bildungsaufgaben"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

ICT-Infrastruktur für Bildungsaufgaben

1. Wiederholung TPDCS1

Thomas Leitner <thomas.leitner@univie.ac.at>

Fakultät für Mathematik, Universität Wien Sommersemester 2013

Letzte Änderung: 2013-09-20 20:46:17 +0200

Inhalt

Betriebssystem Linux Bash

Dateisystem Prozesse Speicher

Reguläre Ausdrücke Befehle

Betriebssystem Linux

Kernel (u.a. Prozessverwaltung, VFS, Speicher, Netzwerk), Shell (Bash), Systemprogramme (z.B.

GNU coreutils)

Multi-User (Benutzer, Gruppen, Rechte) und Multi-Tasking

Bash – Allgemeines

Interaktiver Kommandozeileninterpreter

Text wird vom Benutzer eingegeben, von der Shell interpretiert, die dann einen oder mehrere Befehle ausführt

POSIX-kompatibel, einige nützliche Erweiterungen (z.B.

[[ ... ]]

)

Tips zur Bedienung:

Befehls-History: Pfeiltaste rauf & runter

History-Search:

Strg-r

sucht rückwärts in der History Navigation in der Zeile:

Strg-Links

/

Alt-b

→ Cursor ein Wort nach links

Strg-Rechts

/

Alt-f

→ Cursor ein Wort nach rechts

Strg-a

/

Strg-e

→ Cursor zum Anfang/Ende der Zeile Tabulator-Taste zum Vervollständigen

Hilfe zu Befehlen, Konfigurationsdateien in den Manpages!

Umgebungsvariablen (

PATH

,

HOME

,

USER

, …)

Bash – Konstrukte

Pipes (

befehl1 | befehl2

)

Listen (

befehl1; befehl2 && befehl3 || befehl4 &

)

Verbundbefehle (Ausführung in Sub-Shell, arithmetischer/logischer Ausdruck)

Eingabe-/Ausgabe-Umleitung (

befehl1 <file.txt

bzw.

befehl_1 > file.txt

)

Auswertungsunterdrückung (Maskierungszeichen Backslash –

\

– bzw. einfache/doppelte Anführungszeichen)

Pfadexpansion (

rm datei*.txt

)

Variablenexpansion (

echo ${PATH/:/ - }

)

(2)

Variablenexpansion (

echo ${PATH/:/ - }

)

Befehlssubstitution (

VAR=$(cut -d: -f1 /etc/passwd)

)

Bash Programmierung

Tests (

test

,

[

,

[[ ... ]]

)

Verzweigungen (

if

,

case

)

Schleifen (

for

,

while

)

Funktionen (

function name () { do_something; }

)

Stellungs- und spezielle Parameter (

$1

,

$@

,

$#

,

$?

)

Dateisystem

Virtuelles Dateisystem VFS (Abstraktionsschicht im Kernel, eine Sicht auf verschiedene Dateisysteme)

Dateiattribute (Änderungsdatum, Besitzer, Gruppe, Berechtigungen, …) Berechtigungen (RWX, Benuzter/Gruppe/Rest, SUID, Sticky-Bit) Harte und weiche Links

Prozesse

Kernel kann ELF-Binärprogramme, Skripts (Shebang!) und andere Binärprogramme mittels

binfmt_misc

Kernelmodul direkt ausführen

Prozess = laufende Instanz eines Programmes (PID, PPID, UID, EUID, …) fork-Modell:

Prozess A ruft

fork()

auf → Kindprozess B entsteht als Kopie des Prozesses A (Optional) Im Kindprozess B mittels

exec()

anderen Programmcode ausführen

Prozess A warte auf Kindprozess B mittels

wait()

→ Rückgabewert! – oder Kindprozess wird zu Zombie und vom

init

-Prozess entsorgt

Interrupts (von Hardware über CPU an Kernel oder über Kernel an Prozess; Scheduling!) Signale (von Prozess an anderen Prozess; HUP, INT, KILL, TERM, …)

Speicher

Virtueller Speicher für Prozess (vom Kernel verwaltet, unabhängig von wirklich Ort) Dynamisches Laden von Daten in den RAM mittels Page Fault

Swap-Dateien bzw. Swap-Partitionen

Reguläre Ausdrücke

Zeichenklassen (

\d

,

\w

,

[a-z0-9]

)

Quantoren (

*

,

+

,

?

,

{n,m}

)

Gruppen und Referenzen Alternativen (

|

)

Anker (

^

,

$

,

\b

)

Für Befehle wie

sed

und

grep

, Texteditoren, Programmiersprachen, …

Befehle

whoami

,

id

,

script

,

less

cat

,

head

,

tail

,

sort

,

cut

,

uniq

,

nl

,

wc

echo

,

printf

,

read

,

alias

,

source

,

export

,

sleep

,

timeout

pwd

,

cd

,

ls

,

mkdir

,

rm

,

mv

,

cp

,

find

,

touch

,

stat

,

file

,

df

,

du

,

chmod

,

chown

,

chgrp

,

umask

,

ln

,

readlink

,

ps

,

kill

,

pgrep

,

top

,

nice

,

free

,

swapon

,

swapoff su

,

sudo

Copyright und Lizenz

Copyright: Thomas Leitner thomas.leitner@univie.ac.at Lizenz: Creative Commons CC BY-NC-SA

(3)

„Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Österreich.“ - http://creativecommons.org/licenses/by-nc-sa/3.0/at/

Referenzen

ÄHNLICHE DOKUMENTE

[r]

Es ist empfehlenswert, nicht direkt als root einzuloggen, sondern über su oder sudo kurzfristig root zu werden (besser nachvollziehbar, wer wann etwas als root gemacht hat)..

Unter Windows ist es auch so, dass die Applikationen alle benötigten Bibliotheken, die nicht automatisch auf dem System installiert sind, mitinstallieren!. Im Gegensatz dazu wird

Da die Passwortdatei /etc/passwd von allen Benutzer gelesen werden können soll, ist es nicht ratsam, darin die Passwörter zu speichern.. Daher gibt es die Möglichkeit,

Jedes Gerät, das über das Internet mit anderen Geräten kommunizieren will, braucht eine eindeutige IP-Adressen (Notiz am Rande: Es gibt auch Möglichkeiten, das zu umgehen, z.B.

Eine Regel besteht dabei aus einer oder mehreren Bedingungen und einem Ziel, das angibt, was mit einem passenden Paket gemacht werden soll.. Es gibt sehr viele Bedingungen, die

Damit ein Client weiß, wie der zu nutzende Server heißt, muss man in der Hauptkonfigurationsdatei im Block agent die Variable server auf die IP-Adresse (oder den DNS-Namen)

lih selbst gezeigt werden, so lange bis nur noh Axiome oder Prämissen