Computergrundlagen Einführung in UNIX 1

Ähnliche Dokumente
Computergrundlagen Einführung in UNIX 1

Computergrundlagen Einführung in UNIX

Computergrundlagen Einführung in UNIX

Computergrundlagen Einführung in UNIX 1

Das CIP der Mathematik

Computergrundlagen Einführung in UNIX

Grundlagen der Programmierung

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Vorsemesterkurs Informatik

Linux-Befehlsreferenz

Arbeiten in der Unix-Kommandozeile

Einführung in die Angewandte Bioinformatik

Computergrundlagen Einführung in UNIX

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

Arbeiten in der Unix-Kommandozeile

Arbeiten mit der Shell Teil 1

Da einige Befehle gerne in Vergessenheit geraten werden hier einige essentielle und nützliche Befehle aufgelistet.

Arbeiten mit der Shell Teil 1

Wiederholung und Vertiefung. Programmieren in C. Pointer und so... thoto. /dev/tal e.v. 6. April 2013 (Version vom 11. April 2013) Programmieren in C

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

Einführung in die Kommandozeile

Einführung in die Kommandozeile

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

1 Linux-Befehlsübersicht

UNIX/Linux-Minikurs. Ralf Seidler, Daniel Walther, Torsten Bosse. Institut für Informatik Friedrich-Schiller-Universität Jena

Arbeiten mit der Shell Teil 1

LINUX Gesamtmitschrift

Arbeiten in der Unix-Kommandozeile. PeP et al. Toolbox Workshop

Arbeiten mit der Shell Teil 1

Lernziele Dateiverwaltung Bearbeiten von Textdateien Sichere Anmeldung per SSH-Schlüssel. Linux für Anfänger

Linux I II III Res/Pro WN/TT Theorie Terminal Ein- und Ausgabe. Linux I. 1 Linux I. Theorie Terminal Ein- und Ausgabe. Ressourcen-Vorkurs

Computer & GNU/Linux Einführung Teil 3

Die Architektur von UNIX/Linux- Betriebssystemen. Mag. Lukas Feiler, SSCP

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

Linux Kurs Vorlesung 2 - Terminal

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

GNU/Linux für Neulinge

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Basiskonzepte des Rechnerbetriebs

Arbeiten mit der Shell Teil 1

Hochschule Harz Vorlesung Grundlagen der Informatik 2 vi-editor Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Nils Nause (Student Informatik)

Arbeiten mit der Shell Teil 2

Okt 10, 16 17:29 UNIX/Linux Lösung

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

Arbeiten mit der Shell Teil 2

L A TEX, Linux, Python

SCI Linux Einführung

Informatik für Schüler, Foliensatz 1 Einführung bis...

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

Linux Grundlagen. Wolfgang Scheicher 20. Mai Allgemeines Bootvorgang Verzeichnisstruktur... 2

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Linux-Einführung Übung

UNIX Die wichtigsten Befehle

Der Standard-Editor vi

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

SHELL WE BEGIN? EINE EINFÜHRUNG IN DIE SHELL. Max Rosin - ANKÜNDIGUNGEN

Einführung in das wissenschaftliche Rechnen

Vorbereitungskurs Informatik - Tag 1

Debian GNU/Linux. Unix Grundlagen und Betrieb. Christian T. Steigies

2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme

Dateisystem 1, Suchpfad, Befehlstypen

Unix/Linux Grundlagen für Einsteiger

Arbeiten mit der Shell Teil 2

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

Einführung in das Arbeiten an Unix-Rechnern

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Übungsblatt 1: Zur Benutzung von Computern im CIP-Pool der Informatik

SLT Schwabacher Linuxtage 2009 Herzlich willkommen. Peter Botschafter / sudo

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

Terminal Was ist ein Terminal?:

Okt 02, 17 12:28 UNIX/Linux Lösung

Einführung Wissenschaftliches Rechnen. René Lamour. Sommersemester 2015

C-Programme erstellen und ausführen

ÜBUNG Regeln für die Hausaufgaben. Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool

Einführung Unix Shell

Betriebssysteme Ein Überblick

Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Computergrundlagen Einführung in UNIX

Terminal & Shell-Skripte

Objektorientiertes Programmieren mit Suse Linux

Ein- und Ausgabeumlenkung

Einführung Linux-Kurs der Unix-AG

