Transcript
Page 1: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Grundlagen der Kommandozeile unterUnix/Linux

Dr. Kerstin Puschke

Workshop, Uni Salzburg

September 2009

K. Puschke Kommandozeilengrundlagen

Page 2: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Lizenz

LizenzDieser Text steht unter einer Creative CommonsAttribution-Share Alike 3.0 Germany Lizenz, siehehttp://creativecommons.org/licenses/by-sa/3.0/de/

K. Puschke Kommandozeilengrundlagen

Page 3: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil I: Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

Page 4: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil II: Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

Page 5: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil III: Dateien und Verzeichnisse verwalten

6 Unterwegs im Verzeichnisbaum

7 Anlegen, Entfernen, Verschieben, Kopieren

K. Puschke Kommandozeilengrundlagen

Page 6: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil IV: Arbeiten mit der Shell

8 Befehlssyntax - Argumente und Optionen

9 Unterstützung bei der Arbeit

10 Programme steuern

K. Puschke Kommandozeilengrundlagen

Page 7: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil V: Inhalt von Textdateien

11 Inhalte ausgeben

12 Inhalte bearbeiten

13 Inhalte durchsuchen - Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Page 8: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil VI: Ein- und Ausgabe

14 Ein- und Ausgabe

K. Puschke Kommandozeilengrundlagen

Page 9: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Teil VII: Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

Page 10: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Teil I

Einführung

K. Puschke Kommandozeilengrundlagen

Page 11: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

Page 12: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Unix, Linux und Verwandte

zahlreiche “verwandte” Systeme: Unix, Linux, BSD, . . .viele Gemeinsamkeiten in der AnwendungKurs fokussiert auf Linuxdas meiste ist übertragbar

K. Puschke Kommandozeilengrundlagen

Page 13: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Einführung

1 Unix, Linux, . . .

2 Linux GrundlagenMulti-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

Page 14: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Multi-User System

gleichzeitig von mehreren nutzbargetrennte Bereiche (Einstellungen, Anwendungsdaten etc.)strikte Trennung von Anwendung und Administration

K. Puschke Kommandozeilengrundlagen

Page 15: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Verzeichnisbaum

keine LaufwerksbuchstabenWurzel (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

Page 16: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Verzeichnisbaum II

jeder user hat eigenes Homeverzeichnisi.d.R. /home/<username>, z.B. /home/aliceeigene Dateien und Einstellungen

externe Geräte (z.B. USB-Sticks, externe Festplatten)werden in Verzeichnisbaum eingehängt (mount)benutzbar wie andere Verzeichnisse

root bezeichnetdas Wurzelverzeichnis /,den Administrations-Account,das Homeverzeichnis des Administrations-Accounts(oft /root)

K. Puschke Kommandozeilengrundlagen

Page 17: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten 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)

Anwendungengrafischkommandozeilenbasiert

strikte Trennung zwischen OS und UI

K. Puschke Kommandozeilengrundlagen

Page 18: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Shell

Schnittstelle zum BetriebssystemVielzahl von shells existiert, z.B.

sh Bourne Shellbash Bourne Again Shell (im Kurs verwendet)csh, tcsh,. . .

eingetippte Befehle werden sofort ausgeführtAnwendungen ausführen/startenshell-eigene Befehleshell-eigene Programmiersprache

K. Puschke Kommandozeilengrundlagen

Page 19: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Multi-User SystemVerzeichnisbaumKomponenten eines Linux-Systems

Philosophie

Für jede Aufgabe das passende Programmkleine, spezialisierte Tools statt riesigerrundum-sorglos-Programmeflexibel kombinierbar

K. Puschke Kommandozeilengrundlagen

Page 20: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

Page 21: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Warum die Kommandozeile nutzen?

keine grafische Oberfläche nutzbarnicht installiert (z.B. Server)nicht benutzbar (abgestürzt, kaputtkonfiguriert,. . . )

Anwendung existiert “nur” für KommandozeileAnwendungen interaktiv kombinierenRessourcen schonen, Bootvorgang verkürzenEffizienz und Arbeitsersparnis

