Computer & GNU/Linux Einführung Teil 3

Ähnliche Dokumente
GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

Computer & GNU/Linux Einführung Teil 3

Computer & GNU/Linux Einführung Teil 4

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

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

Shell-Scripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG

UNIX Die wichtigsten Befehle

Computer & GNU/Linux Einführung Teil 2

Computer & GNU/Linux Einführung Teil 2

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Sep 25, 18 8:36 UNIX/Linux Lösung

Grundlagen der Programmierung

LINUX Gesamtmitschrift

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

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

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

Shell-Scripting Linux-Kurs der Unix-AG

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35

Bash-Scripting Linux-Kurs der Unix-AG

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

Bash-Skripting Linux-Kurs der Unix-AG

Computer & GNU/Linux Einführung Teil 1. Simon Haller iis.uibk.ac.at

Arbeiten mit der Shell Teil 1

Übung 2 - Betriebssysteme I

Linux Tutorium I IT-SICHERHEIT WS1617 BENJAMIN KUHNERT

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

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

Archivieren und Komprimieren, Globs

Unix/Linux Grundlagen für Einsteiger

Ein- und Ausgabeumlenkung

Arbeiten mit der Shell Teil 1

Teil 1: Einführung in die Shell. Was ist die Shell? Wichtige Kommandos (1) Einführung in die Shell. Grundlagen der Shell-Programmierung

Computer & GNU/Linux Einführung Teil 1

Einführung Unix Shell

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

Computergrundlagen Einführung in UNIX 1

Computer & GNU/Linux Einführung Teil 1

Arbeiten mit der Shell Teil 2

Basiskonzepte des Rechnerbetriebs

Linux eine Einführung

Dateisystem 2, RegEx, Manpages

Basiskonzepte des Rechnerbetriebs

Technische Praxis der Computersysteme I 3. Vorlesung

Einführung in die Kommandozeile

Archivieren und Komprimieren, Globs

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

Arbeiten mit der Shell Teil 2

GNU/Linux Introduction Part 2. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

Lösung von Übungsblatt 9. (Interprozesskommunikation)

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

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

Archivieren und Komprimieren, Globs

Archivieren und Komprimieren, Globs

UNIX/Linux Lösung. Okt 12, 13 13:57 Seite 1/6. Pipe (was ist das?, wo kommt es vor?, Beispiel?): Datenverbindung zwischen 2 Prozessen(Kommandos)

Computer & GNU/Linux Einführung Teil 1

Übersicht Shell-Scripten

Crashkurs Kommandozeile

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Computer & GNU/Linux Einführung Teil 2. Simon Haller iis.uibk.ac.at

Arbeiten mit der Shell Teil 3

Arbeiten mit der Shell Teil 3

SelfLinux Dateien unter Linux

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

Dateisystem 1, Suchen & Finden

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

Arbeiten mit der Shell Teil 1

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

Arithmetik in der tcsh

Einführung in die Kommandozeile

SelfLinux Dateien unter Linux

Prüfung Betriebssysteme 1

Archivieren und Komprimieren, Globs

Archivieren und Komprimieren, Globs

GNU/Linux Introduction Linux Introduction: Part 1. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

Arbeiten mit der Shell in Linux

Lösung von Übungsblatt 7

Praktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

Dateisystem 2, Suchen & Finden

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Vorlesung Unix-Praktikum

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

Systemverwaltung mittels Skripts

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

Vorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A

Linux-Einführung Übung

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Transkript:

Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 1/30 Computer & GNU/Linux Einführung Teil 3 Simon Haller, Sebastian Stabinger Inst. für Informatik [IFI] October 1, 2015

Standardein- und Standardausgabe Elementares Pipes (Weiterleitungen) Die Shell kann die Ausgabe eines Kommandos als Eingabe für ein weiteres verwenden. $ kommando1 < kmd1.in kommando2 > kmd2.out Haller (2010) Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 2/30

Standardein- und Standardausgabe Wichtige Kommandos grep (nach einer Weiterleitung) Nach einer Pipe-Weiterleitung ist das Kommando grep [SUCHBEGRIFF] sehr praktisch: $ cat LangeDatei grep [SUCHBEGRIFF] grep sucht nach einem Suchmuster/begriff und gibt nur Zeilen in dem dieses(r) vorkommt aus. Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 3/30

Wildcards Wildcards mögliche Wildcards... für beliebig viele oder kein Zeichen.?... für genau ein Zeichen. [n m]... für genau ein Zeichen aus dem Bereich n bis m. {n, m}... für genau ein Zeichen n oder m. n und m können beliebige alphanumerische Zeichen sein. Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 4/30

