Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Vorlesung Unix-Praktikum2. Einfuhrung: Dateisystem und erste Schritte
Dirk Frettloh
Technische FakultatUniversitat Bielefeld
16. Oktober 2019
1 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileAufgaben der Kommandozeile
1. Programm ausfuhren
2. Programme zu machtigeren Werkzeugen kombinieren(siehe Foto-Beispiel!)
3. Kommandozeilen-Skripte
I 1) und 2) abstrahieren und in Datei speichernI wiederverwenden statt erneut eintippen
2 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileProgramme und Daten
3 Dinge zum Arbeiten mit dem Computer:
Computer Programm Datei
+ + =
3 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileProgramme und Daten
3 Dinge zum Arbeiten mit dem Computer:
Computer Programm Datei
+ + =
=++
Lieferwagen Fahrer Paket Ausliefern
4 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileZusammenhang zwischen Programmen und Daten
1. Programm aufrufen
Klick!
Klick!
2. Datei laden
3. Datei bearbeiten
5 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileVerfuhrerische Leichtigkeit graphischer Oberflachen
Klick!
Klick!
Datei anklicken:
I vermittelt falschen Eindruck von den Ablaufen
I auch hier wird erst das Programm aufgerufenund dann die Datei geoffnet 6 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileProgramme in der Kommandozeile aufrufen
1. nur Programm aufrufen
$ libreoffice
2. Programm mit Datei aufrufen
libreoffice brief.odt
3. Analogie zum Anklicken einer Datei gibt es nicht!
?
bash: brief.odt: command not found
brief.odt
$
$
7 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileSchreib- und Sprechkonventionen
Schreibweise:
Symbol für
(nicht mit eingeben!)
Eingabeaufforderunglibreoffice brief.odt
einzugebendes Kommando
$
Sprechweise:
I Programme ausfuhren / aufrufen
I Dateien (mit einem Programm) offnen
8 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileProgrammaufruf allgemein
Programmname:
− immer an erster Stelle
− Name muß eindeutig sein
Aufruf Werte:
- durch Leerzeichen getrennt
− in Anführungszeichen "als ein Wort"
− Interpretation vom Programm abhängig
2 programm wert wert ... wert1 n$
Nutzlich: “Pfeil-hoch”-Taste (↑) blattert durch die letzteneingegebenen Befehle.
9 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileTab-Vervollstandigung
Sehr nutzlich:
Tab-Vervollstandigung: Nur den Anfang eines Befehlseingeben, dann die Tab-Taste:
I Falls es nur eine mogliche Fortsetzung gibt, wird das Wortvervollstandigt Z.B. libr [Tab] wird zu libreoffice.
I Falls nicht, dann nicht. Aber:
I Falls nicht, dann: zweimal hintereinander Tab liefert eineListe der moglichen Vervollstandigungen:Z.B lib [Tab] [Tab] liefert z.B.
libjingle-call libreoffice libpng12-config
libnetcfg libtoolize
Klappt auch mit Dateinamen!
10 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileAufruf mit zusatzlichen Werten
“Schalter”-Optionen”: -schalter
I “schalter” aktivieren / durchfuhren
$ xclock -digital
Wertangabe: -eigenschaft wert
I nimmt angegebene Eigenschaft fur “Wert”
$ xclock -bg blue
Kombinieren geht naturlich auch:
$ xclock -digital -bg blue
11 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Erste Schritte mit der KommandozeileAufrufmoglichkeiten herausfinden
Hilfefunktion des Programms selbst:
$ programm -h
$ programm --help
“Manual Pages”
$ man programm
Manual Pages konnen mehrere “Kapitel” haben :
man 1 free → Programm ‘‘free’’
man 3 free → Programmierung ‘‘free’’
Sonst:
I $ apropos stichwort zeigt Befehle, die mit “stichwort” zutun haben konnten
I Suchmaschine
12 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemBaume
b1
b1
k1
Kante
Knoten
b2
b3
b4
b5
b6
w
k2
k3
k4
Blätter
innere Knoten
Wurzel
13 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemVorganger/Nachfolger-Relation
aktueller Knoten
Vorgänger Nachfolger
b2
b3
b4
b5
b6
w
k2
k3
k4
Wurzel
Beispiel: k4 hat Vorganger k3 und Nachfolger b4, b5, b6.
Daraus ergeben sich folgende Definitionen:
I Blatter haben keine Nachfolger.
I Die Wurzel ist der einzige Knoten ohne Vorganger.
I Innere Knoten haben Vorganger und Nachfolger.
14 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemPfade
b2
b3
b4
b5
b6
w
k2
k3
k4
Wurzel
Ein Pfad ist ein Weg von der Wurzel zu einem Knoten.
Notation: Aufschreiben der Knoten entlang des Pfades,z.B. w/k3/k4/b6
Zu jedem Knoten gibt es genau einen Pfad.
I Baume haben keine Rundgange (“Zyklen”)
15 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDas Linux-Dateisystem ist ein Baum
/ Wurzel; Verzeichnisse: innere Knoten; Dateien: Blatter
Pfade: /home/cg/arbeit/vorlesung02/vorlesung02.pdf16 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDas Windows-Dateisystem
C:\, D:\, E:\ usw. sind Wurzeln; D:\Abbilder\abbild.ecc Pfad.
→ Das Windows-Dateisystem ist ein Wald.17 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemBewegen im Dateisystem
pwd (print working directory)
I zeigt momentane Position im DateisystemI genauer: den Pfad auf das Verzeichnis,
in dem man sich gerade befindet.
$ pwd
/home/cg/beispiele/Bilder
18 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemBewegen im Dateisystem
ls (list)
I zeigt Inhalt des aktuellen Verzeichnisses(ohne versteckte Dateien; vgl. nachste Folie)
$ ls
brief.odt
datei.txt
19 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemVersteckte Dateien (“Punktdateien”) anzeigen
I Dateien mit einem Punkt am Anfang sind versteckt(Beispiel: .bashrc)
I sieht man nur mit ls -aI Verstecken ist nur Konvention zur Ubersichtlichkeit,
hat keine besondere Eigenschaft / Schutzfunktion!
$ ls -a
.punktdatei
brief.odt
datei.txt
20 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemZwei spezielle Punktdateien
. : Verweis auf das aktuelle Verzeichnis$ thunar .
.. : Verweis auf das Vorganger-Verzeichnis→ wegen der Baumeigenschaft eindeutig!$ thunar ..
Bem: thunar ist ein Dateimanager (vgl. explorer.exe)
21 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Dateisystemin ein Unterverzeichnis wechseln
cd (change directory)
I in ein anderes Verzeichnis wechseln
$ pwd
/home/cg/beispiele/arbeit
$ cd alt
$ pwd
/home/cg/beispiele/arbeit/alt
22 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Dateisystemin das Vorgangerverzeichnis wechseln
I .. Verweis auf das Vorgangerverzeichnis(eindeutig; siehe Baumeigenschaft!)
I .. wie normales Verzeichnis nutzbar
$ pwd
/home/cg/beispiele/arbeit/alt
$ cd ..
$ pwd
/home/cg/beispiele/arbeit
23 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Dateisystemin das Home des Nutzers wechseln
I Sonderfall: cd ohne Argument wechselt in dasHome-Verzeichnis des Nutzers
$ pwd
/home/cg/beispiele/arbeit
$ cd
$ pwd
/home/cg
24 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemAbsolute Pfade
Kompletter Pfad von der Wurzel bis zum Ziel:
I wie normaler Datei-/Verzeichnisname verwendbarI Vorteil: Man braucht nicht in das Zielverzeichnis zu
wechseln, um dort etwas zu tun
$ pwd
/home/cg
(aktuelles Verzeichnis: /home/cg !)
$ libreoffice /home/cg/beispiele/brief.odt
(offnet Brief, der nicht im akt. Verzeichnis liegt)
$ ls /home/cg/ablage
$ pwd
/home/cg
(zeigt Inhalt von /home/cg/ablage, nicht desaktuellen Verzeichnisses!)
$ cd /home/cg/beispiele
$ pwd
/home/cg/beispiele
(wechselt in ein anderes Verzeichnis)
25 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemRelative Pfade
Pfad vom aktuellen Verzeichnis zum Ziel:
I wie normaler Datei-/Verzeichnisname verwendbar
I haufig kurzer als absoluter Pfad
$ pwd
/home/cg/beispiele/Bilder
$ cd ../..
geht zwei Verzeichnisebenen zuruck
$ cd ../geschwister
anderes Verz. auf gleicher Ebene
$ cd ../eins/zwei
eine Ebene hoch, dann zwei
Ebenen tiefer
26 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDateien kopieren (im aktuellen Verzeichnis)
cp (copy)
I kopiert eine Datei
$ cp brief.odt brief2.odt
27 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDateien kopieren (in ein anderes Verzeichnis)
Die Kopie kann auch in einem anderen Verzeichnis liegen:
I mit dem gleichen NamenI mit einem anderen Namen
$ pwd
/home/cg/beispiele/arbeit
$ cp brief.odt alt
$ cp brief.odt alt/peter.odt
28 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemUnterverzeichnis anlegen
mkdir (make directory)
I legt ein Unterverzeichnis an
$ pwd
/home/cg/beispiele/arbeit
$ mkdir briefe
29 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDateien/Verzeichnisse umbenennen
mv (move)
I Datei / Verzeichnis umbenennen
$ pwd
/home/cg/beispiele/arbeit
$ mv datei.txt abc.txt
30 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDateien/Verzeichnisse verschieben
Dateien und Verzeichnisse konnen auch in andere Verzeichnisseverschoben werden:
I und dabei ihren Namen behaltenI oder einen neuen Namen bekommen
$ pwd
/home/cg/beispiele/arbeit
$ mv datei.txt alt
$ mv datei.txt alt/xyz.txt
31 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemDateien loschen
rm (remove)
I Datei loschen
$ rm datei
Vorsicht:
I Weg ist weg! Es gibt kein un-rm / undelete!
I Der Backup-Admin hat sehr schlechte Laune!
32 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemVerzeichnisse loschen
rmdir (remove directory)
I ein leeres Verzeichnis loschen
$ rmdir verzeichnis
rm -rf (remove recursively)
I ein Verzeichnis mit allem Inhalt loschen
I Vorsicht!
33 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemWildcards
I durfen als Bestandteile in Pfaden auftreten(→ ls, mv, rm, . . . )
I Stern * ersetzt beliebig viele Zeichen:
k*.txt passt auf katalog.txt und kurs.txt,aber nicht auf kurs.doc und alkohol.txt.
I Fragezeichen ? ersetzt genau ein Zeichen:
aufg1?.txt passt auf aufg10.txt und aufg11.txt,aber nicht auf aufg1.txt und aufg101.txt.
34 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
DateisystemWildcards
I Liste [...] ersetzt genau ein Zeichen durch eines in der Liste
aufg1[123a].txt passt auf aufg11.txt undaufg1a.txt,aber nicht auf aufg10.txt und aufg17.txt.
I Es geht auch [a-e] (=[abcde]) oder [3-6] (=[3456]) oder[A-E] (= [ABCDE])
35 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
ZusammenfassungDie grundlegendsten Shell-Befehle
pwd Anzeigen des aktuellen Verzeichnispfadsls Anzeigen der Dateien in einem Verzeichniscd Wechseln in anderes Verzeichniscp Kopieren von Dateienmv Bewegen von Dateienmkdir Erzeugen eines (Unter-)Verzeichnissesrm Loschen von Datei(en)/Verzeichniss(en)
. Aktuelles Verzeichnis
.. Das Verzeichnis daruber~ Mein Home-Verzeichnis
Wildcards:
* Ersetzt beliebig viele Zeichen? Ersetzt genau ein Zeichen[xyz] Ersetzt genau ein Zeichen aus x,y,z
36 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
AusblickNachste Woche machen wir...
Dateitypen
I ASCII-Kodierung
I Textdateien vs. Dokumente
I Texteditoren vs. Textverarbeitung
Ein- und Ausgabeumleitung
Ein- und Ausgabeverkettung
37 / 38
Unix-Praktikum
Dirk Frettloh
Kommandozeile
Programme
. . . Aufrufen
Dokumentation
Dateisystem
Baume
Pfade
Navigation
Dateiverwaltung
Ausblick
Ende der heutigen Vorlesung
Vielen Dank furs Zuhoren!
Bis nachste Woche!
38 / 38