Computer & GNU/Linux Einführung Teil 3



Ähnliche Dokumente
Computer & GNU/Linux Einführung Teil 4

Grundlagen der Programmierung

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

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

LINUX Gesamtmitschrift

Vorlesung Unix-Praktikum

UNIX Die wichtigsten Befehle

Vorlesung Linux Praktikum

Archivieren und Komprimieren, Globs

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

Einführung in die Kommandozeile

Vorlesung Unix-Praktikum

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

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

Archivieren und Komprimieren, SSH

Ein- und Ausgabeumlenkung

Linux Prinzipien und Programmierung

SCI Linux Einführung

Basiskonzepte des Rechnerbetriebs

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

Arbeiten mit der Shell Teil 1

Computergrundlagen Einführung in UNIX 1

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

pwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Linux-Einführung Übung

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

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

Arbeiten mit der Shell in Linux

Linux eine Einführung

Computer & GNU/Linux Einführung Teil 1

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Unix/Linux Grundlagen für Einsteiger

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

Technische Praxis der Computersysteme I 3. Vorlesung

Basiskonzepte des Rechnerbetriebs

13. Anhang B: Linux-Grundbefehle

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)

Einführung in die Kommandozeile

Grundlegende Kommandos unter UNIX / LINUX

1 Linux-Befehlsübersicht

Arbeiten mit der Shell Teil 1

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

Dateisystem 2, RegEx, Manpages

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

Arbeiten mit der Shell Teil 1

Shell-Scripting Linux-Kurs der Unix-AG

SelfLinux Dateien unter Linux

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

How to Public key authentication with freesshd

L A TEX, Linux, Python

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

SelfLinux Dateien unter Linux

Linux das bessere Windows?

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

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

Bash-Skripting Linux-Kurs der Unix-AG

Vorlesung Unix-Praktikum

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

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

Shell-Scripting Linux-Kurs der Unix-AG

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

Dateien und Verzeichnisse

Einführung Unix Shell

Dateisystem 1, Suchen & Finden

Transkript:

Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 1/29 Computer & GNU/Linux Einführung Teil 3 Simon Haller, Sebastian Stabinger, Philipp Zech Inst. für Informatik [IFI] September 18, 2014

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/29

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/29

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/29

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/29

Kommando Ausführung Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian Stab 6/29 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/29 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/29 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/29 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/29 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/29 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/29 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/.

Remote Shell SSH (Secure Shell) zid gpl.uibk.ac.at ssh [OPTIONEN] USERNAME@HOST [Kommando] z.b.: ssh user@zid-gpl.uibk.ac.at -Y... Sicheres X Forwarding -l... Login Name Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 12/29 Stab

Remote Shell Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 13/29 Stab SSH Keys SSH Schlüssel erzeugen ssh-keygen -t rsa -b 2048 SSH Public Key verwenden (Beispiel) scp ~/.ssh/id rsa.pub zid-gpl.uibk.ac.at:~/ ssh zid-gpl.uibk.ac.at cat id rsa.pub >>.ssh/authorized keys && rm id rsa.pub exit ssh -i.ssh/id rsa zid-gpl.uibk.ac.at

Remote Shell Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 14/29 Stab SSH Keys (II) SSH Config Erstelle das File: $HOME/.ssh/config Host zid-gpl HostName zid-gpl.uibk.ac.at Port 22 User username IdentityFile /.ssh/privatekeyfile

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 15/29 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 15/29 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 test.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 16/29 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 16/29 Stab

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 17/29 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 18/29 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 19/29 Stab

Weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 20/29 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 21/29 Stab

Jobs und Prozesse Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 22/29 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 & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 23/29 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 24/29 Stab

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

Jobs und Prozesse Speziellere Shellvariablen Aufgabe Finde den aktuellen status deiner offenen shell 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 26/29 Stab

weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 27/29 Stab Kommandos dirname [Datei] Verzeichnisnamen von Datei ausgeben. dirname [Datei] Beispiel: dirname /VER/ZEICHNIS/DATEINAME liefert /VER/ZEICHNIS

weitere Befehle Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 3 Simon Haller, Sebastian 28/29 Stab Kommandos basename [Datei] Verzeichnis vom Dateinamen entfernen basename [Datei] Beispiel: basename /VER/ZEICHNIS/DATEINAME liefert DATEINAME

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