Computergrundlagen Einführung in UNIX - ICP Stuttgart

Werbung
Computergrundlagen
Einführung in UNIX
Axel Arnold
Institut für Computerphysik
Universität Stuttgart
Wintersemester 2013/14
Was ist ein Computer?
DDR3Speicher
PEG
Graphikkarte(n)
weitere
PCIeKarten
Northbridge
Southbridge
Prozessor
USB
HD-Audio
SM-Bus
LAN
DDR3Speicher
SATA
Prozessor
• Rechenmaschine
• verarbeitet Programme: Serien von Befehlen
Ein Computer tut stets genau das,
was man ihm sagt
... und nicht, was man denkt, gesagt zu haben.
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
2/17
Von Neumann-Architektur (1945)
memory
0 1 2 3 4 5 6 7 8 9 10 ...
CPU
J. von Neumann,
1903 - 1957
arithmetic
logic
unit
accumulators
input/output
control
unit
• Grundprinzip moderner Rechnerarchitektur
• random access memory (RAM) – Speicher mit wahlfreiem Zugriff
• central processing unit (CPU) – sequenzielle Abarbeitung von
Befehlen im RAM
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
3/17
Personal Computer
DDR3Speicher
PEG
Graphikkarte(n)
weitere
PCIeKarten
Northbridge
Southbridge
Prozessor
http://www.icp.uni-stuttgart.de
A. Arnold
USB
HD-Audio
SM-Bus
LAN
DDR3Speicher
SATA
Prozessor
Computergrundlagen
4/17
Betriebssysteme
• Philosophie der Benutzerschnittstelle
• meist nicht graphisch (DOS, UNIX, Cisco IOS)
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
5/17
Betriebssysteme
Benutzer
Programme (Anwendungen, Apps)
Shell
Bibliotheken
Systemaufrufe
Kernel
Treiber
Treiber
Treiber
Grafikkarte
Festplatte
...
• Vermittler zwischen Benutzer, Programmen und Hardware
• Kontrolle von Zugriffsrechten
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
5/17
Warum UNIX/Linux?
• Windows: dominiert PC-Markt
• UNICES: (Linux), Mac OS X, IBM AIX, Oracle Solaris, ...
• Supercomputer Top-500 von 2010
Betriebssystem Installationen
GFlops
Linux
455 27.162.011
other UNICES
23 1.702.295
Windows
5
412.590
17 3.257.787
andere
• UNIX-Systeme dominieren wissenschaftliches Rechnen
• auch auf fast allen Internet-Servern
• ... und auf den Pool-Rechnern der Physik / im ICP
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
6/17
Und woher bekomme ich Linux?
• es gibt nicht ein, sondern viele Linuxe — Distributionen
• Live-CDs: ausprobieren ohne Installation
• Dual-Boot: Installation parallel mit anderen OS
• Achtung: manchmal lässt Windows keinen Platz mehr — dann
löschen die Installer es nach einer Nachfrage!
Distributionen
• (K)Ubuntu - benutzerfreundlich, mit Gnome/Unity bzw.
KDE-GUI
http://www.ubuntu.com, http://www.kubuntu.org
• Xubuntu: einfacher, aber auch schneller, für Netbooks
http://www.xubuntu.org
• OpenSuSE: sehr benutzerfreundlich, einfache Administration
http://www.opensuse.org
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
7/17
Terminal und Shell
• Shell in einem Terminal
• Terminal: Tastatur-Eingabe und Zeichen-Ausgabe
• Shell: startet und verwaltet Programme
• Philosophie: eine Aufgabe — ein Programm
• Komplexität durch Verknüpfen von Programmen
• funktioniert genauso auch per Netzwerk
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
8/17
Grundlegende Shell-Benutzung
• Cursor-Up/Down: vorherige Befehle wiederholen
• Tabulator: automatische Ergänzung von Dateinamen
• Zeilen sind editierbar
• linke Maustaste: markieren, mittlere: einfügen
• Control-a/e: Anfang/Ende der Zeile
• Genaueres hängt vom Shell-Typ ab (sh, bash, csh,...)
http://www.icp.uni-stuttgart.de
A. Arnold
Computergrundlagen
9/17
Dateien
• alle Daten werden in Dateien gespeichert
• Dateien können in Verzeichnissen zusammengefasst werden
• eine Datei wird durch Ihren Pfad identifiziert
• besondere Pfade:
.
..
~
~name
aktuelles Verzeichnis
Übergeordnetes Elternverzeichnis
eigenes Benutzerverzeichnis (Home)
Benutzerverzeichnis (Home) des Benutzers name
• Dateien, die mit „.“ beginnen, sind versteckt
• Die Shell (und jedes andere Programm) hat ein
aktuelles Arbeitsverzeichnis
• Pfade, die nicht mit „ / “ oder „ ~ “ anfangen, sind relativ zum
Arbeitsverzeichnis
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 10/17
Dateibaum
/
/dev
/home
/dev/sdb1
/media
/media/ELC
/home/axel (~)
/home/axel/test
/home/axel/dir
/home/axel/dir/a
/home/axel/dir/b
/home/axel/dir/c
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 11/17
Beispiele: Pfade
• ~/.local/share/Trash
Ort des Mülleimers im eigenen Home-Directory, das
.local-Verzeichnis ist versteckt
• /home/axel/.local/Trash
Dasselbe Verzeichnis, wenn das Home-Directory
/home/axel ist
• .local/share/Trash
Auch dasselbe Verzeichnis, wenn ich im Home-Directory bin
• share/Trash
. oder wenn ich im Verzeichnis „~/.local“ bin
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 12/17
Grundlegende Dateisystembefehle
man <program>
info <program>
ls <file>...
cp [-r] <src>... <dst>
mv <src>... <dst>
rm [-r] <file>...
pwd
mkdir <dir>...
cd <dir>...
cat <file>...
less <file>...
Hilfe, verlassen mit q
Ausführliche Hilfe
Datei(en) auflisten
Dateien kopieren (-r: rekursiv)
Dateien verschieben/umbenennen
Dateien löschen
aktuelles Verzeichnis ausgeben
Verzeichnis erzeugen
das Arbeitsverzeichnis wechseln
Textdatei auf Terminal ausgeben
Textdatei seitenweise anschauen
[u]mount <dev> <dir>... Ein-/aushängen von Laufwerken
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 13/17
Was ist wo?
/
/usr
/usr/local
.../bin
.../lib
.../include
.../share
/home
/dev
/media/...
/proc
Wurzel (root-) Verzeichnis, Systemsoftware
Softwarepakete des Herstellers
vom Admin installierte Software
ausführbare Programmme
Bibliotheken
Header-Dateien
Daten wie Icons, Sounds
meist Lage der Benutzerverzeichnisse
Gerätedateien
(nur Linux) Temporär eingehängte Medien
(CD, USB-Massenspeicher, ...)
(nur Linux) Systeminformationen
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 14/17
Wildcards
•
•
•
•
•
Wildcards werden von der Shell aufgelöst (Pattern-Matching)
Details hängen von der Shell ab (man bash!)
„*“ passt auf jeden String, auch den leeren
„?“ passt auf genau ein Zeichen
„[a-zA-Z]“ passt genau auf die angegebenen Zeichen(bereiche)
Beispiel
Verzeichnis:
a abcd a.txt
b bc
.d d d3
Pattern
*
*.*
*b?
*d*
[a-z][0-9]
.*
Treffer
a abcd a.txt b bc d d3
a.txt
bc
abcd d d3
d3
. .. .d
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 15/17
Texteditoren
• Zum Editieren von Textdateien (Konfiguration, Quellcode, ...)
• unter UNIX wird fast alles über Textdateien gesteuert
• Graphisch: (x)emacs, nedit, kate, eclipse, ...
Emacs
• Graphisch oder nicht graphisch
• mehrere Text-Puffer
• komplett mit Tastatur steuerbar
• Spezialmodi für
Python/C/LaTeX/...
• falls aus Versehen geöffnet:
Control-x Control-c zum
Verlassen
• Alternativ: xemacs, Aquamacs
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 16/17
Editor in der Shell: vi
• funktioniert in der Shell
• braucht außer Escape keine Sondertasten
→ tut auch, wenn emacs& Co. versagen (z. B. langsames Netz)!
• besser: vim (vi Improved), gvim (eigenes Fenster)
Befehlsmodus (Escape)
[N]dd N Zeile(n) löschen
[N]yy N Zeile(n) kopieren
p
Zeilen einfügen
h,j,k,l Cursortastenersatz
Eingabemodus (i,a,o,...)
• Texteingabe, mit Escape beenden
Befehlsmodus (:)
x
speichern & beenden
s/A/B A durch B ersetzen
q! Beenden ohne Speichern
42 Zeile 42 anspringen
http://www.icp.uni-stuttgart.de A. Arnold Computergrundlagen 17/17
Herunterladen