Wildcards Wildcards Beispiel mkdir test{1,2,3} legt die Verzeichnisse an. test1 test2 test3 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 5/30

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 6/30 Sequentielle Kommandoausführung Möglichkeiten $ kommando1 $ kommando2 $ kommando3 $ kommando1; kommando2; kommando3

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 7/30 Kommandogruppierung Möglichkeiten $ ( kommando1; kommando2 ) $ ( kommando1; kommando2 ) > out.file 2> err.file

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 8/30 Bedingte Ausführungen Möglichkeiten $ kommando1 && kommando2 Kommando1 wird ausgeführt, falls dieses normal beendet wird, wird Kommando2 ausgeführt $ kommando1 kommando2 Kommando1 wird ausgeführt, falls dieses fehlschlägt wird Kommando2 ausgeführt

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 9/30 Bedingte Ausführungen Aufgabe Eine Datei in ein Verzeichnis kopieren und bei Erfolg die Originaldatei löschen.

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 9/30 Bedingte Ausführungen Aufgabe Eine Datei in ein Verzeichnis kopieren und bei Erfolg die Originaldatei löschen. Lösung $ cp -rvp Datei Irgendwohin && rm Datei Wenn der Kopiervorgang erfolgreich war, dann wird die Originaldatei gelöscht.

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 10/30 Stab Kommandos in Kommandos STDOUT eines Kommandos als Argument für ein anderes Kommando Idee: die Ausgabe/Ergebnis von Kommando2 (z.b. eine Liste an Dateien) wird an ein Kommando1 als Argumente übergeben. Varianten: cmd1 cmd2 Argumente cmd1 $(cmd2 Argumente) cmd2 steht zwischen backticks (sh) (ksh,bash)

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 11/30 Stab Kommandos in Kommandos Beispiel cp find. -name *txt tmp/ Suche in alle Verzeichnissen ausgehend von. alle Dateien die mit txt Enden und kopiere sie nach tmp/.

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 12/30 Stab Weitere Befehle touch [DATEI] leere Dateien erstellen oder das Änderungsdatum einer vorhandenen Datei auf jetzt setzten. Aufgabe Erstelle eine Datei, die vor drei Jahren erstellt wurde.

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 12/30 Stab Weitere Befehle touch [DATEI] leere Dateien erstellen oder das Änderungsdatum einer vorhandenen Datei auf jetzt setzten. Aufgabe Erstelle eine Datei, die vor drei Jahren erstellt wurde. Lösung touch -t 201001171100 old.file Mit der Option -t kann anstatt der aktuellen Zeit eine Andere vorgegeben werden.

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 13/30 Stab Wichtige Kommandos find [PFAD] [OPTIONEN] [SUCHAUSDRUCK] Finden von Dateien. Die wichtigsten Suchkriterien: -atime -mtime -newer -user -name -size Wann wurde zuletzt auf die Datei zugegriffen Wann wurde die Datei zuletzt geändert [DATEI] selbsterklärend [USER] gehört bestimmten user [NAME] suche nach name. [n] wobei n in 512 Byte-Blöcken angegeben wird.

Weitere Befehle Wichtige Kommandos find [PFAD] [OPTIONEN] [SUCHAUSDRUCK] Finden von Dateien. Die wichtigsten Suchkriterien: -atime -mtime -newer -user -name -size Wann wurde zuletzt auf die Datei zugegriffen Wann wurde die Datei zuletzt geändert [DATEI] selbsterklärend [USER] gehört bestimmten user [NAME] suche nach name. [n] wobei n in 512 Byte-Blöcken angegeben wird. Aufgaben Suche alle Dateien in deinem HOME auf die Heute zugegriffen wurde. Suche Dateien die vor über einer Woche modifiziert wurden. Suche Dateien die grösser als 1M sind. Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 13/30 Stab

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 14/30 Stab Wichtige Kommandos Lösungen -atime -1 Auf die Datei wurde Heute zugegriffen -mtime +7 Letzte Änderung der Datei ist älter als eine Woche -size +2000 Datei ist grösser als 1M.

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 15/30 Stab Wichtige Kommandos tar [OPTIONEN] [DATEI] (tape archiver) Archivieren und Komprimieren von Dateien c create (erstellen) f file (Datei / Archiv verwenden) r append (Dateien an das Archiv anhängen) t list (Dateien aus dem Archiv auflisten) x extract (auspacken) z zip (zip-komprimierung) Beispiele tar czf Mein Archiv.tar.gz ZuArchivierendeDateien tar tvf Mein Archiv.tar.gz tar xzf Mein Archiv.tar.gz

Weitere Befehle Kommandos date [Optionen] (datum) date gibt das aktuelle Datum aus. Optionen: %a abk. des Wochentags %b abk. des Monatnamens %H Stunde (0..23) %M Minute (0..60)... Beispiel: date +%T Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 16/30 Stab

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 17/30 Stab Aufgabe Erstelle ein Backup mit Dateien die Heute im HOME-Verzeichniss (und den Unterverzeichnissen) geändert wurden. Es sollen alle Dateien die mit Nicht beginnen exkludiert werden. Der Dateiname des Backups soll die aktuelle Zeit beinhalten (z.b.: backup-thu.26.09.2013-12.25.16.tar.gz)