UNIX Grundlagen. Sascha Frank SS August 2006 UNIX I. Sascha Frank. Einführung. Basic Befehle. Quellen

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Dateisystem 1, Suchen & Finden

Dateisystem 2, Suchen & Finden

1.103 Grundlagen der Dateibearbeitung mit vi

Vorbereitungskurs Informatik - Tag 1

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 3 Shell-Grundlagen

Kommandozeilen effizient nutzen und verstehen

Computer & GNU/Linux Einführung Teil 1

Basiskonzepte des Rechnerbetriebs

Finder > 'Programme' > 'Dienstprogramme' > 'Terminal'

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

Tutorium 1 Systemadministration 2 - Linux Universität Hildesheim

Transkript:

Computergrundlagen Einführung in UNIX 1 Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11

Was ist ein Computer? Rechenmaschine verarbeitet Programme: Serien von Befehlen Ein Computer tut stets genau das, was man ihm sagt... und nicht, was man denkt, gesagt zu haben. Axel Arnold Computergrundlagen 2/20

Betriebssysteme Vermittler zwischen Benutzer, Programmen und Hardware Philosophie der Benutzerschnittstelle meist nicht graphisch (DOS, UNIX, Cisco IOS) Axel Arnold Computergrundlagen 3/20

Betriebssysteme Windows: dominiert PC-Markt UNICES: (Linux), Mac OS X, IBM AIX, Oracle Solaris,... Supercomputer TOP-500 Betriebssystem Installationen GFlops Linux 455 27.162.011 other UNICES 23 1.702.295 Windows 5 412.590 andere 17 3.257.787 UNIX-Systeme dominieren wissenschaftliches Rechnen Großrechner am HLRS nutzen verschiedene UNICES... und auch die meisten Internet-Server Axel Arnold Computergrundlagen 4/20

Warum? Windows GUI integraler Teil des Systems Software erwartet oft Admin-Rechte meist lokale Anwendungen graphische Administration fernwartbar mit kommerzieller Software Linux & andere UNICES Terminal und/oder X11 + Desktop Benutzer ohne Admin-Rechte, extra root-account Anwendungen netzwerktransparent per Terminal administrierbar out-of-the-box fernwartbar Mein Computer Unser Computer Axel Arnold Computergrundlagen 5/20

UNIX-Philosophie mehrere Programme laufen gleichzeitig: Prozesse ein Programm für eine Aufgabe Komplexität durch Verknüpfen von Prozessen alles wird durch Dateien repräsentiert es gibt einen Verzeichnisbaum Benutzer und Gruppen haben Rechte an diesen Dateien Axel Arnold Computergrundlagen 6/20

UNIX-Philosophie: Interface Shell in einem Terminal Terminal: Tastatur-Eingabe und Zeichen-Ausgabe Shell: startet und verwaltet Programme funktioniert genauso auch per Netzwerk Axel Arnold Computergrundlagen 7/20

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,...) Axel Arnold Computergrundlagen 8/20

Dateien alle Daten werden in Dateien gespeichert Dateien können in Verzeichnissen zusammengefasst werden eine Datei wird durch Ihren Pfad identifiziert besondere Pfade:. aktuelles Verzeichnis.. Übergeordnetes Elternverzeichnis ~ eigenes Benutzerverzeichnis (Home) ~name Benutzerverzeichnis (Home) des Benutzers name Dateien, die mit. beginnen, sind versteckt Beispiel: ~/.local/share/trash Ort des Mülleimers im eigenen Home-Directory, das.local-verzeichnis ist normalerweise versteckt Axel Arnold Computergrundlagen 9/20

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>... [u]mount <dev> <dir>... 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 in ein Verzeichnis wechseln Textdatei auf Terminal ausgeben Textdatei seitenweise anschauen Ein-/aushängen von Laufwerken Axel Arnold Computergrundlagen 10/20

Was ist wo? / Wurzel (root-) Verzeichnis, Betriebssystemsoftware /usr Softwarepakete des Herstellers /usr/local vom Admin installierte Software.../bin ausführbare Programmme.../lib Bibliotheken.../include Header-Dateien.../share Daten wie Icons, Sounds /home meist Lage der Benutzerverzeichnisse /media/... Temporär eingehängte Medien (CD, USB-Massenspeicher,...) /dev Gerätedateien /proc (nur Linux) Systeminformationen Axel Arnold Computergrundlagen 11/20

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 Treffer * a abcd a.txt b bc d d3 *.* a.txt *b? bc *d* abcd d d3 [a-z][0-9] d3.*....d Axel Arnold Computergrundlagen 12/20

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 Axel Arnold Computergrundlagen 13/20