Beispiel: kopiere aus einem Verzeichnis mit 1000 Dateiendiejenigen, deren Name “salzburg” enthält

K. Puschke Kommandozeilengrundlagen

Page 22: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Teil II

Erste Schritte

K. Puschke Kommandozeilengrundlagen

Page 23: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

Page 24: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Auf die Kommandozeile wechseln

Aus GUI herausTerminal bzw. Konsole startenzusätzliche Sitzung ohne GUI starten

STRG+ALT+F1weitere 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

Page 25: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

Page 26: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Vorsicht

Achtung

Groß- und Kleinschreibung sowie Leerzeichen sind relevant!

K. Puschke Kommandozeilengrundlagen

Page 27: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Erste Befehle

whoami - Wer bin ich? Mit welchem username bin icheingeloggt?hostname - Auf welchem Rechner befinde ich mich?pwd - In welchem Verzeichnis bin ich? (print workingdirectory)

K. Puschke Kommandozeilengrundlagen

Page 28: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Wie komme ich auf die Kommandozeile?Erste Befehle

Aufgaben

Erste Schrittepwd, whoami, hostname

K. Puschke Kommandozeilengrundlagen

Page 29: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Teil III

Dateien und Verzeichnisse verwalten

K. Puschke Kommandozeilengrundlagen

Page 30: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Dateien und Verzeichnisse verwalten

6 Unterwegs im VerzeichnisbaumVerzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

7 Anlegen, Entfernen, Verschieben, Kopieren

K. Puschke Kommandozeilengrundlagen

Page 31: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Navigation im Verzeichnisbaum

Verzeichnis wechselncd VERZEICHNIS - change directory

K. Puschke Kommandozeilengrundlagen

Page 32: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Aufgaben

Verzeichnis wechselncd, Pfadangaben

K. Puschke Kommandozeilengrundlagen

Page 33: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Verzeichnis wechseln

cd VERZEICHNISwechselt in Verzeichnis <Verzeichnis>cdwechselt ins eigene Homeverzeichniscd -wechselt ins vorher benutzte Verzeichnis

K. Puschke Kommandozeilengrundlagen

Page 34: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Pfadangaben

absoluter Pfadbeginnt im Rootverzeichnis /Beispiel: /home/alice/linuxkurs/aufgaben

relativer Pfadrelativ zum aktuellen Verzeichnisbeginnt ohne “/”aktuelles Verzeichnis: .nächsthöheres Verzeichnis: ..

K. Puschke Kommandozeilengrundlagen

Page 35: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Pfadangaben - Beispiele

Ausgehend von /home/alice/linuxkurs/ entsprechensich jeweils

aufgaben./aufgaben/home/alice/linuxkurs/aufgaben

../mysqlkurs/aufgaben/home/alice/mysqlkurs/aufgaben

../../bob/linuxkurs/home/bob/linuxkurs

K. Puschke Kommandozeilengrundlagen

Page 36: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Verzeichnisinhalt

Verzeichnisinhalt ausgebenls VERZEICHNISlist directory contents (historisch: list segment)

K. Puschke Kommandozeilengrundlagen

Page 37: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Aufgaben

Verzeichnisinhalt ausgebenls

K. Puschke Kommandozeilengrundlagen

Page 38: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Verzeichnisinhalt

ls VERZEICHNISInhalt von <Verzeichnis>lsInhalt des aktuellen Verzeichnissesls --all VERZEICHNISls -a <Verzeichnis>auch versteckte Dateien anzeigen(Dateiname beginnt mit .)ls -l VERZEICHNISls --format=long <Verzeichnis>long format, mehr Infos

K. Puschke Kommandozeilengrundlagen

Page 39: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Verzeichnisinhalt - ls -l

-rw-r--r-- 1 alice users 2472 2009-03-14 17:54kurs.txtdrwxr-xr-x 2 alice users 4096 2009-05-23 10:06Videos

