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

Ähnliche Dokumente
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)

Unix/Linux Grundlagen für Einsteiger

Crashkurs Kommandozeile

Grundlagen der Programmierung

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

Skripte. Beispiel. M. Fyta Computergrundlagen 73/93

Computer & GNU/Linux Einführung Teil 4

Einführung in die Kommandozeile

Einführung Unix Shell

Shell-Programmierung

Technische Praxis der Computersysteme I 3. Vorlesung

Basiskonzepte des Rechnerbetriebs

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

L A TEX, Linux, Python

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

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

Praktikum RO1 Einführung Linux / Ubuntu / Bash

Linux-Einführung Übung

Linux Prinzipien und Programmierung

Arbeiten mit der Shell Teil 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

1) JAVA JRE auf der QNAP Box installieren

Kommandos im Unix-Grundkurs Digicomp-UXE. Inhalt

Computer & GNU/Linux Einführung Teil 3

Unix Shell und einige Tools

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2

Übung 4: Schreiben eines Shell-Skripts

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

LINUX Gesamtmitschrift

Arzu Sanli Ibrahim Canakci

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

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

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

105.1 Shell, Scripting

Linux - a bit advanced

Übung 1: Wichtige Kommandos unter Linux

Ein- und Ausgabeumlenkung

Shell-Scripting Linux-Kurs der Unix-AG

Exkurs: Unix Programme

Arbeiten mit der Shell Teil 2

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

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

Übung: Entwickeln eines Shell-Skripts

Effektives Arbeiten ohne Maus

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

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

Bash-Scripting Linux-Kurs der Unix-AG

cs106 Informatiklabor Teil 1: Java-Installation

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Dateien und Verzeichnisse

Lösungen zum UNIX/LINUX- Kompakt-Kurs

Desktop ade: Me and my shell

Die Shell. [prompt]> <command> <flags> <args>

3. Modul: I/O-Umleitung, Pipes, Prozesse, Netzwerk, X11

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

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

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

Arbeiten mit der Shell Teil 1

Grundlegende Kommandos unter UNIX / LINUX

Aufgabensammlung IT Shellprogrammierung Teil I

Einige Eigenschaften der Bourne-Shell und der bash

Arbeiten mit der Shell Teil 1

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS

Einführung in die Kommandozeile

Arbeiten mit der Shell Teil 1

Vorlesung Unix-Praktikum

Einführung in das Arbeiten an Unix-Rechnern

Betriebssysteme Ein Überblick

Linux das bessere Windows?

Wiederholung: Prozesse

Einführung in das wissenschaftliche Rechnen

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Betriebssysteme UNIX/Linux Übungsthema 1 Einführung in UNIX/Linux. Dirk Wenzel Dr. Jörg Gruner

Vorbereitungskurs Informatik - Tag 1

Shell-Scripting Linux-Kurs der Unix-AG

Shell Programmierung. Was ist die Shell überhaupt?

Raffinierte Shell Scripts

Ihr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:

Kommandozeilen effizient nutzen und verstehen

ATB Ausbildung Technische Berufe Ausbildungszentrum Klybeck

D.2 Sonderzeichen (2)

GNU/Linux für Neulinge

Shell-Scripting Linux-Kurs der Unix-AG

Linux-Befehlsreferenz

Wichtige UNIX Kommandos

Arbeiten mit Linux und an der Kommandozeile

UNIX Shell-Programmierung

SCI Linux Einführung

Kleines Tutorial für die Nutzung des bwuniclusters. Sven Wehner Angela Cho

Übungen zu Systemprogrammierung I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2003 C-Uebung1.fm

Linux Prinzipien und Programmierung

Kommandozeilenverarbeitung durch die Unix-Shell (bash)

Vorsemesterkurs Informatik

1 Linux-Befehlsübersicht

Informatik I - Einstiegskurs

case-sensitive telnet gutemine .wu-wien.ac.at exit Achtung:

Arbeiten mit der Shell Teil 1

Objektorientiertes Programmieren mit Suse Linux

Übung: Kennenlernen der Linux-Benutzeroberfläche

Arbeiten mit der Shell in Linux

