Grundlagen der Kommandozeile unter Unix/Linux (Folien)

Preview:

DESCRIPTION

Folien zum Workshop "Grundlagen der Kommandozeile unter Unix/Linux", September 2009

Citation preview

Grundlagen der Kommandozeile unterUnix/Linux

Dr. Kerstin Puschke

Workshop, Uni Salzburg

September 2009

K. Puschke Kommandozeilengrundlagen

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

Teil I: Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

Teil II: Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

Teil III: Dateien und Verzeichnisse verwalten

6 Unterwegs im Verzeichnisbaum

7 Anlegen, Entfernen, Verschieben, Kopieren

K. Puschke Kommandozeilengrundlagen

Teil IV: Arbeiten mit der Shell

8 Befehlssyntax - Argumente und Optionen

9 Unterstützung bei der Arbeit

10 Programme steuern

K. Puschke Kommandozeilengrundlagen

Teil V: Inhalt von Textdateien

11 Inhalte ausgeben

12 Inhalte bearbeiten

13 Inhalte durchsuchen - Reguläre Ausdrücke

K. Puschke Kommandozeilengrundlagen

Teil VI: Ein- und Ausgabe

14 Ein- und Ausgabe

K. Puschke Kommandozeilengrundlagen

Teil VII: Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Teil I

Einführung

K. Puschke Kommandozeilengrundlagen

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

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

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

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

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

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

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

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

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

Unix, Linux, . . .Linux Grundlagen

Warum die Kommandozeile nutzen?

Einführung

1 Unix, Linux, . . .

2 Linux Grundlagen

3 Warum die Kommandozeile nutzen?

K. Puschke Kommandozeilengrundlagen

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

Wie komme ich auf die Kommandozeile?Erste Befehle

Teil II

Erste Schritte

K. Puschke Kommandozeilengrundlagen

Wie komme ich auf die Kommandozeile?Erste Befehle

Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

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

Wie komme ich auf die Kommandozeile?Erste Befehle

Erste Schritte

4 Wie komme ich auf die Kommandozeile?

5 Erste Befehle

K. Puschke Kommandozeilengrundlagen

Wie komme ich auf die Kommandozeile?Erste Befehle

Vorsicht

Achtung

Groß- und Kleinschreibung sowie Leerzeichen sind relevant!

K. Puschke Kommandozeilengrundlagen

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

Wie komme ich auf die Kommandozeile?Erste Befehle

Aufgaben

Erste Schrittepwd, whoami, hostname

K. Puschke Kommandozeilengrundlagen

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Teil III

Dateien und Verzeichnisse verwalten

K. Puschke Kommandozeilengrundlagen

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

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Navigation im Verzeichnisbaum

Verzeichnis wechselncd VERZEICHNIS - change directory

K. Puschke Kommandozeilengrundlagen

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Aufgaben

Verzeichnis wechselncd, Pfadangaben

K. Puschke Kommandozeilengrundlagen

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

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

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

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Verzeichnisinhalt

Verzeichnisinhalt ausgebenls VERZEICHNISlist directory contents (historisch: list segment)

K. Puschke Kommandozeilengrundlagen

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Verzeichnis wechselnPfadangabenVerzeichnisinhalt ausgeben

Aufgaben

Verzeichnisinhalt ausgebenls

K. Puschke Kommandozeilengrundlagen

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

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

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Dateien und Verzeichnisse verwalten

6 Unterwegs im Verzeichnisbaum

7 Anlegen, Entfernen, Verschieben, Kopieren

K. Puschke Kommandozeilengrundlagen

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

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

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Vorsicht

Warnung

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

K. Puschke Kommandozeilengrundlagen

Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren

Aufgaben

Dateien und VerzeichnisseAnlegen, Entfernen, Kopieren, Verschieben, Umbenennen

K. Puschke Kommandozeilengrundlagen

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Teil IV

Arbeiten mit der Shell

K. Puschke Kommandozeilengrundlagen

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

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

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

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Aufgaben

Befehlssyntax und ArbeitsweisenBefehle, Optionen und Argumente, praktische Tips

K. Puschke Kommandozeilengrundlagen

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

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

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

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

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

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

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

ArbeitserleichterungenHilfe findenWildcards und Klammererweiterung

Aufgaben

Arbeitserleichterungen und Hilfe/DokuWildcards, Klammererweiterung, manpages

K. Puschke Kommandozeilengrundlagen

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

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

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

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

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

Befehlssyntax - Argumente und OptionenUnterstützung bei der Arbeit

Programme steuern

Aufgaben

Programme steuern

Aufrufen, Unterbrechen, Beenden, Vorder- und Hintergrund

K. Puschke Kommandozeilengrundlagen

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Teil V

Inhalt von Textdateien

K. Puschke Kommandozeilengrundlagen

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

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

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

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

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

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

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

Inhalte ausgebenInhalte bearbeiten

Inhalte durchsuchen - Reguläre Ausdrücke

Aufgaben

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

K. Puschke Kommandozeilengrundlagen

Ein- und Ausgabe

Teil VI

Ein- und Ausgabe

K. Puschke Kommandozeilengrundlagen

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Ein- und Ausgabe

14 Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

K. Puschke Kommandozeilengrundlagen

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

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

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

Ein- und AusgabeTastatureingabeEin- und Ausgabe umleitenDeskriptoren

Aufgaben

Ein- und AusgabeEin- und Ausgabe umleiten, Deskriptoren

K. Puschke Kommandozeilengrundlagen

RechteverwaltungLinks

Teil VII

Dateien und Verzeichnisse verwalten II

K. Puschke Kommandozeilengrundlagen

RechteverwaltungLinks

Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

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

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

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

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

RechteverwaltungLinks

Aufgaben

DateirechteDateirechte verwalten

K. Puschke Kommandozeilengrundlagen

RechteverwaltungLinks

Dateien und Verzeichnisse verwalten II

15 Rechteverwaltung

16 Links

K. Puschke Kommandozeilengrundlagen

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

RechteverwaltungLinks

Sym Links

sym link anlegenln -s ZIEL LINKNAME

sym link entfernenrm LINKNAME

K. Puschke Kommandozeilengrundlagen

RechteverwaltungLinks

Aufgaben

LinksSymlinks

K. Puschke Kommandozeilengrundlagen

Recommended