Die Shell Ein Vortrag von Frederik und Michael 1 / 35
Die Shell Teil 1 Einleitung Geschichte des Terminals Vergleich von GUI und Konsole Teil 2 Praxis Teil 3 Konzepte und Möglichkeiten der Shell Teil 4 Schlussbetrachtung 2 / 35
Aktuelles Verzeichnis pwd printing Working Directory echo * Unterverzeichnisse : Schalter, Option benutzen Zugriff auf andere Verzeichnis : Pfadnamen angeben cd 3 / 35
Alias alias name=befehl alias ll= ls -l Befehle verkürzen alias mali=mail Vertipper alias search=grep Gewohnheiten alias cda= cd Ein/ganz/langer/Pfad/ zu/einem/weitentferntem/verzeichnis/ unalias 4 / 35
Arithmetik $((a+b)) Natürliche Zahlen, Ganze Zahlen Für Gleitkomma, Dezimalzahlen lieber ein externes Programm (bc) Shell = Textbasiert 5 / 35
Befehle Grundlage der Arbeit mit der Shell interne Befehle echo, cd, exit, if, externe Befehle Optionen ls -l Argumente, Parameter ls -l Datei.txt 6 / 35
Completion TAB TAB TAB Dateinamen, Befehle, Optionen 7 / 35
Editieren mit Readline Beschleunigt das Bearbeiten Tastaturkürzel 8 / 35
ESC-Sequenzen Übersichtlichkeit z.b.: grep 9 / 35
Ersetzungen,Expandierungen Tilde-Expandierung ~ Arithmetische Ersetzung $((1+3)) Variablen-Ersetzung $Variable Dateinamen-Expandierung *.txt Parameter-Ersetzung $1 Befehls-Ersetzung $(Befehl) 10 / 35
Funktionen Funktionsname() { Befehle; ; } AnzahlWorte() { worte=$(wc -w Panama.txt); echo $worte; } 11 / 35
Gültigkeit 12 / 35
Hilfe man Befehlsname man bash info Befehlsname Befehlsname --help whereis Befehlsname sudo apt-get install manpages-de 13 / 35
Hintergrundprozesse jobs zeigt Hintergrundprozesse STRG+Z laufenden Prozess anzeigen bg schiebt ihn in den Hintergrund fg holt in wieder in den Vordergrund 14 / 35
History CURSOR RAUF/RUNTER STRG+R / STRG+S history!25 15 / 35
Klammern, Listen { ls -l ; df ; echo Erledigt } 16 / 35
Kommandozeile 17 / 35
Konfigurationsdateien als Login-Shell : /etc/profile ~/.bash_profile ~/.bash_login ~/.profile als Interaktive Shell ~/.bashrc 18 / 35
Prompt mike@rechnername:~$ Informationen Beginn der Eingabe PS1 19 / 35
Quotierung echo * echo \* echo Ein längerer *-Text 20 / 35
Reservierte Wörter for, case, until, else, &&, 21 / 35
Rückgabewert Exit-Status von Befehlen 0 - erfolgreich 1-255 - Fehler echo $? 22 / 35
Schleifen, Verzweigungen, Kontrollstrukturen for Variable in Liste ; do Befehle ; done while Bedingung; do Befehle ; done if Bedingung ; then Wahr-Befehle ; elif weitere Bedingungen ; then Wahr-Befehle für weiter Bed. ; else alternative Befehle ; fi 23 / 35
Scripte #!/bin/bash date ls -l for var in 1 2 3; do echo $var; done # Kommentar echo Erledigt Aufruf : bash Dateiname.sh chmod u+x 24 / 35
Shell-Arten Login-Shell Interaktive Shell Subshells Restriktive Shell 25 / 35
Shell-Optionen set 26 / 35
Signale kill trap 27 / 35
Subshell Untershell 28 / 35
Test, Bedingungen if [ -d Datei ] ; then Test für Dateien/Verzeichnis Datei1 -nt Datei2 Dateien vergleichen -z Zeichenketten Test für Zeichenketten Zeichenkette1 = Zeichenkette2 Zahl1 eq Zahl2 Test für Zahlen 29 / 35
Umgebung Environment 30 / 35
Umleitungen, Redirection ls -l > Verzeichnisliste.txt ls -l grep Datei.txt 31 / 35
Variablen Variablenname Buchstaben, Ziffern, Unterstrich Für Benutzer : keine Ziffer am Anfang Variablenzuweisung Variable= Inhalt x=42 Variablen-Dereferenzierung echo $x 32 / 35
Verschiedene Clipboards Kontextmenü < Kopieren > < Einfügen > Markieren mittlere Maustaste 33 / 35
Versteckte Dateien.VersteckteDatei.txt ls -a tar -cvzf archiv.tar.gz * - archiviert nur sichtbare Dateien shopt -s dotglob - auch verst. Dat werden behandelt 34 / 35
Zeichen, Sonderzeichen a,b,c,,a,b,c,,1,2,3,,!, Leerzeichen *,?,, $, - Metazeichen echo * echo \* 35 / 35