Python-Kurs für Bash-Nutzer
Als Administrator wird es immer wichtiger neben der reinen Shellprogrammierung auch Skripte in Python zu erstellen. Sehr häufig wird heute schon Python für die Bereitstellung von Werkzeugen Python eingesetzt. Ein gutes Beispiel für die Verwendung von Python ist Samba4. Nahezu alle Werkzeuge wurden in Python geschrieben. Python bietet viele Vorteile bei der Bearbeitung von Dateien. Python wird zwar die Shellprogrammierung nicht vollständig ersetzen, ist aber eine gute Ergänzung. An vielen Stellen unterscheidet sich die Syntax von der Shellprogrammierung. Trotzdem kann ein Einsteiger in Python sehr schnell Erfolge erzielen und erste Python-Skripte zur Systemadministration einsetzen.
Zielgruppe und Format
Für wen ist dieser Kurs geeignet?
Kursinhalte
Was Sie lernen
- Die interaktive Python-Shell:
Hier zeigen wir Ihnen, wie Sie einzelne Kommandos direkt auf einer Shell eingeben können, so wie Sie es von der System-Shell kennen. Denn genau wie auf der Bash ist es möglich alle Kommandos und Konstrukte direkt einzugeben und ausführen zu lassen. - Variablen, Listen und Tupel:
Lernen Sie die Unterschiede kennen wie Variablen unter Python definiert und abgefragt werden. Welche Variablentypen Python kennt und was sich hinter Listen und Tupeln verbirgt. Damit die Gegenüberstellung einfacher ist, werden an verschieden Beispielen die Unterschiede zur Bash erklärt. - Indizierung von Variablen, Listen und Tupel:
Wie können Sie Variablen, Listen und Tupel in Bereiche zerlegen, die Längen bestimmen und Teile in andere Variablen, Listen und Tupeln speichern. Hier wird der Vorteil anhand des Kommandos „cut“ dargestellt und mit Beispielen erklärt. - Range und Dictionary:
Sie kennen assoziative Arrays von der Bash Version 4? Die assoziativen Arrays sind vergleichbar mit den Dictionaries unter Python, nur dass es hier noch weitere Möglichkeiten gibt die wir Ihnen hier zeigen wollen. Ranges werden Sie später für die Zählschleifen benötigen. - Bedingte Verzweigungen:
Hier werden Sie den Unterschied zwischen den bedingten Verzweigungen auf der Bash und Python kennenlernen. Gerade hier werden Sie die meisten Unterschiede zur Syntax auf der Bash kennen lernen. - Schleifen:
Auch bei Python spielen Schleifen eine große Rolle. Einige der Konstrukte die Sie von der Bash kennen werden bei Python komplett anders realisiert. Die verschiedenen Möglichkeiten werden hier ausführlich erklärt. - Systemkommandos in Python:
Wenn Sie Systemkommandos, wie zum Beispiel „grep“, in Python einsetzen wollen, werden Sie schnell feststellen, dass Sie sich bei der Verarbeitung von stdout, stdin und stderr komplett umstellen müssen. In diesem Abschnitt erklären wir Ihnen wie Sie Ergebnisse eines Kommandos in einem anderen Kommando weiterverarbeiten können. An dieser Stelle werden wir gezielt mit Beispielen auf die Verwendung von Systemkommandos eingehen. - Arbeiten mit Dateien:
Oft werden Sie Daten aus Dateien auslesen und auch wieder in Dateien schreiben wollen. In diesem Abschnitt sollen jetzt die Dateioperationen besprochen werden. Sie werden die verschiedenen Methoden kennenlernen, wie Sie Daten in eine Datei einlesen können. - Funktionen:
Oft macht es Sinn bestimmte Teile eines Skripts in Funktionen abzulegen. Immer wenn Sie bestimmte Berechnungen oder Zuweisungen häufiger innerhalb eines Skripts verwenden wollen können Sie diese Anweisungen in eine Funktion auslagern und dann im Skript nur noch die Funktion aufrufen. Hier lernen Sie, wie Sie Funktionen erstellen, benutzen und in anderen Skripten zur Verfügung stellen können. Im Gegensatz zur Bash haben Sie bei Python mehr Möglichkeiten Werte aus Funktionen zu übernehmen und zu übergeben. - Kommandozeilenparameter:
Natürlich können Sie einem Python-Skript auch beim Aufruf Argumente übergeben, die anschließend im Skript verarbeitet werden. Die unterschiedliche Verarbeitung der Kommandozeilenparameter unter Python und auf der Bash werden hier genau erklärt. - Listen und Tupel im Detail:
Nachdem Sie am Anfang des Seminars schon Listen und Tupel kennengelernt haben, sollen Sie in diesem Abschnitt weitere Möglichkeiten kennenlernen die Ihnen die Verarbeitung von Listen und Tupeln erleichtern können. Gerade hier werden Sie die Stärke von Python im Vergleich zur Bash klar erkennen. - Systemverwaltung:
In diesem Abschnitt werden Sie verschiedene Möglichkeiten kennenlernen wie Sie Aufgaben der täglichen Systemverwaltung mit Python durchführen können. Angefangen bei der Verwendung der Umgebungsvariablen über die lokale Verwaltung von Gruppen und Benutzern bis hin zur Verwaltung von Benutzern in einer zentralisierten Benutzerverwaltung. Als Beispiel soll hier die Benutzerverwaltung unter Samba4 besprochen werden. Dabei werden Sie lernen, wie Sie Benutzer aus einer CSV-Datei anlegen können und wie Sie mehrere Benutzer über Skripte gleichzeitig ändern können. Auch das erstellen von Skripten zur Datensicherung wird hier ein Thema sein. Anhand von Beispielen werden wir Ihnen zeigen, wie Sie Daten für ein Backup selektieren können. - Im letzten Abschnitt geht es dann um die Verwaltung von MySQL-Datenbanken über Python-Skripte. Dabei lernen Sie, wie Sie Datenbanken, Tabellen und Einträge mit Python erstellen können und wie Sie Daten aus Log-Dateien auswerten und in Datenbanken speichern können.
Offen oder Inhouse
Passt der Kurs zu Ihrem Bedarf?
Wir beraten Sie zu Termin, Dauer, Vorkenntnissen und einer auf Ihr Team abgestimmten Themenauswahl.