-
The central tool for every Linux administrator is the shell. It is the ubiquitous command input line that works even when there is no graphical user interface. It also offers the most powerful command set in graphical environments. However, Linux newcomers in particular only use the potential of the shell to a limited extent. For example, procedures that always run in the same way can be combined into a simple script in no time at all. Starting with very simple examples, you will get a sound introduction to how you can create simple solutions yourself, e.g. to query system information from the running machine, and develop flexible scripts.
What cannot be retrieved from the machine can be passed into the scripts by the user using various methods. A powerful language syntax makes the shell a very interesting environment for system programming. Whether it is about evaluating states or the content of variables, whether processes are to be repeated in loops - the shell can keep up with any common scripting language. It is available on every Linux system without being dependent on version numbers to the same extent as the highly acclaimed market leaders. This is why Shell is still the most popular tool for full-blown hackers.
Because many Linux systems are now also graphical desktop systems, this course also provides a comprehensive overview of shell scripting with graphical front-ends. This part is optional for a three-day course, which definitely needs to cover the basics of shell scripting, and is dependent on the rest of the course progression.
The course, together with Linux Administration II, prepares you for the LPI 102 exam.
-
Course Contents
-
- General information about shells
- From command to executable script
- Variables
- What variables are currently available?
- What can you do with them?
- System variables
- Creating variables
- Automatic variables
- Scope of variables
- How do variables get into the script?
- Declare
- Transfer
- Read
- Query values from the system
- What don't you need to program?
- Dynamic directories and their treasures
- Parsing program output
- Shell programming logic
- Tests and error levels
- If-then-else
- Single-line ifs
- case
- Accelerators: Loops
- for
- while/until
- Getting out of loops
- Shell functions
- Declaring functions
- Local variables
- Swapping shell libraries
- Arrays
- Arrays and lists
- Declaration and use
- Interaction with shell scripts
- Dialog
- Whiptail
- Graphical dialogs
- kdialog
- zenity and yad
- Regular expressions
- Overview
- Curly braces
- Character classes
- The crowbar: grep
- Other tools/facilitators
- sed
- awk
- Scripting into the network with ssh
- Remote login and remote administration
- Mass administration of computers
-
Target Group
-
This course is suitable for you if you want to make your work on the Linux system more efficient and sustainable.
This course is only partially a programming course. Programming here is a means by which we achieve system administration goals.
-
Knowledge Prerequisites
-
Participants should have a solid knowledge of Linux at the level of the LPI 101 exam, as can be acquired in the courses Linux Fundamentals and Linux Administration I.
General networking basics are recommended.
Programming knowledge is generally not required for this course. Although the syntax of the command line interpreter allows programming, many people believe that it is not a fully-fledged programming language. While this course targets a problem, you will learn the tools of the shell - yes-no queries, conditionals or multiple case distinctions - in an easy and understandable way.
1 Allgemeines über Shells |
1.1 Shells und Shellskripte |
1.2 Shelltypen |
1.3 Die Bourne-Again-Shell |
1.3.1 Das Wichtigste |
1.3.2 Login-Shells und interaktive Shells |
1.3.3 Dauerhafte Konfigurationsänderungen |
1.3.4 Tastatur-Belegung und Abkürzungen |
2 Shellskripte |
2.1 Einleitung |
2.2 Aufruf von Shellskripten |
2.3 Aufbau von Shellskripten |
2.4 Shellskripte planen |
2.5 Fehlertypen |
2.6 Fehlererkennung |
3 Die Shell als Programmiersprache |
3.1 Variable |
3.2 Arithmetische Ausdrücke |
3.3 Bearbeitung von Kommandos |
3.4 Kontrollstrukturen |
3.4.1 Überblick |
3.4.2 Der Rückgabewert von Programmen als Steuergröße |
3.4.3 Alternativen, Bedingungen und Fallunterscheidungen |
3.4.4 Schleifen |
3.4.5 Schleifenunterbrechung |
3.5 Shellfunktionen |
3.6 Das Kommando exec |
4 Praktische Shellskripte |
4.1 Shellprogrammierung in der Praxis |
4.2 Rund um die Benutzerdatenbank |
4.3 Dateioperationen |
4.4 Protokolldateien |
4.5 Systemadministration |
5 Interaktive Shellskripte |
5.1 Einleitung |
5.2 Das Kommando read |
5.3 Menüauswahl mit select |
5.4 »Grafische« Oberflächen mit dialog |
6 Der Stromeditor sed |
6.1 Einsatzgebiete |
6.2 Adressierung |
6.3 sed-Anweisungen |
6.3.1 Ausgeben und Löschen von Zeilen |
6.3.2 Einfügen und Verändern |
6.3.3 Zeichen-Transformationen |
6.3.4 Suchen und Ersetzen |
6.4 sed in der Praxis |
7 Die awk-Programmiersprache |
7.1 Was ist awk? |
7.2 awk-Programme |
7.3 Ausdrücke und Variable |
7.4 awk in der Praxis |
8 SQL |
8.1 Warum SQL? |
8.1.1 Überblick |
8.1.2 SQL einsetzen |
8.2 Tabellen definieren |
8.3 Datenmanipulation und Abfragen |
8.4 Relationen |
8.5 Praktische Beispiele |
9 Zeitgesteuerte Vorgänge – at und cron |
9.1 Allgemeines 9.2 Einmalige Ausführung von Kommandos |
9.2.1 at und batch |
9.2.2 at-Hilfsprogramme |
9.2.3 Zugangskontrolle |
9.3 Wiederholte Ausführung von Kommandos |
9.3.1 Aufgabenlisten für Benutzer |
9.3.2 Systemweite Aufgabenlisten |
9.3.3 Zugangskontrolle |
9.3.4 Das Kommando crontab |
9.3.5 Anacron |
10 Lokalisierung und Internationalisierung |
10.1 Überblick |
10.2 Zeichencodierungen |
10.3 Spracheneinstellung unter Linux |
10.4 Lokalisierungs-Einstellungen |
10.5 Zeitzonen |
11 Die Grafikoberfläche X11 |
11.1 Grundlagen |
11.2 X11 konfigurieren |
11.3 Displaymanager |
11.3.1 Grundlegendes zum Starten von X |
11.3.2 Der Displaymanager LightDM |
11.3.3 Andere Displaymanager |
11.4 Informationen anzeigen |
11.5 Der Schriftenserver |
11.6 Fernzugriff und Zugriffskontrolle |
12 Linux für Behinderte |
12.1 Einführung |
12.2 Tastatur, Maus und Joystick |
12.3 Die Bildschirmdarstellung |
A Musterlösungen |
B Reguläre Ausdrücke |
B.1 Überblick |
B.2 Extras |
C LPIC-1-Zertifizierung |
C.1 Überblick |
C.2 Prüfung LPI-102 |
C.3 LPI-Prüfungsziele in dieser Schulungsunterlage |
D Kommando-Index |
Index |
-
Classroom training
- Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!
-
Hybrid training
- Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.
-
Online training
- You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.
-
Tailor-made courses
-
You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.