Editor in der Shell: vi funktioniert in der Shell braucht ausser Escape keine Sondertasten tut überall, wo emacs& Co. versagen (z. B. langsames Netz)! besser: vim (vi Improved), gvim (eigenes Fenster) Befehlsmodus (Escape) [N]dd N Zeile(n) löschen p Zeilen einfügen [N]yy N Zeile(n) kopieren 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 Axel Arnold Computergrundlagen 14/20

Suchen und Finden grep: Suchen in Dateien grep [-ri] <string> <file>... sucht nach String oder Muster in Textdateien -r: auch in Unterverzeichnissen -i: Groß-/Kleinschreibung ignorieren wer mehr braucht: awk find: Suchen von Dateien find <path>... <expression> Suchen von Dateien und Verzeichnissen find. -size +500c sucht Dateien mit >500 Zeichen find. -name "*.txt"\ sucht.txt-dateien, die vor <24h -a -mtime -1 geändert wurden Axel Arnold Computergrundlagen 15/20

Prozesse Multitasking - (fast) beliebig viele Prozesse gleichzeitig Jedes Programm ist ein eigener Prozess Control-z stoppt den aktuell laufenden Befehl ein Befehl, der mit & endet, wird im Hintergrund gestartet ein Hintergrundprozess erhält keinen Tastaturinput, aber schreibt auf das Terminal Grundlegende Prozessbefehle: ps Anzeige der aktuell laufenden Prozesse top fortlaufende Anzeige der aktivsten Prozesse bg gestoppten Prozess in den Hintergrund fg... und wieder in den Vordergrund kill <pid> Prozess beenden Axel Arnold Computergrundlagen 16/20

Ein- und Ausgabe Ein Prozess hat wenigstens drei Dateien: 0 stdin Eingabe (etwa Tastatur) 1 stdout Standard-Ausgabe 2 stderr Fehler-Ausgabe Wir können diese unabhängig umleiten: > <file> Umleiten von stdout in eine neue Datei >> <file> Wie >, aber hängt an >& Umleiten von stderr & stdout < <file> Liest Datei als stdin Reihenfolge ist wichtig! Axel Arnold Computergrundlagen 17/20

Beispiele: Umleiten von Ein- und Ausgabe grep Hase *.txt > hasen Kopiert alle Zeilen, die Hase enthalten, in Datei hasen grep Igel *.txt >> hasen Fügt alle Zeilen, die Igel enthalten, an ls *.txt >& errors > txt Listet alle.txt-dateien in Datei txt, Fehler in Datei errors ls *.txt > txt >& errors (!) Datei txt ist leer, Fehler und.txt-dateien in errors grep Igel < hasen Gibt alle Zeilen der Datei hasen aus, die Igel enthalten./myprogram < stdin >& stderr > stdout & Startet myprogram im Hintergrund ohne jede Interaktion, Eingabe aus Datei stdin, Ausgabe in stdout, Fehler in stderr Axel Arnold Computergrundlagen 18/20

Verknüpfen von Prozessen: Pipes stdin Prozess 1 stdout stderr stdin Prozess 2 stdout stderr verbindet die Ausgabe eines Prozesses mit der Eingabe eines anderen Beispiele ps axww grep -v grep Gibt alle Prozesse aus, die nicht grep im Aufruf tragen ps axww grep bash grep -v grep Sucht alle laufenden bash-shells ls -a grep txt Listet alle Dateien mit txt im Namen Axel Arnold Computergrundlagen 19/20

Rückgabewerte Wie kann ich auf einen Fehler reagieren? Prozesse signalisieren Probleme durch Rückgabewert 0: Erfolg, >0: kein Erfolg Wert kann durch $? in der Shell abgefragt werden proc1 && proc2 proc2 startet genau dann, wenn proc1 keinen Fehler meldet proc1 proc2 proc2 startet genau dann, wenn proc1 einen Fehler meldet Beispiele ls *.txt echo "Keine.txt-Datei hier" test -f "bla" && cat bla gibt die Datei bla nur aus, wenn sie existiert Axel Arnold Computergrundlagen 20/20