Test_1
-
Sie können den Unterschied zwischen einem Skript und z.B. einem C-Programm erläutern¶
Vergleichstabelle¶
| Merkmal | Skript (z. B. Bash, Python) | C-Programm |
|---|---|---|
| Ausführung | Direkt (Interpreter) | Nach Kompilierung |
| Geschwindigkeit | Langsamer | Schneller |
| Flexibilität | Hoch | Niedriger |
| Einsatz | Automatisierung, einfache Aufgaben | Leistungsstarke Anwendungen |
| Lernen | Einfach | Schwieriger |
-
Skripte sind ideal für einfache Automatisierungen und schnelle Lösungen.
-
C-Programme sind besser für Anwendungen, die Effizienz und Geschwindigkeit erfordern.
-
Sie können Beispiele für den Einsatz von Skripts nennen¶
-
Automatische Backups – Sichert regelmäßig wichtige Dateien und Verzeichnisse.
-
System- und Netzwerküberwachung – Prüft CPU-Auslastung, Festplattenplatz oder Serververfügbarkeit.
-
Benutzer- und Rechteverwaltung – Erstellt oder verwaltet Benutzerkonten und setzt Berechtigungen.
-
Datei- und Textverarbeitung – Sortiert, filtert oder durchsucht große Mengen an Daten und Log-Dateien.
-
Software-Installation & Updates – Automatisiert das Installieren, Konfigurieren und Aktualisieren von Programmen.
-
Sie können das Vorgehen bei der Skriptentwicklung erläutern¶
-
Problem analysieren – Bestimmen, welche Aufgabe das Skript automatisieren oder lösen soll.
-
Ablauf planen – Erstellen eines groben Konzepts, z. B. mit einem Programmablaufplan (PAP) oder Struktogramm.
-
Skript schreiben – Implementieren des Codes in der gewählten Skriptsprache (z. B. Bash, Python).
-
Testen und Debuggen – Das Skript ausprobieren und Fehler beheben, um sicherzustellen, dass es korrekt funktioniert.
-
Dokumentation und Optimierung – Das Skript mit Kommentaren versehen, verbessern und ggf. anpassen.
-
Automatisierung und Wartung – Das Skript in den Arbeitsablauf integrieren und regelmäßig aktualisieren.
-
Sie kennen die graphischen Darstellungen PAP, Struktogramm.¶
1. Programmablaufplan (PAP)
-
Wird auch Flussdiagramm genannt.
-
Besteht aus Symbolen wie Start, Prozess, Entscheidung und Ende.
-
Zeigt den Ablauf eines Programms visuell mit Pfeilen.
-
Gut für einfache Visualisierung von Abläufen.
2. Struktogramm
-
Auch als Nassi-Shneiderman-Diagramm bekannt.
-
Zeigt die hierarchische Struktur eines Programms in rechteckigen Blöcken.
-
Enthält Blöcke für Anweisungen, Schleifen und Verzweigungen.
-
Wird oft zur detaillierten Programmplanung genutzt.
-
Sie können ein Struktogramm oder ein PAP gemäss Aufgabenbeschreibung erstellen (auf Papier)¶
-
Sie haben verstanden, wie in Linux Benutzerberechtigungen geregelt werden (rwx)¶
1. Syntax von chmod¶
- Modus: Kann symbolisch (u+rwx) oder numerisch (755) angegeben werden.
- Optionen:
-R(rekursiv für alle Unterordner & Dateien)-v(zeigt Änderungen an)-f(unterdrückt Fehlermeldungen)
2. Symbolischer Modus (Buchstaben)¶
Format: [Benutzerkategorie][Operator][Rechte]
- Benutzerkategorien:
u= Besitzer (user)g= Gruppe (group)o= Andere (others)a= Alle (u,g,ozusammen)- Operatoren:
+Rechte hinzufügen-Rechte entfernen=Rechte genau setzen- Rechte:
r= Lesenw= Schreibenx= Ausführen
Beispiele:
chmod u+rwx datei.txt→ Besitzer bekommt vollen Zugriffchmod g-w datei.txt→ Gruppe verliert Schreibrechtechmod a+x script.sh→ Alle dürfen die Datei ausführen
3. Numerischer Modus (Oktalzahlen)¶
Jede Ziffer steht für eine Benutzerkategorie:
chmod XYZ datei.txt
- X = Besitzer, Y = Gruppe, Z = Andere
- Zahlenwerte:
7= Lesen, Schreiben, Ausführen (4+2+1)6= Lesen, Schreiben (4+2)5= Lesen, Ausführen (4+1)4= Nur Lesen3= Schreiben, Ausführen (2+1)2= Nur Schreiben1= Nur Ausführen0= Keine Rechte
Beispiele:
chmod 777 datei.txt→ Jeder darf alleschmod 644 datei.txt→ Besitzer darf lesen & schreiben, andere nur lesenchmod 700 geheim.txt→ Nur Besitzer hat Zugriff
4. Wichtige Optionen¶
chmod -R 755 /pfad→ Setzt Rechte für alle Unterordner & Dateien-
chmod -v 644 datei.txt→ Zeigt die Änderungen an -
Sie können Benutzerberechtigungen gezielt setzen¶
-
Sie können die Bedeutung der Linuxverzeichnisse der obersten Ebene erläutern¶
| Verzeichnis | Bedeutung |
|---|---|
/ |
Root-Verzeichnis, Ausgangspunkt aller Daten. |
/bin |
Wichtige Programme wie ls, cp, rm. |
/sbin |
Systemadministrationsprogramme für root. |
/etc |
Konfigurationsdateien. |
/home |
Benutzerverzeichnisse. |
/root |
Root-Nutzer-Verzeichnis. |
/var |
Logs, temporäre Daten. |
/tmp |
Temporäre Dateien. |
/usr |
Programme, Bibliotheken. |
/lib, /lib64 |
Systembibliotheken. |
/boot |
Startdateien & Kernel. |
/dev |
Geräte-Dateien für Hardware. |
/mnt, /media |
Einhängepunkte für externe Datenträger. |
/opt |
Optionale Software. |
/proc |
Prozess- und Kernel-Informationen. |
/sys |
System- & Hardware-Informationen. |
/srv |
Daten für Server-Dienste. |
-
Sie können Verzeichnisse mit cd absolut und relativ wechseln¶
In Linux gibt es zwei Arten, Verzeichnisse mit cd zu wechseln:
1. Absoluter Pfad
- Beginnt immer mit
/und gibt den vollständigen Weg zum Verzeichnis an. - Beispiel: Wechsel zu
/home/user/Dokumente, unabhängig vom aktuellen Standort.
2. Relativer Pfad
- Bezieht sich auf das aktuelle Verzeichnis.
- Beispiel: Von
/home/useraus genügtcd Dokumente, um in/home/user/Dokumentezu wechseln.
Weitere wichtige Befehle:
cd ..→ Eine Ebene nach obencd ../../→ Zwei Ebenen nach obencd -→ Zum vorherigen Verzeichnis zurückkehren-
cd ~→ Direkt ins Home-Verzeichnis wechseln -
Sie können die Bash-Kommandos ls, cd, cp, mv, rm, touch, find, cat, head, tail, wc, grep, sort, cut, tr, mkdir, rmdir korrekt anwenden¶
| Befehl | Erklärung | Beispiel |
|---|---|---|
ls |
Listet Dateien und Verzeichnisse | ls -l (detaillierte Ansicht) |
cd |
Wechselt das Verzeichnis | cd /home/user |
cp |
Kopiert Dateien oder Verzeichnisse | cp datei.txt /ziel/ordner/ |
mv |
Verschiebt oder benennt Dateien um | mv alte.txt neue.txt |
rm |
Löscht Dateien oder Verzeichnisse | rm -r verzeichnis/ |
touch |
Erstellt eine leere Datei | touch neue_datei.txt |
find |
Sucht nach Dateien | find /home -name "test.txt" |
cat |
Zeigt den Inhalt einer Datei an | cat datei.txt |
head |
Zeigt die ersten Zeilen einer Datei | head -5 datei.txt |
tail |
Zeigt die letzten Zeilen einer Datei | tail -3 datei.txt |
wc |
Zählt Wörter, Zeilen oder Zeichen | wc -l datei.txt (Zeilen zählen) |
grep |
Sucht nach Textmustern | grep "Fehler" log.txt |
sort |
Sortiert Zeilen alphabetisch | sort namen.txt |
cut |
Schneidet bestimmte Spalten aus | cut -d"," -f1 datei.csv |
tr |
Ersetzt oder löscht Zeichen | `echo "text" |
mkdir |
Erstellt ein neues Verzeichnis | mkdir neues_verzeichnis |
rmdir |
Löscht ein leeres Verzeichnis | rmdir altes_verzeichnis |
-
Sie können die man-Pages verwenden um für die obigen Kommandos Hilfestellung zu erhalten¶
Man-Pages aufrufen¶
Um die Hilfe für einen Befehl anzuzeigen, verwendet man:
man [Befehl]
Beispiele:
man lszeigt die Dokumentation für denls-Befehl.man grepgibt eine ausführliche Beschreibung zugrep.
Navigation in man-Pages¶
- Pfeiltasten oder Bild↑/Bild↓ → Blättern
- Leertaste → Eine Seite weiter
- B → Eine Seite zurück
- /Suchbegriff → Suchen innerhalb der man-Page
- q → Beenden
Alternative Hilfe-Befehle¶
Befehl --help→ Zeigt eine kurze Übersicht über den Befehl (z. B.ls --help).-
info Befehl→ Gibt erweiterte Informationen (z. B.info grep) -
Sie können Ausgabe- und Eingabeumleitung und Pipes (auch in Kombination) korrekt anwenden¶
1. Ausgabeumleitung (>, >>)¶
Die Ausgabe eines Befehls kann in eine Datei umgeleitet werden.
>→ Überschreibt eine Datei>>→ Hängt die Ausgabe an eine Datei an
Beispiele:
ls > dateiliste.txt(Schreibt die Dateiliste indateiliste.txt, vorheriger Inhalt wird gelöscht.)echo "Hallo Welt" >> log.txt(Fügt "Hallo Welt" ans Ende vonlog.txt.)
2. Eingabeumleitung (<)¶
Ein Befehl kann Daten aus einer Datei als Eingabe verwenden.
Beispiel:
sort < namen.txt(Sortiert die Namen ausnamen.txtund gibt sie aus.)
3. Pipes (|)¶
Pipes verbinden die Ausgabe eines Befehls direkt mit der Eingabe eines anderen Befehls.
Beispiele:
ls -l | grep ".txt"(Zeigt nur.txt-Dateien aus derls -l-Liste.)cat datei.txt | wc -l(Zählt die Zeilen indatei.txt.)ps aux | sort -k4 -nr | head -5(Zeigt die 5 Prozesse mit dem höchsten Speicherverbrauch.)
4. Kombination von Umleitungen & Pipes¶
Man kann Pipes und Umleitungen kombinieren, um komplexe Befehle zu erstellen.
Beispiel:
ps aux | grep "firefox" > firefox_prozesse.txt(Speichert alle Firefox-Prozesse in einer Datei.)cat log.txt | grep "Fehler" | sort | uniq > fehlerberichte.txt(Sucht nach "Fehler", sortiert und entfernt doppelte Einträge, speichert infehlerberichte.txt.)