Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linux slides 2013_upload

Linux und Kommandozeile, Kurs auf der Informatica Feminale 2013

  • Be the first to comment

Linux slides 2013_upload

  1. 1. Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Einführung in Linux und Kommandozeile Rosa Freund, freund@lrz.de
  2. 2. 2Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Einführung in Unix/Linux ● UNIX, 1969 (Bell Labs, AT&T) ● GNU/Unix, BSD, Linux ● weitere Varianten: AIX, HP-UX, Solaris, OS X,...
  3. 3. 3Einführung in Linux und Kommandozeile – Informatica Feminale 2013 GNU, Linux ● 1983: Richard Stallman, FSF, GNU GPL ● 1992: Linus Torvalds, Linux-Kernel Linux-Distributionen: ● SuSE, Debian, Gentoo, Ubuntu / Mint, Arch Linux, SELinux, Android, Knoppix, grml, ...
  4. 4. 4Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Unix-Eigenschaften ● Multi-User-System: ● gleichzeitig nutzbar ● getrennte Bereiche für User ● Trennung Anwendung (user) und Administration (superuser = root) ● Verzeichnisbaum
  5. 5. 5Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Verzeichnisbaum ● keine Laufwerksbuchstaben, alles in Verzeichnishierarchie ● Root-Verzeichnis / ist Wurzel (Vorsicht: /root gibt es auch!) ● Verzeichnisse mit / getrennt ● /home ● /home/lisa ● /home/rosa ● /home/rosa/kurs
  6. 6. 6Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Verzeichnisbaum /bin /boot /dev /etc /home /lib /media /proc /root /sbin /sys /tmp /usr /var
  7. 7. 7Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Verzeichnisbaum ● User haben eigene Home-Verzeichnisse ● Einstellungen und Daten werden abgelegt ● i.d.R. /home/<username> ● externe Geräte und Festplatten ● im Verzeichnisbaum eingehängt (mount) ● wie Verzeichnis nutzbar
  8. 8. 8Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Betriebssystem-Komponenten ● Betriebssystem (Operating System, OS) ● Kernel (Hardwareverwaltung) ● System- und Dienstprogramme, (Hardwarenahe Konfiguration,. . . ) ● Benutzer-Schnittstelle (User Interface, UI) ● GUI (Graphical User Interface, grafische Oberfläche) ● CLI (Command Line Interface, Kommandozeile, Shell) ● Anwendungen ● grafisch ● kommandozeilenbasiert
  9. 9. 9Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Shell ● Schnittstelle zum Betriebssystem ● bash, sh, ksh, csh, tcsh... ● Befehle werden sofort ausgeführt ● Anwendungen ausführen / starten / beenden ● Shell-Befehle ● Shell-Programmiersprache ● Kleine, spezialisierte, kombinierbare Tools statt großer Alleskönner-Anwendungen!
  10. 10. 10Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Warum Shell benutzen? ● keine (funktionierende) grafische Oberfläche ● Anwendung existiert nur für Kommandozeile ● Anwendungen kombinierbar ● schont Ressourcen ● sehr effizient für viele Problemstellungen ● z.B.: “kopiere alle Dateien mit Endung .jpg in ein anderes Verzeichnis” ● z.B. “schreibe eine Liste aller Textdateien, die den Begriff “informatica” enthalten, in eine Datei”
  11. 11. 11Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Wie komme ich zur Shell? ● 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. rosa@horst:~$ ● ggf. in die bash wechseln
  12. 12. 12Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Eingebaute Shell-Tricks ● Vervollständigen mit Tabulator ● ↑ und ↓ springen zu vorigen Shell-Eingaben ● Blättern mit Strg+Shift+ ↑ oder ↓ ● Kopieren und Einfügen: ● markieren und mittlere Maustaste ● in Shells oft: Strg+Shift+C und Strg+Shift+V ● Laufendes Programm unterbrechen mit Strg+c
  13. 13. 13Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 1 Wer und wo bin ich?
  14. 14. 14Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Hilfe-System ● Befehlssyntax abfragen: <befehl> -h oder --help ● Manual zur Bedienung: Man-Pages man <befehl> ● Mehr Informationen: info <befehl> apropos <begriff>
  15. 15. 15Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 2 Hilfe holen
  16. 16. 16Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Navigation im Verzeichnisbaum ● Auf der Shell befindet man sich immer in einem Verzeichnis ● absolute Pfadangaben: /home/rosa/if-kurs ● relative Pfadangaben zum aktuellen Verzeichnis: . ..
  17. 17. 17Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Relative Pfadangaben ● Ich bin in /home/rosa/ - dann sind identisch: /home/rosa/if-kurs if-kurs ./if-kurs ~/if-kurs ../rosa/if-kurs ../../home/rosa/if-kurs
  18. 18. 18Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Dateien und Verzeichnisse verwalten ● cd ● mkdir, rmdir ● cp, mv, rm ● touch: Legt eine Datei an, bei einer existierenden Datei wird der Timestamp aktualisiert ACHTUNG: Vor dem Löschen oder Überschreiben fragt die Shell nicht nochmal nach! Es gibt keinen “Papierkorb”!
  19. 19. 19Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 3 Navigation, Dateien
  20. 20. 20Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Shell-Befehle: Optionen ● ohne Argumente oder Optionen: whoami, users ● Option(en) optional: ls, pwd, uname ● Optionen können unterschiedlich aussehen: ls -a einfacher Bindestrich, Kurzform ls --all doppelter Bindestrich, Langform ps aux ohne Bindestriche, BSD-style ● Verknüpfung mehrerer Kurz-Optionen: ls -l -a ist dasselbe wie ls -la
  21. 21. 21Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Shell-Befehle: Argumente ● Optionen verändern das Output eines Befehls ● Auf Argumente kann ein Befehl wirken ● Argumente manchmal zwingend erforderlich: mv <quelle> <ziel> cd <verzeichnis>
  22. 22. 22Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Systeminformationen ● Viele Tools um System-Informationen auf der Kommandozeile anzuzeigen
  23. 23. 23Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 4 System-Informationen
  24. 24. 24Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Kommandozeilen-Editoren ● Unverzichtbar auf Serversystemen, die in der Regel keine GUI bieten ● klein und einfach: nano, pico ● Mittelklasse: joe, jed ● komplex, aber mächtig: emacs, vi(m)
  25. 25. 25Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Kommandozeilen-Editoren Quelle: http://unix.rulez.org/~calver/pictures/curves.jpg
  26. 26. 26Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 5 vi
  27. 27. 27Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 6 Ansehen und Durchsuchen von Textfiles
  28. 28. 28Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Wildcards ● * Ein oder kein oder mehrere beliebige Zeichen: rm *.jpg ● ? Ein beliebiges Zeichen: ls datei_?.txt ● [ ] Enthält erlaubte Zeichen: ls bl[aui]*, ls bla_[1-5]* ● { } Enthält erforderliche Zeichen: touch bla_{1,2,3,4,5,6,7}.txt ● ! Verneinung: ls bl[!ai]*
  29. 29. 29Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Mehr reguläre Ausdrücke ● awk ● Mini-Programmiersprache auf CLI http://tldp.org/LDP/Bash-Beginners-Guide/html/chap_06.html ● sed ● Streameditor, kann Text modifizieren http://tldp.org/LDP/Bash-Beginners-Guide/html/chap_05.html
  30. 30. 30Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Ausgabeumleitung in Befehl ● Ausgabe von Befehl1 wird als Eingabe von Befehl2 genutzt: ls -la | more who | grep <username> cat ~./bash_history | sort
  31. 31. 31Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Ausgabeumleitung in Datei ● mit > oder >> ls -la > filelist ● mit < wird Eingabe in Kommando geleitet sort < filelist ● können auch kombiniert werden: sort < filelist > filelist_sorted
  32. 32. 32Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 7 Wildcards, >, >>, |
  33. 33. 33Einführung in Linux und Kommandozeile – Informatica Feminale 2013 ls -l ●“d” bei Verzeichnissen ● Rechte ● Anzahl Hardlinks (Datei) oder Unterverzeichnisse (Verzeichnis) ● user / owner ● group ● Größe in Bytes ● Letzte Änderung (aktualisieren mit touch) ● Name
  34. 34. 34Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Berechtigungen ● user gehören zu groups ● jede Datei hat einen user als owner ● jede Datei gehört außerdem einer group ● modulare Rechtevergabe möglich für die drei Gruppen 1. user (u) = owner 2. group (g) 3. others (o)
  35. 35. 35Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Berechtigungen ● Mögliche Dateirechte: 1. read (r) 2. write (w) 3. execute (x) ● Zwei Varianten, Berechtigungen mit chmod zu setzen: ● Relativ: wer [ugo] bekommt / verliert [+ -] welche Rechte [rwx])? chmod go+r <datei> ● Explizit: binär, rwx entspricht z.B. 111, also 4+2+1=7. chmod 755 <datei>
  36. 36. 36Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 8 Berechtigungen
  37. 37. 37Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Suchen im Dateisystem ● Schnelle Suche: locate ● Aber: Wird in Datenbank gespeichert, muss regelmäßig mit updatedb aktualisiert werden. ● Live-Suche, sehr mächtig: find ● Aber: Kompliziert, unintuitive Sytax find / -xdev -name passwd
  38. 38. 38Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 9 Dateisystemsuche
  39. 39. 39Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Bash-Scripting ● Eingebaute Programmiersprache ● Skripte heißen z.B. skript.sh ● ausführen mit bash skript.sh oder sh skript.sh oder ./skript.sh ● Erste Zeile: Shebang #!/bin/bash ● http://tldp.org/LDP/abs/html/ ● http://openbook.galileocomputing.de/shell_programmierung/
  40. 40. 40Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Variablen ● Variablen belegen: var=hallo ● Wert der Variablen ausgeben: echo $var ● Kommentare: #kommentar
  41. 41. 41Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Konditionen / Schleifen ● if [ "foo" = "foo" ]; then echo “stimmt” else echo “stimmt nicht” fi ● for i in $( ls ); do echo item: $i done ● COUNTER=0 while [ $COUNTER -lt 10 ]; do echo Der Counter ist $COUNTER COUNTER=$(expr $COUNTER + 1) done
  42. 42. 42Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Tests ● Testen Dateien: if [ -e "/home/user13/testfile" ]; then echo "Datei existiert!" fi ● Testen Zahlen: if [ $(($a+$b)) -eq 0 ] && [ $a -gt 0]; then echo "a > 0 und a+b ist Null!" fi
  43. 43. 43Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Was es sonst noch gibt ● Job-Management jobs, fg, bg, & ● Skripte / Befehle regelmäßig ausführen crontab ● Softwareverwaltung ● Systemabhängige Paketverwaltung-GUI, z.B. Synaptic bei Ubuntu bzw. YaST2 bei SUSE ● Systemabhängige Paketverwaltungstools, z.B. apt/dpkg (Debian / Ubuntu), zypper (SuSE), pacman (Arch Linux) ● Kompilieren aus dem Quellcode mit ./configure, make, make install ● … und vieles mehr...
  44. 44. 44Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Das war's, vielen Dank! ● Langeweile? Warum nicht ein Bash-Skript schreiben!

×