4. Übung Einführung in die Informatik

4. Übung Einführung in die Informatik
Melden Sie sich zunächst an, starten die bash und erstellen Sie ein Uebung04
Unterverzeichnis.
Aufgabe 1: Pfade und Platzhalter
An allen Stellen, an welchen Dateinamen angegeben werden können, ist es auch möglich
Dateinamen mit einer vorangestellten Verzeichnisangabe (Pfad) zu verwenden. (vgl. Folie 19
Pfade)
Man unterscheidet zwischen absoluten und relativen Pfadangaben. Absolute Pfadangaben
beginnen immer mit einem /-Zeichen und beziehen sich dabei auf das Wurzel/Hauptverzeichnis, welches auch mit / benannt wird. Relative Pfadangaben beziehen sich
immer auf das aktuelle Verzeichnis. (Vereinfacht ausgedrückt das Verzeichnis, welches in der
Eingabeaufforderung der Shell angezeigt wird, bzw. das in welchem das aktuell laufende
Programm gestartet wurde.)
Stellen Sie sicher dass das aktuelle Verzeichnis Ihr Heimatverzeichnis ist und probieren Sie
die folgenden Beispiele aus, bzw. bearbeiten Sie die folgenden Aufgaben:
1. Der Befehl ls /tmp zeigt die Liste aller Dateien und Unterverzeichnisse im systemglobalen
Verzeichnis für temporäre (kurzzeitig benötigte) Dateien an.
2. Durch ls Uebung02 wird die Liste aller Dateien und Unterverzeichnisse angezeigt, welche
sich im Uebung02 Unterverzeichnis des aktuellen Verzeichnisses befinden.
3. Mit ls Uebung02/Aufgabe2 können Sie eine Liste der leeren Bilddateien, welche Sie für
die zweite Aufgabe des zweiten Übungsblattes erstellt haben, anzeigen lassen. Das
funktioniert jedoch nur, falls Sie die Aufgabe damals korrekt bearbeitet haben, anderenfalls
erhalten Sie möglicherweise eine Fehlermeldung.
4. Im folgenden sollen Platzhalter in Pfadangaben verwendet werden. Analysieren Sie die
Parameter des folgenden ls-Befehls mit Hilfe eines vorangestellten echo-Befehls: echo ls
*bung*2/?ufgabe2 Welche verschiedenen Schreibweisen der Verzeichnisnamen würden
hier funktionieren?
5. Wie lautet die Ausgabe von echo ls -ld *bung*/?ufgabe? ? Und ohne echo? Worin
liegt der Unterschied zu ls -ld Uebung0?/Aufgabe??
In (fast) jedem Verzeichnis gibt es noch zwei spezielle "Unter"-Verzeichnisse: ls -ld . ..


Dabei bezeichnet . das aktuelle Verzeichnis. Vergleichen Sie dazu ls -l . und ls -l
Das Verzeichnis .. verweist auf das übergeordnete Verzeichnis. Der Befehl ls -l .. liefert
die Liste der Einträge des Elternverzeichnisses von dem momentan aktuellen Verzeichnis,
also sozusagen die Geschwisterverzeichnisse.
Stellen Sie sicher dass Uebung04 das aktuelle Arbeitsverzeichnis ist und bearbeiten Sie die
folgenden Beispiele bzw. Aufgabenstellungen:
1. Der Befehl ls ../Uebung02 zeigt, falls das Schwesterverzeichnis Uebung02 des aktuellen
Arbeitsverzeichnisses existiert, dessen Inhalt.
2. Es ist durch die beiden Verzeichnisse . und .. möglich, relative Pfadangaben wie z.B. in den
Befehlen ls ../.. und cd ../.. zu machen. Welches Verzeichnis wird angezeigt, bzw. in
welches wird gewechselt?
Mit dem Zeichen ~ wird Ihr Heimatverzeichnis bezeichnet. Durch ls -l ~ wird also Ihr
Heimatverzeichnis angezeigt, egal welches Verzeichnis gerade das Arbeitsverzeichnis ist!