Weitere Befehle Lösung tar czf backup-$(date +%a.%d.%m.%y-%h.%m.%s).tar.gz \ $(find. -mtime -1! -name Nicht*! -name.! -name.backup ) Erklärung $( cmd )... die Auswertung des cmd aus der Subshell wir an das übergeordnete Kommando weitergegeben date +%a.%d. %m. %Y-%H.%M.%S... gibt das Datum im gewünschten Format aus im find Kommando werden zusätzlich noch das aktuelle Verzeichnis und das.backup Verzeichnis ausgenommen wenn find keine Dateien findet, gibt das Kommando tar einen Fehler aus Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 18/30 Stab

Jobs und Prozesse Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 19/30 Stab Prozess Was ist ein Prozess ein exekutierendes Programm Ressourcen: Speicher, Files, CPU-Zeit Betriebssystem ist verantwortlich für: Erzeugen und Terminieren von Prozessen Scheduling von Prozessen Synchronisierung von Prozessen Kommunikation zwischen Prozessen Behandlung von Deadlocks

Jobs und Prozesse Silberschatz et al. (2010) Inst. für Informatik [IFI] Computer & Haller GNU/Linux (2010) EinführungTeil 3 Simon Haller, Sebastian 20/30 Stab Prozess aus Sicht des Betriebssystems PCB (Prozess-Control-Block) Prozess-ID (PID) Addressraum für den Prozess Priorität andere Informationen wie: wann ist der Prozess zuletzt gelaufen, wieviel Rechnerzeit hat er verbraucht,... Scheduler

Jobs und Prozesse Prozess Steuerung von Prozessen / Jobkontrolle fg (ForeGround) bg (BackGround, zuerst mit strg + z job stoppen) ps (Prozessstatus) & pstree jobs (laufende Jobs anzeigen) kill (prozess mit prozessid beenden) nohup (no hangup) top (oder htop) Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 21/30 Stab

Jobs und Prozesse Speziellere Shellvariablen Speziellere Shellvariablen $? Exit-Status des zuletzt beendeten Kommandos (Vordergrund) $$ Prozess-ID der aktuell ausgeführten Shell $! Prozess-ID des zuletzt gestarteten Hintergrundprozesses Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 22/30 Stab

Jobs und Prozesse Speziellere Shellvariablen Aufgabe Was für CPU und Speicherinformationen finden sich in /proc Was macht der Befehl grep -ri xxx /etc/s* 2> /dev/null less Was ist der Unterschied zu grep -ri xxx /etc/s* 2> &1 less Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 23/30 Stab

Shell-Skripte Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 24/30 Stab Shell Skripte Beispiel #!/bin/sh VAR1= foo VAR2= bar if [ $VAR1 = $VAR2 ]; then echo die Auswertung des Ausdruck ist Wahr else echo die Auswertung des Ausdruck ist Falsch fi

Shell-Skripte Aufgaben Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 25/30 Stab Aufgaben Aufgabe: Shell Skript Erstelle ein Skript, das dir Sonntags sagt du sollst nicht arbeiten.

Shell-Skripte Aufgaben Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 26/30 Stab Mögliche Lösung Aufgabe: Shell Skript #!/bin/sh # errechnen des wochentags (sonntags... 0) WEEKDAY= $(date +%w) # wenn Sonntag dann echo. if [ $WEEKDAY -eq 0 ]; then echo Du sollst nicht arbeiten. fi

Shell-Skripte Aufgaben Beispiel: Alogrithmik und Programmieren (Textanalyse) ähnliche Aufgabe Eliminieren aller Sonderzeichen eines Textes Umwandeln aller Grossbuchtaben in Kleinbuchstaben zählen der unique Wörter im Text mögliche Lösung cat long.txt tr \n tr -dc [:alnum:]\n tr [:upper:] [:lower:] sort -u wc -l Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 27/30 Stab

Allgemeines Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 28/30 Stab Codeverwaltung über Version Control Systeme Subversion und GIT git https://git.uibk.ac.at svn https://zid-lvcs.uibk.ac.at

Allgemeines Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 29/30 Stab Antrittsvorlesungen Rainer Böhme Security and Privacy 14. Oktober 2015, 18:00 c.t. Matthias Harders Interactive Graphics and Simulation 28. Oktober, 18:00 c.t.

References Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 30/30 Stab References I Haller, S. (2010). Lpccs introduction course. Silberschatz, A., P. Galvin, and G. Gagne (2010). Operating system concepts (8 ed.). Wiley.