Einstieg in relationale Datenbanken mit MySQL (Handout)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
1. Grundlagen der Kommandozeile unter
Unix/Linux
Dr. Kerstin Puschke
Workshop, Uni Salzburg
September 2009
K. Puschke Kommandozeilengrundlagen
2. Lizenz
Lizenz
Dieser Text steht unter einer Creative Commons
Attribution-Share Alike 3.0 Germany Lizenz, siehe
http://creativecommons.org/licenses/by-sa/3.0/de/
K. Puschke Kommandozeilengrundlagen
3. Teil I: Einführung
1 Unix, Linux, . . .
2 Linux Grundlagen
3 Warum die Kommandozeile nutzen?
K. Puschke Kommandozeilengrundlagen
4. Teil II: Erste Schritte
4 Wie komme ich auf die Kommandozeile?
5 Erste Befehle
K. Puschke Kommandozeilengrundlagen
5. Teil III: Dateien und Verzeichnisse verwalten
6 Unterwegs im Verzeichnisbaum
7 Anlegen, Entfernen, Verschieben, Kopieren
K. Puschke Kommandozeilengrundlagen
6. Teil IV: Arbeiten mit der Shell
8 Befehlssyntax - Argumente und Optionen
9 Unterstützung bei der Arbeit
10 Programme steuern
K. Puschke Kommandozeilengrundlagen
7. Teil V: Inhalt von Textdateien
11 Inhalte ausgeben
12 Inhalte bearbeiten
13 Inhalte durchsuchen - Reguläre Ausdrücke
K. Puschke Kommandozeilengrundlagen
8. Teil VI: Ein- und Ausgabe
14 Ein- und Ausgabe
K. Puschke Kommandozeilengrundlagen
9. Teil VII: Dateien und Verzeichnisse verwalten II
15 Rechteverwaltung
16 Links
K. Puschke Kommandozeilengrundlagen
10. Unix, Linux, . . .
Linux Grundlagen
Warum die Kommandozeile nutzen?
Teil I
Einführung
K. Puschke Kommandozeilengrundlagen
11. Unix, Linux, . . .
Linux Grundlagen
Warum die Kommandozeile nutzen?
Einführung
1 Unix, Linux, . . .
2 Linux Grundlagen
3 Warum die Kommandozeile nutzen?
K. Puschke Kommandozeilengrundlagen
12. Unix, Linux, . . .
Linux Grundlagen
Warum die Kommandozeile nutzen?
Unix, Linux und Verwandte
zahlreiche “verwandte” Systeme: Unix, Linux, BSD, . . .
viele Gemeinsamkeiten in der Anwendung
Kurs fokussiert auf Linux
das meiste ist übertragbar
K. Puschke Kommandozeilengrundlagen
13. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Einführung
1 Unix, Linux, . . .
2 Linux Grundlagen
Multi-User System
Verzeichnisbaum
Komponenten eines Linux-Systems
3 Warum die Kommandozeile nutzen?
K. Puschke Kommandozeilengrundlagen
14. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Multi-User System
gleichzeitig von mehreren nutzbar
getrennte Bereiche (Einstellungen, Anwendungsdaten etc.)
strikte Trennung von Anwendung und Administration
K. Puschke Kommandozeilengrundlagen
15. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Verzeichnisbaum
keine Laufwerksbuchstaben
Wurzel (root) ist oben, Verzeichnis /
Verzeichnis in Pfadangaben durch / getrennt:
/home/alice/linuxkurs
/
/bin
/boot
/dev
/etc
/home
/home/alice
/home/bob
/home/bob/linuxkurs
/home/carol
/lib
... K. Puschke Kommandozeilengrundlagen
16. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Verzeichnisbaum II
jeder user hat eigenes Homeverzeichnis
i.d.R. /home/<username>, z.B. /home/alice
eigene Dateien und Einstellungen
externe Geräte (z.B. USB-Sticks, externe Festplatten)
werden in Verzeichnisbaum eingehängt (mount)
benutzbar wie andere Verzeichnisse
root bezeichnet
das Wurzelverzeichnis /,
den Administrations-Account,
das Homeverzeichnis des Administrations-Accounts
(oft /root)
K. Puschke Kommandozeilengrundlagen
17. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Komponenten
Betriebssystem (Operating System, OS)
Kernel (Hardwareverwaltung)
System- und Dienstprogramme
(Hardwarenahe Konfiguration,. . . )
Schnittstelle (User Interface, UI)
GUI (Graphical User Interface, grafische Oberfläche)
CLI (Command Line Interface, Kommandozeile, Shell)
Anwendungen
grafisch
kommandozeilenbasiert
strikte Trennung zwischen OS und UI
K. Puschke Kommandozeilengrundlagen
18. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Shell
Schnittstelle zum Betriebssystem
Vielzahl von shells existiert, z.B.
sh Bourne Shell
bash Bourne Again Shell (im Kurs verwendet)
csh, tcsh,. . .
eingetippte Befehle werden sofort ausgeführt
Anwendungen ausführen/starten
shell-eigene Befehle
shell-eigene Programmiersprache
K. Puschke Kommandozeilengrundlagen
19. Unix, Linux, . . . Multi-User System
Linux Grundlagen Verzeichnisbaum
Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems
Philosophie
Für jede Aufgabe das passende Programm
kleine, spezialisierte Tools statt riesiger
rundum-sorglos-Programme
flexibel kombinierbar
K. Puschke Kommandozeilengrundlagen
20. Unix, Linux, . . .
Linux Grundlagen
Warum die Kommandozeile nutzen?
Einführung
1 Unix, Linux, . . .
2 Linux Grundlagen
3 Warum die Kommandozeile nutzen?
K. Puschke Kommandozeilengrundlagen
21. Unix, Linux, . . .
Linux Grundlagen
Warum die Kommandozeile nutzen?
Warum die Kommandozeile nutzen?
keine grafische Oberfläche nutzbar
nicht installiert (z.B. Server)
nicht benutzbar (abgestürzt, kaputtkonfiguriert,. . . )
Anwendung existiert “nur” für Kommandozeile
Anwendungen interaktiv kombinieren
Ressourcen schonen, Bootvorgang verkürzen
Effizienz und Arbeitsersparnis
Beispiel: kopiere aus einem Verzeichnis mit 1000 Dateien
diejenigen, deren Name “salzburg” enthält
K. Puschke Kommandozeilengrundlagen
22. Wie komme ich auf die Kommandozeile?
Erste Befehle
Teil II
Erste Schritte
K. Puschke Kommandozeilengrundlagen
23. Wie komme ich auf die Kommandozeile?
Erste Befehle
Erste Schritte
4 Wie komme ich auf die Kommandozeile?
5 Erste Befehle
K. Puschke Kommandozeilengrundlagen
24. Wie komme ich auf die Kommandozeile?
Erste Befehle
Auf die Kommandozeile wechseln
Aus GUI heraus
Terminal bzw. Konsole starten
zusätzliche Sitzung ohne GUI starten
STRG+ALT+F1
weitere Sitzungen mit STRG+ALT+F2, STRG+ALT+F3,. . .
zurück zur grafischen Sitzung: STRG+ALT+F7
Schon da?
Eingabeaufforderung (Prompt) erscheint, z.B.
kpuschke@localhost:˜
ggf. in die bash wechseln
K. Puschke Kommandozeilengrundlagen
25. Wie komme ich auf die Kommandozeile?
Erste Befehle
Erste Schritte
4 Wie komme ich auf die Kommandozeile?
5 Erste Befehle
K. Puschke Kommandozeilengrundlagen
26. Wie komme ich auf die Kommandozeile?
Erste Befehle
Vorsicht
Achtung
Groß- und Kleinschreibung sowie Leerzeichen sind relevant!
K. Puschke Kommandozeilengrundlagen
27. Wie komme ich auf die Kommandozeile?
Erste Befehle
Erste Befehle
whoami - Wer bin ich? Mit welchem username bin ich
eingeloggt?
hostname - Auf welchem Rechner befinde ich mich?
pwd - In welchem Verzeichnis bin ich? (print working
directory)
K. Puschke Kommandozeilengrundlagen
28. Wie komme ich auf die Kommandozeile?
Erste Befehle
Aufgaben
Erste Schritte
pwd, whoami, hostname
K. Puschke Kommandozeilengrundlagen
29. Unterwegs im Verzeichnisbaum
Anlegen, Entfernen, Verschieben, Kopieren
Teil III
Dateien und Verzeichnisse verwalten
K. Puschke Kommandozeilengrundlagen
30. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Dateien und Verzeichnisse verwalten
6 Unterwegs im Verzeichnisbaum
Verzeichnis wechseln
Pfadangaben
Verzeichnisinhalt ausgeben
7 Anlegen, Entfernen, Verschieben, Kopieren
K. Puschke Kommandozeilengrundlagen
31. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Navigation im Verzeichnisbaum
Verzeichnis wechseln
cd VERZEICHNIS - change directory
K. Puschke Kommandozeilengrundlagen
33. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Verzeichnis wechseln
cd VERZEICHNIS
wechselt in Verzeichnis <Verzeichnis>
cd
wechselt ins eigene Homeverzeichnis
cd -
wechselt ins vorher benutzte Verzeichnis
K. Puschke Kommandozeilengrundlagen
34. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Pfadangaben
absoluter Pfad
beginnt im Rootverzeichnis /
Beispiel: /home/alice/linuxkurs/aufgaben
relativer Pfad
relativ zum aktuellen Verzeichnis
beginnt ohne “/”
aktuelles Verzeichnis: .
nächsthöheres Verzeichnis: ..
K. Puschke Kommandozeilengrundlagen
35. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Pfadangaben - Beispiele
Ausgehend von /home/alice/linuxkurs/ entsprechen
sich jeweils
aufgaben
./aufgaben
/home/alice/linuxkurs/aufgaben
../mysqlkurs/aufgaben
/home/alice/mysqlkurs/aufgaben
../../bob/linuxkurs
/home/bob/linuxkurs
K. Puschke Kommandozeilengrundlagen
36. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Verzeichnisinhalt
Verzeichnisinhalt ausgeben
ls VERZEICHNIS
list directory contents (historisch: list segment)
K. Puschke Kommandozeilengrundlagen
37. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Aufgaben
Verzeichnisinhalt ausgeben
ls
K. Puschke Kommandozeilengrundlagen
38. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Verzeichnisinhalt
ls VERZEICHNIS
Inhalt von <Verzeichnis>
ls
Inhalt des aktuellen Verzeichnisses
ls - -all VERZEICHNIS
ls -a <Verzeichnis>
auch versteckte Dateien anzeigen
(Dateiname beginnt mit .)
ls -l VERZEICHNIS
ls - -format=long <Verzeichnis>
long format, mehr Infos
K. Puschke Kommandozeilengrundlagen
39. Verzeichnis wechseln
Unterwegs im Verzeichnisbaum
Pfadangaben
Anlegen, Entfernen, Verschieben, Kopieren
Verzeichnisinhalt ausgeben
Verzeichnisinhalt - ls -l
-rw-r- -r- - 1 alice users 2472 2009-03-14 17:54
kurs.txt
drwxr-xr-x 2 alice users 4096 2009-05-23 10:06
Videos
Rechte
Anzahl hard links (Datei) oder
Unterverzeichnisse (Verzeichnis)
owner
group
Grösse in Bytes
letzte Änderung
Name
K. Puschke Kommandozeilengrundlagen
40. Unterwegs im Verzeichnisbaum
Anlegen, Entfernen, Verschieben, Kopieren
Dateien und Verzeichnisse verwalten
6 Unterwegs im Verzeichnisbaum
7 Anlegen, Entfernen, Verschieben, Kopieren
K. Puschke Kommandozeilengrundlagen
41. Unterwegs im Verzeichnisbaum
Anlegen, Entfernen, Verschieben, Kopieren
Anlegen und Entfernen
Anlegen
mkdir VERZEICHNIS
make directory
touch DATEI
Datei anlegen (bei vorhandener Datei: timestamp setzen)
Entfernen
rm DATEI
remove
rmdir VERZEICHNIS
remove directory (entfernt leeres Verzeichnis)
rm -r VERZEICHNIS
entfernt Verzeichnis samt Inhalt
K. Puschke Kommandozeilengrundlagen
43. Unterwegs im Verzeichnisbaum
Anlegen, Entfernen, Verschieben, Kopieren
Vorsicht
Warnung
U.U. wird ohne Rückfrage gelöscht oder überschrieben!
K. Puschke Kommandozeilengrundlagen
44. Unterwegs im Verzeichnisbaum
Anlegen, Entfernen, Verschieben, Kopieren
Aufgaben
Dateien und Verzeichnisse
Anlegen, Entfernen, Kopieren, Verschieben, Umbenennen
K. Puschke Kommandozeilengrundlagen
45. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Teil IV
Arbeiten mit der Shell
K. Puschke Kommandozeilengrundlagen
46. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Arbeiten mit der Shell
8 Befehlssyntax - Argumente und Optionen
9 Unterstützung bei der Arbeit
10 Programme steuern
K. Puschke Kommandozeilengrundlagen
47. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Argumente
Befehle können auf Argumente wirken
manche Befehle verarbeiten keine Argumente
z.B. pwd
manche Argumente sind zwingend
z.B. Verzeichnisname bei mkdir
manche Argumente sind optional
z.B. Verzeichnis bei cd oder
zweiter Verzeichnisname bei mkdir
ggf. mehrere Argumente erforderlich
z.B. Quelle und Ziel bei mv
K. Puschke Kommandozeilengrundlagen
48. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Optionen
Verändern die Wirkung von Befehlen
rm -r
Syntax uneinheitlich, gängig sind
einzelner Buchstabe mit minus davor
rm -r kurs
Wort mit doppeltem minus
rm - -recursive kurs
Key-Value mit =
rm - -interactive=always
teilweise auch nur mit einfachem minus
Optionen können z.T. kombiniert werden
oft kann dann abgekürzt werden
ls -al statt ls -a -l
K. Puschke Kommandozeilengrundlagen
49. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Aufgaben
Befehlssyntax und Arbeitsweisen
Befehle, Optionen und Argumente, praktische Tips
K. Puschke Kommandozeilengrundlagen
50. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Arbeiten mit der Shell
8 Befehlssyntax - Argumente und Optionen
9 Unterstützung bei der Arbeit
Arbeitserleichterungen
Hilfe finden
Wildcards und Klammererweiterung
10 Programme steuern
K. Puschke Kommandozeilengrundlagen
51. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Arbeitserleichterungen
Blättern mit Shift+PageUp/Down
Befehlshistorie mit Cursortasten
Vervollständigung mit Tab
Copy & Paste:
Markieren & per mittlerer Maustaste einfügen
im Terminal oft: STRG+Shift+C, STRG+Shift+V
K. Puschke Kommandozeilengrundlagen
52. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Hilfe
Befehlssyntax abfragen:
Optionen -h oder - -help
manpage
man befehl
info befehl
perldoc, texdoc,...
...
Notation: Angaben in eckigen Klammern sind optional
K. Puschke Kommandozeilengrundlagen
53. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Klammererweiterung
Ausdruck in geschweiften Klammern wird zu mehreren
Dateinamen erweitert
cp /home/alice/{foo,bar} neuerordner
entspricht
cp /home/alice/foo /home/alice/bar
neuerordner
K. Puschke Kommandozeilengrundlagen
54. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Wildcards
Platzhalter für Dateioperationen
Beispielanwendung: Lösche alle Dateien, deren Name mit
linux beginnt
je nach shell: ˜ expandiert zum eigenen Homeverzeichnis
˜ /linuxkurs entspricht
/home/<mein_username>/linuxkurs
? - genau ein beliebiges Zeichen
* - beliebig viele beliebige Zeichen
! - Verneinung
[] - Characterclass (“oder”)
versteckte Dateien werden ggf. ignoriert
K. Puschke Kommandozeilengrundlagen
55. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Wildcards
Beispiele
* - alle Dateien, die nicht versteckt sind
.* - alle versteckten Dateien
f* - alle Dateien, deren Name mit f beginnt
f?o - z.B. foo,flo,f.o
f[ol]o - foo und flo
f[!l]o - foo, fio,... aber nicht flo
[0-9]* - Dateiname beginnt mit Ziffer
K. Puschke Kommandozeilengrundlagen
56. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Aufgaben
Arbeitserleichterungen und Hilfe/Doku
Wildcards, Klammererweiterung, manpages
K. Puschke Kommandozeilengrundlagen
57. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen
Unterstützung bei der Arbeit Hilfe finden
Programme steuern Wildcards und Klammererweiterung
Wildcards
Gefahren
Welche Dateien werden gelöscht?
rm -rf .*
Vorsicht!
In Kombination mit -r paßt .* auf ../*, d.h. auch auf
höhergelegende Verzeichnisse!
K. Puschke Kommandozeilengrundlagen
58. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Arbeiten mit der Shell
8 Befehlssyntax - Argumente und Optionen
9 Unterstützung bei der Arbeit
10 Programme steuern
K. Puschke Kommandozeilengrundlagen
59. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Programme steuern
Starten und Beenden
Programm starten mit zugehörigem Befehl
emacs
Programm im Vordergrund (Shell “blockiert”)
Programm im Hintergrund starten mit &
emacs &
Shell nicht “blockiert”
Programm beenden
mit programm-eigenem Befehl
STRG+C
K. Puschke Kommandozeilengrundlagen
60. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Programme steuern
Programm im Vordergrund anhalten/unterbrechen
STRG+Z
im Vordergrund weiterlaufen lassen
fg
im Hintergrund weiterlaufen lassen
bg
was läuft im Hintergrund?
jobs
K. Puschke Kommandozeilengrundlagen
61. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Programme steuern
Hinweis
Die Darstellung der Programmsteuerung ist sehr vereinfacht.
Wer mehr wissen möchte, sollte sich über Prozesse und
Threads informieren.
K. Puschke Kommandozeilengrundlagen
62. Befehlssyntax - Argumente und Optionen
Unterstützung bei der Arbeit
Programme steuern
Aufgaben
Programme steuern
Aufrufen, Unterbrechen, Beenden, Vorder- und Hintergrund
K. Puschke Kommandozeilengrundlagen
63. Inhalte ausgeben
Inhalte bearbeiten
Inhalte durchsuchen - Reguläre Ausdrücke
Teil V
Inhalt von Textdateien
K. Puschke Kommandozeilengrundlagen
65. Inhalte ausgeben
Inhalte bearbeiten
Inhalte durchsuchen - Reguläre Ausdrücke
Textdatei ausgeben
cat gibt Inhalt der Datei aus
less oder more zum Durchblättern (pager )
head gibt Anfang der Datei aus
tail gibt Ende der Datei aus
sort sortierte Ausgabe
wc word count - Zeichen, Zeilen oder Wörter zählen
K. Puschke Kommandozeilengrundlagen
67. Inhalte ausgeben
Inhalte bearbeiten
Inhalte durchsuchen - Reguläre Ausdrücke
Textdatei bearbeiten
klein und einfach: nano, pico
mittelklasse: joe, jed
komplex, aber mächtig: emacs, vim
auf lange Sicht lohnend, einen mächtigen Editor zu
beherrschen
K. Puschke Kommandozeilengrundlagen
69. Inhalte ausgeben
Inhalte bearbeiten
Inhalte durchsuchen - Reguläre Ausdrücke
Reguläre Ausdrücke
Zur Suche in Text
Platzhalter
. - ein beliebiges Zeichen
f.o passt auf foo,flo,f9o aber nicht fouo
[mehrereZeichen] - eines der genannten Zeichen
f[aei]o passt auf fao, feo, fio aber nicht faeo
Wiederholungen
* - beliebig oft (oder gar nicht)
fo* passt auf foo, fooo, f, fooooooo
? - einmal oder gar nicht
fo?a passt auf fa, foa, aber nicht fooa
K. Puschke Kommandozeilengrundlagen
71. Inhalte ausgeben
Inhalte bearbeiten
Inhalte durchsuchen - Reguläre Ausdrücke
Aufgaben
Textdateien
Inhalte von Textdateien ausgeben und ändern, Textdateien
durchsuchen, Reguläre Ausdrücke
K. Puschke Kommandozeilengrundlagen
72. Ein- und Ausgabe
Teil VI
Ein- und Ausgabe
K. Puschke Kommandozeilengrundlagen
73. Tastatureingabe
Ein- und Ausgabe Ein- und Ausgabe umleiten
Deskriptoren
Ein- und Ausgabe
14 Ein- und Ausgabe
Tastatureingabe
Ein- und Ausgabe umleiten
Deskriptoren
K. Puschke Kommandozeilengrundlagen
74. Tastatureingabe
Ein- und Ausgabe Ein- und Ausgabe umleiten
Deskriptoren
Tastatureingabe
Statt Datei einzulesen
statt Dateinamen - verwendet (je nach Befehl)
sort -
Dateinamen weggelassen (je nach Befehl)
wc
shell erwartet nun Tastatureingabe
STRG+d entspricht Dateiende
K. Puschke Kommandozeilengrundlagen
75. Tastatureingabe
Ein- und Ausgabe Ein- und Ausgabe umleiten
Deskriptoren
Ein- und Ausgabe umleiten
> - Ausgabe in Datei schreiben
ls /home/alice/ > alicekram.txt
vorhandene Datei wird überschrieben
>> - Ausgabe an Datei anhängen
| - Pipe: Ausgabe eines Kommandos als Eingabe eines
weiteren Kommandos
ls /home/alice | grep bob
< - Eingabe aus Datei lesen
sort < foo.txt
mysql < dump.sql
nach /dev/null geleitet: unwiderbringlich verschwunden
K. Puschke Kommandozeilengrundlagen
76. Tastatureingabe
Ein- und Ausgabe Ein- und Ausgabe umleiten
Deskriptoren
Datenströme mit Deskriptoren umleiten
Datenkanäle
Kanal Deskriptor default
Standardeingabe (stin) 0 Tastatur
Standardausgabe (stdout) 1 Bildschirm
Standardfehlerausgabe (stderr) 2 Bildschirm
Kanal umleiten: n>
mv foo bar 2>error.err
Kanäle bündeln: n>m&
sort foo 2> bar.txt 1>2&
erst umleiten, dann bündeln
K. Puschke Kommandozeilengrundlagen
77. Tastatureingabe
Ein- und Ausgabe Ein- und Ausgabe umleiten
Deskriptoren
Aufgaben
Ein- und Ausgabe
Ein- und Ausgabe umleiten, Deskriptoren
K. Puschke Kommandozeilengrundlagen
78. Rechteverwaltung
Links
Teil VII
Dateien und Verzeichnisse verwalten II
K. Puschke Kommandozeilengrundlagen
79. Rechteverwaltung
Links
Dateien und Verzeichnisse verwalten II
15 Rechteverwaltung
16 Links
K. Puschke Kommandozeilengrundlagen
80. Rechteverwaltung
Links
Dateirechte
Was für Rechte gibt es
Dateien
r - lesen (read)
w - schreiben (write)
x - ausführen (execute)
Verzeichnisse
r - Verzeichnisinhalt auslesen
w - ins Vezeichnis schreiben
x - ins Verzeichnis wechseln
K. Puschke Kommandozeilengrundlagen
81. Rechteverwaltung
Links
Dateirechte
Wer hat Rechte?
user sind in Gruppen groups organisiert
jede Datei hat einen user als owner
zu jeder Datei gehört eine Gruppe
unterschiedliche Rechte für
user (u) (d.h. owner)
group (g)
others (o)
K. Puschke Kommandozeilengrundlagen
82. Rechteverwaltung
Links
Dateirechte
Notation
nacheinander für owner, group, others
- bedeutet: Recht nicht gegeben
Beispiel: rwxr-xr-x
owner darf r, w und x, group und others nur r und x
K. Puschke Kommandozeilengrundlagen
83. Rechteverwaltung
Links
Dateirechte ändern
Rechte ändern
chmod MODUS DATEI(EN)
Wer (ugo) bekommt/verliert (+-) welche Rechte (rwx)?
chmod ug+r foo.txt
user und group erhalten Leserechte
chmod o-w bar.txt
others verlieren Schreibrechte
K. Puschke Kommandozeilengrundlagen
84. Rechteverwaltung
Links
Aufgaben
Dateirechte
Dateirechte verwalten
K. Puschke Kommandozeilengrundlagen
85. Rechteverwaltung
Links
Dateien und Verzeichnisse verwalten II
15 Rechteverwaltung
16 Links
K. Puschke Kommandozeilengrundlagen
86. Rechteverwaltung
Links
Links
hard links und sym links
hard link : mehrere Namen für eine Datei
viele Stolperfallen
symbolic link, sym link, soft link : Pointer auf einen Namen
verlinkte Datei/Verzeichnis verschoben/gelöscht: kein
update des links
sym link kann andere Rechte haben als verlinkte
Datei/Verzeichnis
sehr praktisch im Alltag
K. Puschke Kommandozeilengrundlagen
87. Rechteverwaltung
Links
Sym Links
sym link anlegen
ln -s ZIEL LINKNAME
sym link entfernen
rm LINKNAME
K. Puschke Kommandozeilengrundlagen
88. Rechteverwaltung
Links
Aufgaben
Links
Symlinks
K. Puschke Kommandozeilengrundlagen