Durch das Kommando cd ~/Uebung04 wechseln Sie immer in Ihr Uebung04 Verzeichnis.
Untersuchen Sie mit und ohne vorangestellten echo Befehl die Wirkung des echo ls
~/*bung* Befehls!
Aufgabe 2: Löschen, Kopieren und Umbenennen
Achtung: Mit den in dieser Aufgabe verwendeten Befehlen können Daten beschädigt oder
zerstört werden. Daher ist es außerordentlich wichtig dass Sie bei der Verwendung dieser
Befehle immer genau wissen was Sie tun.
Legen Sie ein Aufgabe2 Verzeichnis in Ihrem Uebung04 Verzeichnis an und stellen Sie
sicher, dass es Ihr Arbeitsverzeichnis (aktuelles Verzeichnis) ist.
Löschen
Der Befehl rm -i [name] löscht die Datei mit dem angegebenen Namen [name]. Die Option
-i bewirkt dabei, dass vor dem Löschen nachgefragt wird, ob wirklich gelöscht werden soll.
Achtung: Dateien die gelöscht wurden, können nicht zurückgeholt werden.
Bearbeiten Sie die folgenden Aufgaben:
1. Legen Sie mit Hilfe des touch Befehls ein paar leere Dateien mit den Name test1, test2,
test3 und test04 an.
2. Löschen Sie mit Hilfe von rm -i test1 die erste dieser Dateien.
3. Stellen Sie sicher dass die Datei test04 durch den folgenden Befehl nicht gelöscht wird,
gegebenenfalls müssen Sie den Befehl vorher abwandeln!
rm test*
Welche Dateien gelöscht werden, können Sie vorher mit Hilfe des echo Befehls überprüfen.
4. Löschen Sie nun die verbliebene Datei test04 mit Hilfe von rm -i test04.
Kopieren
Mit dem Befehl cp [Quelle] [Ziel] können Sie eine Kopie der Datei [Quelle] mit dem
neuen Namen [Ziel] erstellen. Falls es sich bei [Ziel] um einen Verzeichnisnamen handelt,
wird in dem Zielverzeichnis eine Kopie der Quelldatei angelegt, welche auch den Namen der
Quelldatei trägt.
Stellen Sie sicher, dass das Aufgabe2 Verzeichnis der 4. Übung ihr aktuelles
Arbeitsverzeichnis ist. Bearbeiten Sie die folgenden Aufgaben:
1. Legen Sie mit Hilfe des mcedit Befehls eine Datei test01.txt an und füllen Sie diese mit
beliebigen Inhalt.
2. Erstellen Sie mit cp test01.txt test02.txt eine Kopie test02.txt der Datei
test01.txt. Überlegen Sie ob man den Kopierbefehl mit Hilfe von Platzhalten auch kürzer
hätte schreiben können.
3. Prüfen Sie den Inhalt von test02.txt mit dem cat Befehl.
4. Erzeugen Sie noch zwei weitere Duplikate mit den Namen test03 und test04.
5. Mit cat *test*.txt können Sie sich die Inhalte aller vier Dateien anzeigen lassen.
Warum?
6. Legen Sie ein neues Unterverzeichnis mit dem Namen testtexte an.
7. Kopieren Sie mit cp test*.txt testtexte alle vier .txt-Dateien in das testtexte
Unterverzeichnis. Betrachten Sie mit Hilfe eines vorangestellten echo Befehls wie die Shell
die Platzhalter expandiert. Sie erkennen, dass auch mehrere Quellen angegeben werden
können. Der letzte Parameter ist jedoch immer das Ziel der Kopieroperation.
Umbennenen
Mit dem Befehl mv [Quelle] [Ziel] kann eine Datei Namens [Quelle] in [Ziel]
umbenannt werden. Falls es sich bei [Ziel] um ein Verzeichnis handelt, wird die Quelldatei
in das Zielverzeichnis verschoben. Falls mehrere Quellen angegeben werden, wird versucht
diese in das Ziel zu verschieben, welches dann jedoch ein Verzeichnis sein muss. Der letzte
Parameter ist immer das Ziel.
Begeben Sie sich in das Verzeichnis der 2. Aufgabe des aktuellen Übungsblattes und
bearbeiten Sie die folgenden Arbeitsschritte:
1. Benennen Sie die Datei test01.txt mit Hilfe von mv test01.txt text1.txt in
text1.txt um.
2. Führen Sie diese Umbenennung mit den restlichen drei Dateien durch. Können Ihnen dabei
Platzhalter helfen? Wenn ja, warum nicht?
3. Legen Sie ein Verzeichnis Texte an.
4. Verschieben Sie die Datei text1.txt durch den Befehl mv text1.txt Texte in das
soeben erstellte Unterverzeichnis.
5. Verschieben Sie die restlichen drei Dateien in das Texte Verzeichnis. Können Ihnen nun
Platzhalter helfen? Worin liegt der Unterschied zu 2.?
6. Verschieben Sie nun das testtexte Unterverzeichnis in das Texte Unterverzeichnis und
benennen Sie es dabei in TestTexte um. Wie können Sie dies in zwei Schritten
durchführen? Und wie in einem Schritt?
Aufgabe 3: Ausgabeumleitung
Erstellen Sie zunächst ein Aufgabe3 Unterverzeichnis in dem Verzeichnis der aktuellen
Übung und stellen Sie sicher, dass dieses Ihr aktuelles Arbeitsverzeichnis ist.
Durch das > Zeichen hinter dem letzten Argument eines Befehls können Sie die Ausgabe des
Befehls in eine Datei umleiten. Falls diese Datei vorher existiert, wird ihr Inhalt entfernt und
durch den neuen ersetzt. Achtung: Keine Sicherheitsabfrage!


Durch echo Hallo Welt > hallo.txt wird der Text Hallo Welt in die Datei
hallo.txt geschrieben. Dies können Sie leicht mit dem cat Befehl überprüfen.
Wenn Sie die Namen der Dateien und Verzeichnisse Ihres Heimatverzeichnisses in einer Datei
speichern wollen, können Sie dies mit ls ~ > home_kurz.txt tun. Prüfen Sie wieder mit
cat. Den Inhalt dieser Datei könnte man z.B. auf eine CD-Hülle drucken.

Erzeugen Sie mit Hilfe des -l Parameters des ls Befehls eine entsprechende Datei
home_lang
Durch die >> Zeichenfolge können Sie die Ausgabe eines Befehls an eine bestehende Datei
anhängen.


Welche Änderung an hallo.txt ergibt sich durch den Befehl echo Guten Tag >>
hallo.txt?
Erstellen Sie eine Datei Uebungen.txt welche die lange Inhaltslisten der Übungs- und deren
zugehörigen Aufgabenverzeichnisse enthält.