Grundlagen der Kommandozeile unter Unix/Linux (Folien)

  • Published on
    11-Jun-2015

  • View
    1.506

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Transcript

  • 1. Grundlagen der Kommandozeile unter Unix/LinuxDr. Kerstin Puschke Workshop, Uni SalzburgSeptember 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: Einfhrung1 Unix, Linux, . . .2 Linux Grundlagen3 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 Verzeichnisbaum7 Anlegen, Entfernen, Verschieben, KopierenK. Puschke Kommandozeilengrundlagen 6. Teil IV: Arbeiten mit der Shell8Befehlssyntax - Argumente und Optionen9Untersttzung bei der Arbeit10 Programme steuernK. Puschke Kommandozeilengrundlagen 7. Teil V: Inhalt von Textdateien11 Inhalte ausgeben12 Inhalte bearbeiten13 Inhalte durchsuchen - Regulre Ausdrcke 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 Rechteverwaltung16 Links K. Puschke Kommandozeilengrundlagen 10. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile nutzen? Teil I EinfhrungK. Puschke Kommandozeilengrundlagen 11. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile nutzen? Einfhrung1 Unix, Linux, . . .2 Linux Grundlagen3 Warum die Kommandozeile nutzen?K. Puschke Kommandozeilengrundlagen 12. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile nutzen? Unix, Linux und Verwandtezahlreiche verwandte Systeme: Unix, Linux, BSD, . . .viele Gemeinsamkeiten in der AnwendungKurs fokussiert auf Linuxdas meiste ist bertragbarK. Puschke Kommandozeilengrundlagen 13. Unix, Linux, . . . Multi-User System Linux GrundlagenVerzeichnisbaum Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems Einfhrung 1 Unix, Linux, . . .2 Linux GrundlagenMulti-User SystemVerzeichnisbaumKomponenten eines Linux-Systems3 Warum die Kommandozeile nutzen?K. Puschke Kommandozeilengrundlagen 14. Unix, Linux, . . . Multi-User System Linux GrundlagenVerzeichnisbaum Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems Multi-User Systemgleichzeitig von mehreren nutzbargetrennte Bereiche (Einstellungen, Anwendungsdaten etc.)strikte Trennung von Anwendung und AdministrationK. Puschke Kommandozeilengrundlagen 15. Unix, Linux, . . . Multi-User SystemLinux GrundlagenVerzeichnisbaumWarum die Kommandozeile nutzen? Komponenten eines Linux-Systems Verzeichnisbaumkeine 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 16. Unix, Linux, . . . Multi-User System Linux GrundlagenVerzeichnisbaum Warum die Kommandozeile nutzen? Komponenten eines Linux-Systems Verzeichnisbaum IIjeder user hat eigenes Homeverzeichnisi.d.R. /home/, z.B. /home/aliceeigene Dateien und Einstellungenexterne Gerte (z.B. USB-Sticks, externe Festplatten)werden in Verzeichnisbaum eingehngt (mount)benutzbar wie andere Verzeichnisseroot bezeichnetdas Wurzelverzeichnis /,den Administrations-Account,das Homeverzeichnis des Administrations-Accounts(oft /root) K. Puschke Kommandozeilengrundlagen 17. Unix, Linux, . . . Multi-User SystemLinux GrundlagenVerzeichnisbaumWarum die Kommandozeile nutzen? Komponenten eines Linux-Systems Komponenten Betriebssystem (Operating System, OS) Kernel (Hardwareverwaltung) System- und Dienstprogramme (Hardwarenahe Konguration,. . . ) Schnittstelle (User Interface, UI) GUI (Graphical User Interface, grasche Oberche) CLI (Command Line Interface, Kommandozeile, Shell) Anwendungen grasch kommandozeilenbasiert strikte Trennung zwischen OS und UIK. Puschke Kommandozeilengrundlagen 18. Unix, Linux, . . . Multi-User SystemLinux GrundlagenVerzeichnisbaumWarum die Kommandozeile nutzen? Komponenten eines Linux-Systems ShellSchnittstelle zum Betriebssystem Vielzahl von shells existiert, z.B. sh Bourne Shell bash Bourne Again Shell (im Kurs verwendet) csh, tcsh,. . . eingetippte Befehle werden sofort ausgefhrt Anwendungen ausfhren/starten shell-eigene Befehle shell-eigene Programmiersprache K. Puschke Kommandozeilengrundlagen 19. Unix, Linux, . . . Multi-User SystemLinux GrundlagenVerzeichnisbaumWarum die Kommandozeile nutzen? Komponenten eines Linux-Systems Philosophie Fr jede Aufgabe das passende Programmkleine, spezialisierte Tools statt riesigerrundum-sorglos-Programmeexibel kombinierbar K. Puschke Kommandozeilengrundlagen 20. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile nutzen? Einfhrung1 Unix, Linux, . . .2 Linux Grundlagen3 Warum die Kommandozeile nutzen?K. Puschke Kommandozeilengrundlagen 21. Unix, Linux, . . . Linux Grundlagen Warum die Kommandozeile nutzen? Warum die Kommandozeile nutzen?keine grasche Oberche nutzbarnicht installiert (z.B. Server)nicht benutzbar (abgestrzt, kaputtkonguriert,. . . )Anwendung existiert nur fr KommandozeileAnwendungen interaktiv kombinierenRessourcen schonen, Bootvorgang verkrzenEfzienz und ArbeitsersparnisBeispiel: kopiere aus einem Verzeichnis mit 1000 Dateiendiejenigen, deren Name salzburg enthltK. Puschke Kommandozeilengrundlagen 22. Wie komme ich auf die Kommandozeile?Erste BefehleTeil II Erste SchritteK. PuschkeKommandozeilengrundlagen 23. Wie komme ich auf die Kommandozeile?Erste Befehle Erste Schritte 4 Wie komme ich auf die Kommandozeile?5 Erste BefehleK. PuschkeKommandozeilengrundlagen 24. Wie komme ich auf die Kommandozeile? Erste Befehle Auf die Kommandozeile wechselnAus GUI heraus Terminal bzw. Konsole starten zustzliche Sitzung ohne GUI startenSTRG+ALT+F1weitere Sitzungen mit STRG+ALT+F2, STRG+ALT+F3,. . .zurck zur graschen Sitzung: STRG+ALT+F7Schon da?Eingabeaufforderung (Prompt) erscheint, z.B.kpuschke@localhost: ggf. in die bash wechseln K. PuschkeKommandozeilengrundlagen 25. Wie komme ich auf die Kommandozeile?Erste Befehle Erste Schritte 4 Wie komme ich auf die Kommandozeile?5 Erste BefehleK. PuschkeKommandozeilengrundlagen 26. Wie komme ich auf die Kommandozeile? Erste Befehle Vorsicht Achtung Gro- und Kleinschreibung sowie Leerzeichen sind relevant! K. PuschkeKommandozeilengrundlagen 27. Wie komme ich auf die Kommandozeile?Erste Befehle Erste Befehlewhoami - Wer bin ich? Mit welchem username bin icheingeloggt?hostname - Auf welchem Rechner bende ich mich?pwd - In welchem Verzeichnis bin ich? (print workingdirectory)K. PuschkeKommandozeilengrundlagen 28. Wie komme ich auf die Kommandozeile? Erste Befehle Aufgaben Erste Schritte pwd, whoami, hostname K. PuschkeKommandozeilengrundlagen 29. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, KopierenTeil IIIDateien und Verzeichnisse verwalten K. PuschkeKommandozeilengrundlagen 30. Verzeichnis wechseln Unterwegs im Verzeichnisbaum Pfadangaben Anlegen, Entfernen, Verschieben, Kopieren Verzeichnisinhalt ausgeben Dateien und Verzeichnisse verwalten6 Unterwegs im Verzeichnisbaum Verzeichnis wechseln Pfadangaben Verzeichnisinhalt ausgeben7 Anlegen, Entfernen, Verschieben, Kopieren K. PuschkeKommandozeilengrundlagen 31. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Navigation im Verzeichnisbaum Verzeichnis wechseln cd VERZEICHNIS - change directoryK. PuschkeKommandozeilengrundlagen 32. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Aufgaben Verzeichnis wechseln cd, PfadangabenK. PuschkeKommandozeilengrundlagen 33. Verzeichnis wechseln Unterwegs im Verzeichnisbaum Pfadangaben Anlegen, Entfernen, Verschieben, Kopieren Verzeichnisinhalt ausgeben Verzeichnis wechselncd VERZEICHNISwechselt in Verzeichnis cdwechselt ins eigene Homeverzeichniscd -wechselt ins vorher benutzte Verzeichnis K. PuschkeKommandozeilengrundlagen 34. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Pfadangabenabsoluter Pfadbeginnt im Rootverzeichnis /Beispiel: /home/alice/linuxkurs/aufgaben relativer Pfadrelativ zum aktuellen Verzeichnisbeginnt ohne /aktuelles Verzeichnis: .nchsthheres Verzeichnis: ..K. PuschkeKommandozeilengrundlagen 35. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Pfadangaben - BeispieleAusgehend von /home/alice/linuxkurs/ entsprechen sich jeweilsaufgaben ./aufgaben /home/alice/linuxkurs/aufgaben../mysqlkurs/aufgaben /home/alice/mysqlkurs/aufgaben../../bob/linuxkurs /home/bob/linuxkursK. PuschkeKommandozeilengrundlagen 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. PuschkeKommandozeilengrundlagen 37. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Aufgaben Verzeichnisinhalt ausgeben lsK. PuschkeKommandozeilengrundlagen 38. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt ausgeben Verzeichnisinhaltls VERZEICHNISInhalt von lsInhalt des aktuellen Verzeichnissesls - -all VERZEICHNISls -a auch versteckte Dateien anzeigen(Dateiname beginnt mit .)ls -l VERZEICHNISls - -format=long long format, mehr InfosK. PuschkeKommandozeilengrundlagen 39. Verzeichnis wechselnUnterwegs im VerzeichnisbaumPfadangabenAnlegen, Entfernen, Verschieben, KopierenVerzeichnisinhalt 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 VideosRechteAnzahl hard links (Datei) oderUnterverzeichnisse (Verzeichnis)ownergroupGrsse in Bytesletzte nderungName K. PuschkeKommandozeilengrundlagen 40. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Dateien und Verzeichnisse verwalten 6 Unterwegs im Verzeichnisbaum7 Anlegen, Entfernen, Verschieben, Kopieren K. PuschkeKommandozeilengrundlagen 41. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Anlegen und EntfernenAnlegen mkdir VERZEICHNIS make directorytouch DATEIDatei anlegen (bei vorhandener Datei: timestamp setzen)Entfernen rm DATEI removermdir VERZEICHNISremove directory (entfernt leeres Verzeichnis)rm -r VERZEICHNISentfernt Verzeichnis samt Inhalt K. PuschkeKommandozeilengrundlagen 42. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Kopieren, Verschieben, Umbenennen Verschieben und Umbenennen mv QUELLDATEI ZIELDATEI mv DATEI(EN) VERZEICHNIS mv QUELLVERZEICHNIS ZIELVERZEICHNIS moveKopieren cp QUELLDATEI ZIELDATEI cp DATEI(EN) VERZEICHNIS cp -r QUELLVERZEICHNIS ZIELVERZEICHNIS copyK. PuschkeKommandozeilengrundlagen 43. Unterwegs im Verzeichnisbaum Anlegen, Entfernen, Verschieben, Kopieren Vorsicht Warnung U.U. wird ohne Rckfrage gelscht oder berschrieben! K. PuschkeKommandozeilengrundlagen 44. Unterwegs im VerzeichnisbaumAnlegen, Entfernen, Verschieben, Kopieren Aufgaben Dateien und Verzeichnisse Anlegen, Entfernen, Kopieren, Verschieben, UmbenennenK. PuschkeKommandozeilengrundlagen 45. Befehlssyntax - Argumente und Optionen Untersttzung bei der Arbeit Programme steuernTeil IV Arbeiten mit der Shell K. Puschke Kommandozeilengrundlagen 46. Befehlssyntax - Argumente und OptionenUntersttzung bei der ArbeitProgramme steuern Arbeiten mit der Shell8Befehlssyntax - Argumente und Optionen9Untersttzung bei der Arbeit10 Programme steuernK. Puschke Kommandozeilengrundlagen 47. Befehlssyntax - Argumente und Optionen Untersttzung bei der Arbeit Programme steuern Argumente Befehle knnen 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 mvK. Puschke Kommandozeilengrundlagen 48. Befehlssyntax - Argumente und OptionenUntersttzung bei der ArbeitProgramme steuern Optionen Verndern die Wirkung von Befehlenrm -rSyntax uneinheitlich, gngig sindeinzelner Buchstabe mit minus davorrm -r kursWort mit doppeltem minusrm - -recursive kursKey-Value mit =rm - -interactive=alwaysteilweise auch nur mit einfachem minusOptionen knnen z.T. kombiniert werdenoft kann dann abgekrzt werdenls -al statt ls -a -lK. Puschke Kommandozeilengrundlagen 49. Befehlssyntax - Argumente und Optionen Untersttzung bei der Arbeit Programme steuern Aufgaben Befehlssyntax und Arbeitsweisen Befehle, Optionen und Argumente, praktische Tips K. Puschke Kommandozeilengrundlagen 50. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen Untersttzung bei der Arbeit Hilfe nden Programme steuernWildcards und Klammererweiterung Arbeiten mit der Shell 8Befehlssyntax - Argumente und Optionen9Untersttzung bei der ArbeitArbeitserleichterungenHilfe ndenWildcards und Klammererweiterung10 Programme steuern K. Puschke Kommandozeilengrundlagen 51. Befehlssyntax - Argumente und Optionen ArbeitserleichterungenUntersttzung bei der Arbeit Hilfe ndenProgramme steuernWildcards und Klammererweiterung Arbeitserleichterungen Blttern mit Shift+PageUp/DownBefehlshistorie mit CursortastenVervollstndigung mit TabCopy & Paste: Markieren & per mittlerer Maustaste einfgen im Terminal oft: STRG+Shift+C, STRG+Shift+VK. Puschke Kommandozeilengrundlagen 52. Befehlssyntax - Argumente und Optionen Arbeitserleichterungen Untersttzung bei der Arbeit Hilfe nden Programme steuernWildcards 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 ArbeitserleichterungenUntersttzung bei der Arbeit Hilfe ndenProgramme steuernWildcards und Klammererweiterung KlammererweiterungAusdruck in geschweiften Klammern wird zu mehrerenDateinamen erweitertcp /home/alice/{foo,bar} neuerordnerentsprichtcp /home/alice/foo /home/alice/barneuerordnerK. Puschke Kommandozeilengrundlagen 54. Befehlssyntax - Argumente und Optionen ArbeitserleichterungenUntersttzung bei der Arbeit Hilfe ndenProgramme steuernWildcards und Klammererweiterung Wildcards Platzhalter fr DateioperationenBeispielanwendung: Lsche alle Dateien, deren Name mitlinux beginntje nach shell: expandiert zum eigenen Homeverzeichnis /linuxkurs entspricht/home//linuxkurs? - genau ein beliebiges Zeichen...

Recommended

View more >