Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Grundlagen der Kommandozeile unter Unix/Linux

Grundlagen der Kommandozeile unter Unix/Linux

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

Kerstin Puschke

September 02, 2009
Tweet

More Decks by Kerstin Puschke

Other Decks in Programming

Transcript

  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. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Teil I Einführung K. Puschke Kommandozeilengrundlagen
  10. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Einführung 1 Unix, Linux, . . . 2 Linux Grundlagen 3 Warum die Kommandozeile nutzen? K. Puschke Kommandozeilengrundlagen
  11. 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
  12. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  13. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  14. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  15. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  16. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  17. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  18. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Multi-User System Verzeichnisbaum 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
  19. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile

    nutzen? Einführung 1 Unix, Linux, . . . 2 Linux Grundlagen 3 Warum die Kommandozeile nutzen? K. Puschke Kommandozeilengrundlagen
  20. 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
  21. Wie komme ich auf die Kommandozeile? Erste Befehle Teil II

    Erste Schritte K. Puschke Kommandozeilengrundlagen
  22. Wie komme ich auf die Kommandozeile? Erste Befehle Erste Schritte

    4 Wie komme ich auf die Kommandozeile? 5 Erste Befehle K. Puschke Kommandozeilengrundlagen
  23. 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
  24. Wie komme ich auf die Kommandozeile? Erste Befehle Erste Schritte

    4 Wie komme ich auf die Kommandozeile? 5 Erste Befehle K. Puschke Kommandozeilengrundlagen
  25. Wie komme ich auf die Kommandozeile? Erste Befehle Vorsicht Achtung

    Groß- und Kleinschreibung sowie Leerzeichen sind relevant! K. Puschke Kommandozeilengrundlagen
  26. 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
  27. Wie komme ich auf die Kommandozeile? Erste Befehle Aufgaben Erste

    Schritte pwd, whoami, hostname K. Puschke Kommandozeilengrundlagen
  28. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Teil III Dateien

    und Verzeichnisse verwalten K. Puschke Kommandozeilengrundlagen
  29. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Dateien und Verzeichnisse verwalten 6 Unterwegs im Verzeichnisbaum Verzeichnis wechseln Pfadangaben Verzeichnisinhalt ausgeben 7 Anlegen, Entfernen, Verschieben, Kopieren K. Puschke Kommandozeilengrundlagen
  30. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Navigation im Verzeichnisbaum Verzeichnis wechseln cd VERZEICHNIS - change directory K. Puschke Kommandozeilengrundlagen
  31. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Aufgaben Verzeichnis wechseln cd, Pfadangaben K. Puschke Kommandozeilengrundlagen
  32. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Verzeichnis wechseln cd VERZEICHNIS wechselt in Verzeichnis <Verzeichnis> cd wechselt ins eigene Homeverzeichnis cd - wechselt ins vorher benutzte Verzeichnis K. Puschke Kommandozeilengrundlagen
  33. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    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
  34. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    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
  35. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Verzeichnisinhalt Verzeichnisinhalt ausgeben ls VERZEICHNIS list directory contents (historisch: list segment) K. Puschke Kommandozeilengrundlagen
  36. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    Verzeichnisinhalt ausgeben Aufgaben Verzeichnisinhalt ausgeben ls K. Puschke Kommandozeilengrundlagen
  37. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    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
  38. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Verzeichnis wechseln Pfadangaben

    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
  39. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Dateien und Verzeichnisse

    verwalten 6 Unterwegs im Verzeichnisbaum 7 Anlegen, Entfernen, Verschieben, Kopieren K. Puschke Kommandozeilengrundlagen
  40. 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
  41. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Kopieren, Verschieben, Umbenennen

    Verschieben und Umbenennen mv QUELLDATEI ZIELDATEI mv DATEI(EN) VERZEICHNIS mv QUELLVERZEICHNIS ZIELVERZEICHNIS move Kopieren cp QUELLDATEI ZIELDATEI cp DATEI(EN) VERZEICHNIS cp -r QUELLVERZEICHNIS ZIELVERZEICHNIS copy K. Puschke Kommandozeilengrundlagen
  42. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Vorsicht Warnung U.U.

    wird ohne Rückfrage gelöscht oder überschrieben! K. Puschke Kommandozeilengrundlagen
  43. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Aufgaben Dateien und

    Verzeichnisse Anlegen, Entfernen, Kopieren, Verschieben, Umbenennen K. Puschke Kommandozeilengrundlagen
  44. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Teil IV Arbeiten mit der Shell K. Puschke Kommandozeilengrundlagen
  45. 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
  46. 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
  47. 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
  48. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Aufgaben Befehlssyntax und Arbeitsweisen Befehle, Optionen und Argumente, praktische Tips K. Puschke Kommandozeilengrundlagen
  49. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  50. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  51. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  52. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  53. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  54. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  55. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden Wildcards und Klammererweiterung Aufgaben Arbeitserleichterungen und Hilfe/Doku Wildcards, Klammererweiterung, manpages K. Puschke Kommandozeilengrundlagen
  56. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Arbeitserleichterungen Hilfe finden 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. Befehlssyntax - Argumente und Optionen Unterstützung bei der Arbeit Programme

    steuern Aufgaben Programme steuern Aufrufen, Unterbrechen, Beenden, Vorder- und Hintergrund K. Puschke Kommandozeilengrundlagen
  62. Inhalte ausgeben Inhalte bearbeiten Inhalte durchsuchen - Reguläre Ausdrücke Teil

    V Inhalt von Textdateien K. Puschke Kommandozeilengrundlagen
  63. Inhalte ausgeben Inhalte 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
  64. 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
  65. Inhalte ausgeben Inhalte 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
  66. 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
  67. Inhalte ausgeben Inhalte 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
  68. 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
  69. Inhalte ausgeben Inhalte bearbeiten Inhalte durchsuchen - Reguläre Ausdrücke Dateien

    durchsuchen grep Dateien durchsuchen grep SUCHMUSTER DATEI(EN) Beispiel grep bash kursmaterial.txt grep ’alice and bob’ /home/alice grep ali.* bob.txt K. Puschke Kommandozeilengrundlagen
  70. 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
  71. Ein- und Ausgabe Tastatureingabe Ein- und Ausgabe umleiten Deskriptoren Ein-

    und Ausgabe 14 Ein- und Ausgabe Tastatureingabe Ein- und Ausgabe umleiten Deskriptoren K. Puschke Kommandozeilengrundlagen
  72. Ein- und Ausgabe Tastatureingabe 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
  73. Ein- und Ausgabe Tastatureingabe 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
  74. Ein- und Ausgabe Tastatureingabe 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
  75. Ein- und Ausgabe Tastatureingabe Ein- und Ausgabe umleiten Deskriptoren Aufgaben

    Ein- und Ausgabe Ein- und Ausgabe umleiten, Deskriptoren K. Puschke Kommandozeilengrundlagen
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. Rechteverwaltung Links Sym Links sym link anlegen ln -s ZIEL

    LINKNAME sym link entfernen rm LINKNAME K. Puschke Kommandozeilengrundlagen