RechteAnzahl hard links (Datei) oderUnterverzeichnisse (Verzeichnis)ownergroupGrösse in Bytesletzte ÄnderungName

K. Puschke Kommandozeilengrundlagen

Page 40: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Dateien und Verzeichnisse verwalten

6 Unterwegs im Verzeichnisbaum

7 Anlegen, Entfernen, Verschieben, Kopieren

K. Puschke Kommandozeilengrundlagen

Page 41: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Anlegen und Entfernen

Anlegenmkdir VERZEICHNISmake directorytouch DATEIDatei anlegen (bei vorhandener Datei: timestamp setzen)

Entfernenrm DATEIremovermdir VERZEICHNISremove directory (entfernt leeres Verzeichnis)rm -r VERZEICHNISentfernt Verzeichnis samt Inhalt

K. Puschke Kommandozeilengrundlagen

Page 42: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Kopieren, Verschieben, Umbenennen

Verschieben und Umbenennenmv QUELLDATEI ZIELDATEImv DATEI(EN) VERZEICHNISmv QUELLVERZEICHNIS ZIELVERZEICHNISmove

Kopierencp QUELLDATEI ZIELDATEIcp DATEI(EN) VERZEICHNIScp -r QUELLVERZEICHNIS ZIELVERZEICHNIScopy

K. Puschke Kommandozeilengrundlagen

Page 43: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Vorsicht

Warnung

U.U. wird ohne Rückfrage gelöscht oder überschrieben!

K. Puschke Kommandozeilengrundlagen

Page 44: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Aufgaben

Dateien und VerzeichnisseAnlegen, Entfernen, Kopieren, Verschieben, Umbenennen

K. Puschke Kommandozeilengrundlagen

Page 45: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Teil IV

Arbeiten mit der Shell

K. Puschke Kommandozeilengrundlagen

Page 46: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstü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

Page 47: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Argumente

Befehle können auf Argumente wirkenmanche Befehle verarbeiten keine Argumentez.B. pwdmanche Argumente sind zwingendz.B. Verzeichnisname bei mkdirmanche Argumente sind optionalz.B. Verzeichnis bei cd oderzweiter Verzeichnisname bei mkdirggf. mehrere Argumente erforderlichz.B. Quelle und Ziel bei mv

K. Puschke Kommandozeilengrundlagen

Page 48: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Optionen

Verändern die Wirkung von Befehlenrm -r

Syntax uneinheitlich, gängig sindeinzelner Buchstabe mit minus davorrm -r kursWort mit doppeltem minusrm --recursive kursKey-Value mit =rm --interactive=always

teilweise auch nur mit einfachem minusOptionen können z.T. kombiniert werden

oft kann dann abgekürzt werdenls -al statt ls -a -l

K. Puschke Kommandozeilengrundlagen

Page 49: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Aufgaben

Befehlssyntax und ArbeitsweisenBefehle, Optionen und Argumente, praktische Tips

K. Puschke Kommandozeilengrundlagen

Page 50: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Arbeiten mit der Shell

8 Befehlssyntax - Argumente und Optionen

9 Unterstützung bei der ArbeitArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

10 Programme steuern

K. Puschke Kommandozeilengrundlagen

Page 51: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Arbeitserleichterungen

Blättern mit Shift+PageUp/DownBefehlshistorie mit CursortastenVervollständigung mit TabCopy & Paste:

Markieren & per mittlerer Maustaste einfügenim Terminal oft: STRG+Shift+C, STRG+Shift+V

K. Puschke Kommandozeilengrundlagen

Page 52: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Hilfe

Befehlssyntax abfragen:Optionen -h oder --helpmanpageman befehl

info befehl

perldoc, texdoc,...

. . .Notation: Angaben in eckigen Klammern sind optional

K. Puschke Kommandozeilengrundlagen

Page 53: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Klammererweiterung

Ausdruck in geschweiften Klammern wird zu mehrerenDateinamen erweitertcp /home/alice/{foo,bar} neuerordnerentsprichtcp /home/alice/foo /home/alice/barneuerordner