Transkript:

Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin: 07.10.2016 Semester:... Prüfungsdauer: 90 Minuten Note:... Anzahl der Aufgabenblätter: 6 Maximal erreichbare Punktzahl: 100 Punkte + 10 Zusatzpunkte Zugelassene Hilfsmittel: alles außer Rechner Punktzahl:... Aufgabensteller: Stockmayer, Lehrbeauftragter an der Fakultät efi Prüfer: Stockmayer Aufgabe 1: Welche Rechte werden bei folgendem Befehl gesetzt: chmod 754 file1.txt chmod 754 dir1.d Was bewirken diese Rechte für wen? Für welche Kommandos sind diese Rechte von Bedeutung? (file1.txt ist ein (Text) File, dir1.d ist ein Verzeichnis) (14 Punkte) chmod 754 file1.txt Besitzer darf alles (lesen, schreiben, ausführen), Gruppen mitglieder lesen und ausführen, Rest der Welt nur lesen lesen: z.b. mit cat file1.txt, less file1.txt schreiben: z.b. mit echo text >> file1.txt oder mit Editor (z.b. vi) ausführen: durch nennen des Namens, wenn in PATH: file1.txt (z.b. wenn dort Kommandos drinstehen, Skript) chmod 754 dir1.d Besitzer darf alles (listen, verändern, reingehen), Gruppen mitglieder listen und reingehen, Rest der Welt nur listen listen: z.b. mit ls dir1.d verändern: z.b. mit mv x1 dir1.d/y1 oder kopieren oder löschen reingehen: z.b. mit cd dir1.txt Kommandos: ls, cd, cat/less/more, vi, cp/mv/ln, rm,... Montag Oktober 10, 2016 1/6

Okt 10, 16 17:29 Seite 2/6 Aufgabe 2: Erklären Sie folgende Begriffe (geben Sie, falls möglich, ein Beispiel): (25 Punkte) Indirektionsblock (was ist das?, wo kommt es vor?): Im Dateisystem auf der Partition im Datenbereich ein Block mit Adressen auf die Daten oder weiteren Indirektions blöcken. Er selber wird im i Node adressiert oder in einem anderen Indirektionsblock. Ziel: möglichst große Dateien anzusprechen. ls i Bestandteil der i Liste und liegt im Datenbereich. Prozess (was ist das?, wie kann er gestartet werden?, Beispiel?): laufendes Kommando im Hauptspeicher Befehle in einer Datei laufen lassen (binär oder Skript) Prozesstabelle im Kern mit PID, PPID Start durch Nennen des Namens (wenn PATH Verzeichnis enthält) Hintergrund: & ps/top/pstree: Listen (Status: SWZTR) ^c, kill: weg (kill 9: absolut weg) ^z, fg, bg, jobs: erweiterte Prozesskontrolle env: Umgebungsvariable Trojaner (was ist das?, wie kann er unter Linux vermieden werden? Welche Vorkehrungen sind zu treffen?): tut so, als sei er ein normales Kommando, späht aber irgendwas aus oder richtet Schaden an, z.b. das Passwort der root ausspähen. Prüfen von wo starten: type (/bin und /usr/bin sind erst mal sicher) oder Starten mit Pfad: /bin/su prüfen der PATH Einstellung (echo $PATH). Umlenken (was ist das?, wozu wird das benötigt?, Beispiel): stdin aus einem File lesen. Zeichen <. Ergebnisse eines Kommandos (stdout) in einen File schreiben. Zeichen > (überschreiben) >> (anhängen) Fehlermeldungen eines Kommandos (stderr) in einen File schreiben Zeichen 2> 2>> Wird von Shell zentral umgesetzt, Kommando merkt nix davon. B: find / name xyz 2> error > ergebnis Es gibt 3 Standardkanäle: stdin, stdout, stderr Umgebung (Environment) (was ist das?, wozu wird das benötigt?, Beispiel): Einstellungen des Parentprozesses, die sich auf den Childprozess auswirken: aktueller Pfad dort liegende Dateien Environmmentvariable: export var=inhalt; env 2/6 Montag Oktober 10, 2016