-
The central tool for every Linux administrator is the shell. It is the ubiquitous command input line that works even when there is no graphical user interface. It also offers the most powerful command set in graphical environments. However, Linux newcomers in particular only use the potential of the shell to a limited extent. For example, procedures that always run in the same way can be combined into a simple script in no time at all. Starting with very simple examples, you will get a sound introduction to how you can create simple solutions yourself, e.g. to query system information from the running machine, and develop flexible scripts.
What cannot be retrieved from the machine can be passed into the scripts by the user using various methods. A powerful language syntax makes the shell a very interesting environment for system programming. Whether it is about evaluating states or the content of variables, whether processes are to be repeated in loops - the shell can keep up with any common scripting language. It is available on every Linux system without being dependent on version numbers to the same extent as the highly acclaimed market leaders. This is why Shell is still the most popular tool for full-blown hackers.
Because many Linux systems are now also graphical desktop systems, this course also provides a comprehensive overview of shell scripting with graphical front-ends. This part is optional for a three-day course, which definitely needs to cover the basics of shell scripting, and is dependent on the rest of the course progression.
The course, together with Linux Administration II, prepares you for the LPI 102 exam.
-
Course Contents
-
- General information about shells
- From command to executable script
- Variables
- What variables are currently available?
- What can you do with them?
- System variables
- Creating variables
- Automatic variables
- Scope of variables
- How do variables get into the script?
- Declare
- Transfer
- Read
- Query values from the system
- What don't you need to program?
- Dynamic directories and their treasures
- Parsing program output
- Shell programming logic
- Tests and error levels
- If-then-else
- Single-line ifs
- case
- Accelerators: Loops
- for
- while/until
- Getting out of loops
- Shell functions
- Declaring functions
- Local variables
- Swapping shell libraries
- Arrays
- Arrays and lists
- Declaration and use
- Interaction with shell scripts
- Dialog
- Whiptail
- Graphical dialogs
- kdialog
- zenity and yad
- Regular expressions
- Overview
- Curly braces
- Character classes
- The crowbar: grep
- Other tools/facilitators
- sed
- awk
- Scripting into the network with ssh
- Remote login and remote administration
- Mass administration of computers
-
Target Group
-
This course is suitable for you if you want to make your work on the Linux system more efficient and sustainable.
This course is only partially a programming course. Programming here is a means by which we achieve system administration goals.
-
Knowledge Prerequisites
-
Participants should have a solid knowledge of Linux at the level of the LPI 101 exam, as can be acquired in the courses Linux Fundamentals and Linux Administration I.
General networking basics are recommended.
Programming knowledge is generally not required for this course. Although the syntax of the command line interpreter allows programming, many people believe that it is not a fully-fledged programming language. While this course targets a problem, you will learn the tools of the shell - yes-no queries, conditionals or multiple case distinctions - in an easy and understandable way.
1 Allgemeines über Shells |
1.1 Shells und Shellskripte |
1.2 Shelltypen |
1.3 Die Bourne-Again-Shell |
1.3.1 Das Wichtigste |
1.3.2 Login-Shells und interaktive Shells |
1.3.3 Dauerhafte Konfigurationsänderungen |
1.3.4 Tastatur-Belegung und Abkürzungen |
2 Shellskripte |
2.1 Einleitung |
2.2 Aufruf von Shellskripten |
2.3 Aufbau von Shellskripten |
2.4 Shellskripte planen |
2.5 Fehlertypen |
2.6 Fehlererkennung |
3 Die Shell als Programmiersprache |
3.1 Variable |
3.2 Arithmetische Ausdrücke |
3.3 Bearbeitung von Kommandos |
3.4 Kontrollstrukturen |
3.4.1 Überblick |
3.4.2 Der Rückgabewert von Programmen als Steuergröße |
3.4.3 Alternativen, Bedingungen und Fallunterscheidungen |
3.4.4 Schleifen |
3.4.5 Schleifenunterbrechung |
3.5 Shellfunktionen |
3.6 Das Kommando exec |
4 Praktische Shellskripte |
4.1 Shellprogrammierung in der Praxis |
4.2 Rund um die Benutzerdatenbank |
4.3 Dateioperationen |
4.4 Protokolldateien |
4.5 Systemadministration |
5 Interaktive Shellskripte |
5.1 Einleitung |
5.2 Das Kommando read |
5.3 Menüauswahl mit select |
5.4 »Grafische« Oberflächen mit dialog |
6 Der Stromeditor sed |
6.1 Einsatzgebiete |
6.2 Adressierung |
6.3 sed-Anweisungen |
6.3.1 Ausgeben und Löschen von Zeilen |
6.3.2 Einfügen und Verändern |
6.3.3 Zeichen-Transformationen |
6.3.4 Suchen und Ersetzen |
6.4 sed in der Praxis |
7 Die awk-Programmiersprache |
7.1 Was ist awk? |
7.2 awk-Programme |
7.3 Ausdrücke und Variable |
7.4 awk in der Praxis |
8 SQL |
8.1 Warum SQL? |
8.1.1 Überblick |
8.1.2 SQL einsetzen |
8.2 Tabellen definieren |
8.3 Datenmanipulation und Abfragen |
8.4 Relationen |
8.5 Praktische Beispiele |
9 Zeitgesteuerte Vorgänge – at und cron |
9.1 Allgemeines 9.2 Einmalige Ausführung von Kommandos |
9.2.1 at und batch |
9.2.2 at-Hilfsprogramme |
9.2.3 Zugangskontrolle |
9.3 Wiederholte Ausführung von Kommandos |
9.3.1 Aufgabenlisten für Benutzer |
9.3.2 Systemweite Aufgabenlisten |
9.3.3 Zugangskontrolle |
9.3.4 Das Kommando crontab |
9.3.5 Anacron |
10 Lokalisierung und Internationalisierung |
10.1 Überblick |
10.2 Zeichencodierungen |
10.3 Spracheneinstellung unter Linux |
10.4 Lokalisierungs-Einstellungen |
10.5 Zeitzonen |
11 Die Grafikoberfläche X11 |
11.1 Grundlagen |
11.2 X11 konfigurieren |
11.3 Displaymanager |
11.3.1 Grundlegendes zum Starten von X |
11.3.2 Der Displaymanager LightDM |
11.3.3 Andere Displaymanager |
11.4 Informationen anzeigen |
11.5 Der Schriftenserver |
11.6 Fernzugriff und Zugriffskontrolle |
12 Linux für Behinderte |
12.1 Einführung |
12.2 Tastatur, Maus und Joystick |
12.3 Die Bildschirmdarstellung |
A Musterlösungen |
B Reguläre Ausdrücke |
B.1 Überblick |
B.2 Extras |
C LPIC-1-Zertifizierung |
C.1 Überblick |
C.2 Prüfung LPI-102 |
C.3 LPI-Prüfungsziele in dieser Schulungsunterlage |
D Kommando-Index |
Index |
-
Classroom training
- Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!
-
Hybrid training
- Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.
-
Online training
- You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.
-
Tailor-made courses
-
You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