K. Puschke Kommandozeilengrundlagen

Page 54: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Wildcards

Platzhalter für DateioperationenBeispielanwendung: Lösche alle Dateien, deren Name mitlinux beginntje 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

Page 55: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

WildcardsBeispiele

* - alle Dateien, die nicht versteckt sind.* - alle versteckten Dateienf* - alle Dateien, deren Name mit f beginntf?o - z.B. foo,flo,f.of[ol]o - foo und flo

f[!l]o - foo, fio,... aber nicht flo[0-9]* - Dateiname beginnt mit Ziffer

K. Puschke Kommandozeilengrundlagen

Page 56: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Aufgaben

Arbeitserleichterungen und Hilfe/DokuWildcards, Klammererweiterung, manpages

K. Puschke Kommandozeilengrundlagen

Page 57: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

WildcardsGefahren

Welche Dateien werden gelöscht?rm -rf .*

Vorsicht!In Kombination mit -r paßt .* auf ../*, d.h. auch aufhöhergelegende Verzeichnisse!

K. Puschke Kommandozeilengrundlagen

Page 58: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstü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

Page 59: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Programme steuernStarten und Beenden

Programm starten mit zugehörigem Befehlemacs

Programm im Vordergrund (Shell “blockiert”)

Programm im Hintergrund starten mit &emacs &

Shell nicht “blockiert”Programm beenden

mit programm-eigenem BefehlSTRG+C

K. Puschke Kommandozeilengrundlagen

Page 60: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Programme steuern

Programm im Vordergrund anhalten/unterbrechenSTRG+Z

im Vordergrund weiterlaufen lassenfg

im Hintergrund weiterlaufen lassenbg

was läuft im Hintergrund?jobs

K. Puschke Kommandozeilengrundlagen

Page 61: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Programme steuern

HinweisDie Darstellung der Programmsteuerung ist sehr vereinfacht.Wer mehr wissen möchte, sollte sich über Prozesse undThreads informieren.

K. Puschke Kommandozeilengrundlagen

Page 62: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Aufgaben

Programme steuern

Aufrufen, Unterbrechen, Beenden, Vorder- und Hintergrund

K. Puschke Kommandozeilengrundlagen

Page 63: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Teil V

Inhalt von Textdateien

K. Puschke Kommandozeilengrundlagen

Page 64: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Inhalt von Textdateien

11 Inhalte ausgeben

12 Inhalte bearbeiten

13 Inhalte durchsuchen - Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Page 65: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Textdatei ausgeben

cat gibt Inhalt der Datei ausless oder more zum Durchblättern (pager )head gibt Anfang der Datei austail gibt Ende der Datei aussort sortierte Ausgabewc word count - Zeichen, Zeilen oder Wörter zählen

K. Puschke Kommandozeilengrundlagen

Page 66: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Inhalt von Textdateien

11 Inhalte ausgeben

12 Inhalte bearbeiten

13 Inhalte durchsuchen - Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Page 67: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Textdatei bearbeiten

klein und einfach: nano, picomittelklasse: joe, jedkomplex, aber mächtig: emacs, vimauf lange Sicht lohnend, einen mächtigen Editor zubeherrschen

K. Puschke Kommandozeilengrundlagen

Page 68: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Inhalt von Textdateien

11 Inhalte ausgeben

12 Inhalte bearbeiten

13 Inhalte durchsuchen - Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Page 69: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Reguläre AusdrückeZur Suche in Text

Platzhalter. - ein beliebiges Zeichenf.o passt auf foo,flo,f9o aber nicht fouo[mehrereZeichen] - eines der genannten Zeichenf[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 nichtfo?a passt auf fa, foa, aber nicht fooa

K. Puschke Kommandozeilengrundlagen

Page 70: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Dateien durchsuchengrep

Dateien durchsuchengrep SUCHMUSTER DATEI(EN)

Beispielgrep bash kursmaterial.txtgrep ’alice and bob’ /home/alicegrep ali.* bob.txt

K. Puschke Kommandozeilengrundlagen

Page 71: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Aufgaben

TextdateienInhalte von Textdateien ausgeben und ändern, Textdateiendurchsuchen, Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Page 72: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und Ausgabe

Teil VI

Ein- und Ausgabe

K. Puschke Kommandozeilengrundlagen

Page 73: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Ein- und Ausgabe

14 Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

K. Puschke Kommandozeilengrundlagen

Page 74: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

TastatureingabeStatt Datei einzulesen

statt Dateinamen - verwendet (je nach Befehl)sort -

Dateinamen weggelassen (je nach Befehl)wc

shell erwartet nun TastatureingabeSTRG+d entspricht Dateiende

K. Puschke Kommandozeilengrundlagen

Page 75: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Ein- und Ausgabe umleiten

> - Ausgabe in Datei schreibenls /home/alice/ > alicekram.txtvorhandene Datei wird überschrieben

>> - Ausgabe an Datei anhängen| - Pipe: Ausgabe eines Kommandos als Eingabe einesweiteren Kommandos

ls /home/alice | grep bob

< - Eingabe aus Datei lesensort < foo.txtmysql < dump.sql

nach /dev/null geleitet: unwiderbringlich verschwunden

K. Puschke Kommandozeilengrundlagen

Page 76: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Datenströme mit Deskriptoren umleiten

Datenkanäle

Kanal Deskriptor defaultStandardeingabe (stin) 0 TastaturStandardausgabe (stdout) 1 BildschirmStandardfehlerausgabe (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

Page 77: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Aufgaben

Ein- und AusgabeEin- und Ausgabe umleiten, Deskriptoren

K. Puschke Kommandozeilengrundlagen

Page 78: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Teil VII

Dateien und Verzeichnisse verwalten II

K. Puschke Kommandozeilengrundlagen

Page 79: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

Page 80: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

DateirechteWas für Rechte gibt es

Dateienr - lesen (read)w - schreiben (write)x - ausführen (execute)

Verzeichnisser - Verzeichnisinhalt auslesenw - ins Vezeichnis schreibenx - ins Verzeichnis wechseln

K. Puschke Kommandozeilengrundlagen

Page 81: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

DateirechteWer hat Rechte?

user sind in Gruppen groups organisiertjede Datei hat einen user als ownerzu jeder Datei gehört eine Gruppeunterschiedliche Rechte für

user (u) (d.h. owner)group (g)others (o)

K. Puschke Kommandozeilengrundlagen

Page 82: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

DateirechteNotation

nacheinander für owner, group, others- bedeutet: Recht nicht gegebenBeispiel: rwxr-xr-xowner darf r, w und x, group und others nur r und x

K. Puschke Kommandozeilengrundlagen

Page 83: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Dateirechte ändern

Rechte ändernchmod MODUS DATEI(EN)

Wer (ugo) bekommt/verliert (+-) welche Rechte (rwx)?chmod ug+r foo.txtuser und group erhalten Leserechtechmod o-w bar.txtothers verlieren Schreibrechte

K. Puschke Kommandozeilengrundlagen

Page 84: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Aufgaben

DateirechteDateirechte verwalten

K. Puschke Kommandozeilengrundlagen

Page 85: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

Page 86: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Linkshard links und sym links

hard link : mehrere Namen für eine Dateiviele Stolperfallen

symbolic link, sym link, soft link : Pointer auf einen Namenverlinkte Datei/Verzeichnis verschoben/gelöscht: keinupdate des linkssym link kann andere Rechte haben als verlinkteDatei/Verzeichnissehr praktisch im Alltag

K. Puschke Kommandozeilengrundlagen

Page 87: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Sym Links

sym link anlegenln -s ZIEL LINKNAME

sym link entfernenrm LINKNAME

K. Puschke Kommandozeilengrundlagen

Page 88: Grundlagen der Kommandozeile unter Unix/Linux (Folien)

RechteverwaltungLinks

Aufgaben

LinksSymlinks

K. Puschke Kommandozeilengrundlagen


Recommended