Okt 10, 16 17:29 Seite 3/6 Aufgabe 3: Erläutern Sie detailiert folgenden Kommandoaufruf (18 Punkte): sort rn [a f]?f* tee a ~/erg1 cat n grep alsa lp & sortiere alle Zeilen (numerisch) der Dateien aus dem aktuellen Verzeichnis, die mit a bis f beginnen, dann ein beliebiges Zeichen haben, dann ein f und beliebig oder nicht weitergehen. Das Resultat sende über eine Pipe (stdout > stdin) an ein Tee Stück, das die (sortierten) Zeilen an eine Datei erg1 im eigenen HeimatVerzeichnis speichert (anhängt) und via Pipe weiterreicht an cat, der Zeilennummern hinzufügt. Die Ausgabe wird gefiltert: nur Zeilen, die den Text alsa gefolgt von einem Blank enthalten werden weitergereicht an den Druckspooler, der die (nummerierten, sortierten) Zeilen dann am Defaultdrucker ausgibt. ALLES läuft im Hintergrund. Montag Oktober 10, 2016 3/6

Okt 10, 16 17:29 Seite 4/6 Aufgabe 4: Schreiben Sie ein Shell Skript, das alle 30 Sekunden (nur) die Uhrzeit ausgibt und bringen Sie es unter dem Namen "uhr.sh" zum Laufen. Was müssen Sie tun, dass es jeder aus beliebigen Verzeichnissen starten kann? (15 Punkte) #!/bin/sh # 1 Punkt # Uhrzeit in Endlosschleife # 1 while true # 2 do date +%T # Format für Uhrzeit # 2 sleep 30 # 1 done # 1 # exit ist nicht notwendig, da Endlos chmod a+rx uhr # 3 PATH=$PATH:$HOME # oder wo auch immer das Skript liegt # 2 Wenn es alle starten können sollen, muss auch das Verzeichnis, in dem das Skript liegt, von allen gelesen und ausführbar sein: chmod a+rx $HOME # 2 Diese müssen ebenfalls die PATH Variable auf dieses Verzeichnis setzen. 4/6 Montag Oktober 10, 2016

Okt 10, 16 17:29 Seite 5/6 Aufgabe 5: Welche Aufgaben und Möglichkeiten hat eine Shell (hier bash) besonders für die interaktive Kommandozeile (nicht für das Programmieren von Skripten; geben Sie Beispiele)? (17 Punkte) Kommandohistorie: history, Cursortasten # 2 TAB Taste: Kommandos, Dateinamen,... ergänzen # 2 Alias: einfache Namen für Kommandos: alias c=clear # 2 Funktionen: Zusammenfassung von Kommandos, die immer wieder benötigt werden # 2 Metazeichen: viele ähnliche Dateinamen gemeinsam ansprechen: *? [] {} ~ # 3 Umlenken: Ergebnisse speichern: ls > erg # 2 Pipen: Ergebnisse weiterreichen an andere Kommandos: ls less # 2 Variable PS1: Im Prompt Infos wie akt. Pfad anzeigen: PS1= $PWD > # 2 Variable PATH: Suche nach Kommandos einstellen # 1 Kommandos im Hintergrund laufen lassen: find... & # 2 Kommandos stoppen und weiter: ^z, bg, fg auch: Schützen: echo \$ Startupdateien konfigurieren unterschiedliche Shells mit unterschiedlichen interaktiven Eigenschaften Montag Oktober 10, 2016 5/6

Okt 10, 16 17:29 Seite 6/6 Aufgabe 6: Wie können Sie eine Datei untersuchen nach Typ und genauem Inhalt bzw. was sie mit ihr tun können? Geben Sie die Kommandos an, die für die Untersuchung in einem Shell Skript stehen müssten (d.h. kein komplettes Shell Skript). (11 Punkte) 1) mit ls l den Typ anschauen (1. Zeichen: d,,c,b,...) ls l datei cut c1 2) Mit dem file Kommando kann der Inhalt genau spezifiert werden (text, executable, data,...) file datei 3) mit Hilfe von grep und if kann dies in einem Skript automatisiert werden if file datei grep text 4) durch anschauen der Rechte: x für ausführbar 5) durch testen der Rechte: test x datei 6) dieses Ergebnis kann dann in einem Shell Skript mit der if Verzweigung weiterverwendet werden if test x datei then... 7) Auswerten des exit Codes: $? 8) type (wenn es ein Kommando ist) 9) Ort: find UNIX/Linux Lösung 6/6 Montag Oktober 10, 2016