>
== Shell Scripte : wie mit den Bord Mittel von Linux/Unix sich das Leben und das Administrieren vereinfachen kann. ==
Hier soll die sanfte Einführung in Shell Skripting entstehen. Der Vorteil von Shellscripten liegt vor allem darin, dass man mit den Boardmitteln eines jeden Linux/Unix auch komplexe und wiederkehrende Aufgaben erledigen lassen kann. Es muss nichts zusätzlich installiert oder kompiliert werden.
Wie immer sind Rechtschreib- und andere Fehler von Menschen gemacht und auch hier moeglich. Fuer alle Angaben gibt es daher keine Garantie.
Da es sich letzendlich um den geschickten Einsatz von Einzelbefehlen des Linux handelt, starte ich mal dem Erstellen von Befehlsaliases oder dem modifizieren vorhandener Befehle.
Zum Beispiel: man nutzt den Befehl ls immer mit Parametern...
mit
{{{
alias dir='ls -lisa|more' }}}
bildet man sich seinen eigenen DIR Befehl, ohne lästiges tippen.
mit
{{{
alias cd..='cd ..' }}}
spart man sich das Leerzeichen.
Aber auch schon bestehende Befehle lassen sich "tunen".
{{{
alias rm='rm -i' }}}
hat mir schon oft eine Neuinstallation erspart.
{{{
alias ls = 'ls --color=auto' }}}
macht die Ausgabe von ls farbig.
Das mit dem Alias funktioniert nur solange man eingeloggt ist. Damit das auch beim nächsten Neustart noch funktioniert, muß das irgendwo in die Startskripte eingefügt werden. Ich habe die Einträge an das Ende der Datei /etc/profile gehängt. Die Datei muß mit Root Rechten geändert werden. Sicherheitskopie nicht vergessen!!!
Wer mal Grafik auf der Konsole sehen will sollte sich bb an schauen. Falls nicht installiert,
{{{
aptitude update; aptitude install bb
}}}
Dann starten mit bb und ein sehr einfaches Menue geht auf. Sound ist auch dabei. Viel Spass damit.
Falls man wissen will, ob ein Programmpaket installiert ist, kann man mit dem Befehl
{{{
dpkg -l | grep gesuchter_Begriff
}}}
testen ob das Paket, das "gesuchter_Begriff" im Namen enthält auch vorhanden ist. Steht am Zeilenbeginn der Ausgabe "ii" ist das Paket installiert. dpkg -l listet alle Pakete aus dem Cache auf; "|" gibt die Konsolen Ausgabe an "grep" weiter, wo nach "gesuchter_begriff" gefiltert wird; das Ergebnis erscheint auf der Konsole auch Standardausgabe genannt.
Gib die 20 grössten Dateien im aktuellen Verzeichnis und allen Unterverzeichnissen aus:
{{{
find . -type f -print0 |xargs -0 du -k |sort -nr |head -20
}}}
weitere Beispiele bitte hier einfügen.
Man bekommt einen Eindruck, warum die Konsole richtig Spass machen kann. Fuer den tieferen Einstieg kann man die Manpages zu Rate ziehen.
{{{
man Paketname oder Begriff
}}}
geben ausführliche Hinweise. Die manpages sind ueberwiegend in Englischer Sprache abgefasst.
to be continued ...
(einige der obigen Beispiele würde ich eher in einer anderen Seite unterbringen. z.B. ShellKonfiguration, oder SystemAdministration -cord) (da es sich bei den Beispielen nicht um Scripte handelt, habe ich mich Cords Ansich angeschlossen und diese umgesetzt -sven)
= Bash in Farbe: =
Beispiel:
{{{
#!/bin/bash
echo -e "This is \e[00;30mBlack\e[00m 0;30"
echo -e "This is \e[01;30mDark Gray\e[00m 1;30"
echo -e "This is \e[00;31mRed\e[00m 0;31"
echo -e "This is \e[01;31mLight\e[00m Red 1;31"
echo -e "This is \e[00;32mGreen\e[00m 0;32"
echo -e "This is \e[01;32mLight Green\e[00m 1;32"
echo -e "This is \e[00;33mBrown\e[00m 0;33"
echo -e "This is \e[01;33mYellow\e[00m 1;33"
echo -e "This is \e[00;34mBlue\e[00m 0;34"
echo -e "This is \e[01;34mLight Blue\e[00m 1;34"
echo -e "This is \e[00;36mCyan\e[00m 0;36"
echo -e "This is \e[01;36mLight Cyan\e[00m 1;36"
echo -e "This is \e[00;35mPurple\e[00m 0;35"
echo -e "This is \e[01;35mLight\e[00m Purple 1;35"
echo -e "This is \e[00;37mLight\e[00m Gray 0;37"
echo -e "This is \e[01;37mWhite\e[00m 1;37"
}}}
= ein paar Links ins Web: =
* [[http://www-e.uni-magdeburg.de/urzs/uxkdo/| Alphabetische Übersicht der Shell (Uni Magdeburg)]] <
><
><
>
* [[http://www.lug-viersen.de/howtos/einfuehrung-in-die-bash-programmierung.html|Praxisnahe Bash Einführung von der LUG Viersen]]
* [[http://www.uni-muenster.de/ZIV.MathiasGrote/linux/Prog.html|Shell-Programmierung (Uni Münster)]]
* [[http://www-user.tu-chemnitz.de/~hot/unix_linux_werkzeugkasten/|Der Unix/Linux-Werkzeugkasten (Uni Chemnitz)]]
* http://www.bin-bash.de/index.php (Ausführilich Anleitung mit viel textlichen Grundlagen)
* recht grundlegende/(theoretische) Übersicht auf selflinux http://selflinux.org/selflinux/html/shellprogrammierung.html
* http://kris.koehntopp.de/artikel/unix/shellprogrammierung/ (Ausführilich Anleitung mit viel textlichen Grundlagen)