SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Einführung in Linux und Kommandozeile
Rosa Freund, freund@lrz.de
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,...
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, ...
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
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
6Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Verzeichnisbaum
/bin
/boot
/dev
/etc
/home
/lib
/media
/proc
/root
/sbin
/sys
/tmp
/usr
/var
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
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
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!
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”
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
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
13Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 1
Wer und wo bin ich?
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>
15Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 2
Hilfe holen
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:
.
..
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
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”!
19Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 3
Navigation, Dateien
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
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>
22Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Systeminformationen
● Viele Tools um System-Informationen auf der
Kommandozeile anzuzeigen
23Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgabe 4
System-Informationen
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)
25Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Kommandozeilen-Editoren
Quelle: http://unix.rulez.org/~calver/pictures/curves.jpg
26Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgabe 5
vi
27Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 6
Ansehen und Durchsuchen von Textfiles
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]*
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
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
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
32Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 7
Wildcards, >, >>, |
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
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)
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>
36Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgaben 8
Berechtigungen
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
38Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Aufgabe 9
Dateisystemsuche
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/
40Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Variablen
● Variablen belegen:
var=hallo
● Wert der Variablen ausgeben:
echo $var
● Kommentare:
#kommentar
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
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
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...
44Einführung in Linux und Kommandozeile – Informatica Feminale 2013
Das war's, vielen Dank!
● Langeweile?
Warum nicht ein Bash-Skript schreiben!

Weitere ähnliche Inhalte

Ähnlich wie Linux slides 2013_upload

Linux slides fort_2013_upload
Linux slides fort_2013_uploadLinux slides fort_2013_upload
Linux slides fort_2013_uploadRosa Freund
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet B1 Systems GmbH
 
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBrigitte Jellinek
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005Rainer Gerhards
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfSyahri Ramadhan
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeNETWAYS
 
Übersetze mich
Übersetze michÜbersetze mich
Übersetze michDominik
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterFromDual GmbH
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartOSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartNETWAYS
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with AnsibleSusannSgorzaly
 
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterRsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterDésirée Pfister
 
Rsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxRsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxTrivadis
 

Ähnlich wie Linux slides 2013_upload (20)

Linux slides fort_2013_upload
Linux slides fort_2013_uploadLinux slides fort_2013_upload
Linux slides fort_2013_upload
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
 
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
 
Status of syslog as of 2005
Status of syslog as of 2005Status of syslog as of 2005
Status of syslog as of 2005
 
Web Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 BetaWeb Entwicklung mit PHP - Teil 3 Beta
Web Entwicklung mit PHP - Teil 3 Beta
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdfDockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
Dockerbank II - 03 - Szenarien des Routinebetriebs (aktualisiert).pdf
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Übersetze mich
Übersetze michÜbersetze mich
Übersetze mich
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartOSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with Ansible
 
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterRsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
 
Rsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für LinuxRsyslog - Deutsche Qualitätsarbeit für Linux
Rsyslog - Deutsche Qualitätsarbeit für Linux
 

Linux slides 2013_upload

  • 1. Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Einführung in Linux und Kommandozeile Rosa Freund, freund@lrz.de
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 1 Wer und wo bin ich?
  • 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. 15Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 2 Hilfe holen
  • 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. 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. 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. 19Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 3 Navigation, Dateien
  • 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. 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. 22Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Systeminformationen ● Viele Tools um System-Informationen auf der Kommandozeile anzuzeigen
  • 23. 23Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 4 System-Informationen
  • 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. 25Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Kommandozeilen-Editoren Quelle: http://unix.rulez.org/~calver/pictures/curves.jpg
  • 26. 26Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 5 vi
  • 27. 27Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 6 Ansehen und Durchsuchen von Textfiles
  • 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. 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. 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. 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. 32Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 7 Wildcards, >, >>, |
  • 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. 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. 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. 36Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgaben 8 Berechtigungen
  • 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. 38Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Aufgabe 9 Dateisystemsuche
  • 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. 40Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Variablen ● Variablen belegen: var=hallo ● Wert der Variablen ausgeben: echo $var ● Kommentare: #kommentar
  • 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. 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. 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. 44Einführung in Linux und Kommandozeile – Informatica Feminale 2013 Das war's, vielen Dank! ● Langeweile? Warum nicht ein Bash-Skript schreiben!