This commit is contained in:
Christoph J. Scherr 2024-05-02 15:20:14 +02:00
parent ef069bfe53
commit 37bbe98da4
1 changed files with 60 additions and 2 deletions

View File

@ -3,116 +3,171 @@
Geben Sie ein Kommando an, mit dem Sie ... Geben Sie ein Kommando an, mit dem Sie ...
1. Handbuchseiten („man pages“) öffnen können. 1. Handbuchseiten („man pages“) öffnen können.
man man
2. das aktuelle Verzeichnis in der Shell ausgeben können. 2. das aktuelle Verzeichnis in der Shell ausgeben können.
pwd pwd
3. ein neues Verzeichnis erzeugen können. 3. ein neues Verzeichnis erzeugen können.
mkdir mkdir
4. in ein Verzeichnis wechseln können. 4. in ein Verzeichnis wechseln können.
cd, uvm cd, uvm
5. den Inhalt eines Verzeichnisses in der Shell ausgeben können. 5. den Inhalt eines Verzeichnisses in der Shell ausgeben können.
ls ls
6. eine leere Datei erzeugen können. 6. eine leere Datei erzeugen können.
touch touch
7. versuchen können den Inhalt einer Datei zu bestimmen. 7. versuchen können den Inhalt einer Datei zu bestimmen.
file file
8. den Inhalt verschiedener Dateien verknüpfen oder den Inhalt einer Datei ausgeben können. 8. den Inhalt verschiedener Dateien verknüpfen oder den Inhalt einer Datei ausgeben können.
ln, cat ln, cat
9. Zeilen vom Ende einer Datei in der Shell ausgeben können. 9. Zeilen vom Ende einer Datei in der Shell ausgeben können.
tail tail
10. Zeilen vom Anfang einer Datei in der Shell ausgeben können. 10. Zeilen vom Anfang einer Datei in der Shell ausgeben können.
head head
11. Dateien oder Verzeichnisse an eine andere Stelle kopieren können. 11. Dateien oder Verzeichnisse an eine andere Stelle kopieren können.
cp cp
12. Dateien oder Verzeichnisse an eine andere Stelle verschieben können. 12. Dateien oder Verzeichnisse an eine andere Stelle verschieben können.
mv mv
13. Dateien oder Verzeichnisse löschen können. 13. Dateien oder Verzeichnisse löschen können.
rm rm
14. ein leeres Verzeichnis löschen können. 14. ein leeres Verzeichnis löschen können.
rmdir rmdir
15. eine Zeichenkette in der Shell ausgeben können. 15. eine Zeichenkette in der Shell ausgeben können.
echo, cat echo, cat
16. die Dateirechte von Dateien oder Verzeichnissen ändern können. 16. die Dateirechte von Dateien oder Verzeichnissen ändern können.
chmod chmod
17. Das Password eines Benutzers ändern können. 17. Das Password eines Benutzers ändern können.
passwd passwd
18. die laufende Sitzung (und damit auch die Shell) beenden und den Rückgabewert eines Shell- Skripts festzulegen können. 18. die laufende Sitzung (und damit auch die Shell) beenden und den Rückgabewert eines Shell- Skripts festzulegen können.
exit exit
19. das System neu starten können. 19. das System neu starten können.
reboot reboot
20. das System ausschalten können. 20. das System ausschalten können.
shutdown [now|90] shutdown [now|90]
21. einen neuen Benutzer erstellen können. 21. einen neuen Benutzer erstellen können.
useradd,adduser useradd,adduser
22. einen Benutzer löschen können. 22. einen Benutzer löschen können.
userdel userdel
23. einen Benutzer ändern können. 23. einen Benutzer ändern können.
usermod usermod
24. die Gruppenzugehörigkeiten des Benutzers ausgeben können. 24. die Gruppenzugehörigkeiten des Benutzers ausgeben können.
groups $USER groups $USER
25. eine neue Gruppe erstellen können. 25. eine neue Gruppe erstellen können.
groupadd groupadd
26. eine Gruppe löschen können. 26. eine Gruppe löschen können.
groupdel groupdel
27. eine Gruppe ändern können. 27. eine Gruppe ändern können.
groupmod groupmod
28. den Benutzer (⇒ Besitzer) ändern können, der einer Datei oder einem Verzeichnis zugeordnet ist. 28. den Benutzer (⇒ Besitzer) ändern können, der einer Datei oder einem Verzeichnis zugeordnet ist.
chown chown
29. die Gruppe ändern können, die einer Datei oder einem Verzeichnis zugeordnet ist. 29. die Gruppe ändern können, die einer Datei oder einem Verzeichnis zugeordnet ist.
chown chown
30. einen „Link“ erstellen können. 30. einen „Link“ erstellen können.
ln ln
31. eine Datei nach den Zeilen durchsuchen können, die ein Suchmuster enthalten? 31. eine Datei nach den Zeilen durchsuchen können, die ein Suchmuster enthalten?
grep, rg, awk grep, rg, awk
32. eine Liste der laufenden Prozesse in der Shell ausgeben können. 32. eine Liste der laufenden Prozesse in der Shell ausgeben können.
ps [axu] ps [axu]
33. einen im Hintergrund der Shell laufenden Prozess in den Vordergrund holen können. 33. einen im Hintergrund der Shell laufenden Prozess in den Vordergrund holen können.
fg fg
34. einen Prozess in den Hintergrund der Shell verschieben können. 34. einen Prozess in den Hintergrund der Shell verschieben können.
bg bg
35. einen Prozess beenden können. 35. einen Prozess beenden können.
kill kill
36. eine Gruppe von Prozessen beenden können. 36. eine Gruppe von Prozessen beenden können.
killall killall
37. die Priorität eines neuen Prozesses festlegen können. 37. die Priorität eines neuen Prozesses festlegen können.
nice nice
38. die Priorität eines existierenden Prozesses ändern können. 38. die Priorität eines existierenden Prozesses ändern können.
renice renice
39. eine Liste der existierenden Prozesse als Baumstruktur in der Shell ausgeben können. 39. eine Liste der existierenden Prozesse als Baumstruktur in der Shell ausgeben können.
pstree pstree
# 2 Dateien und Verzeichnisse # 2 Dateien und Verzeichnisse
1. Erzeugen Sie in Ihrem Benutzerverzeichnis (Home-Verzeichnis) ein Verzeichnis BTS. 1. Erzeugen Sie in Ihrem Benutzerverzeichnis (Home-Verzeichnis) ein Verzeichnis BTS.
cd ; mkdir BTS cd ; mkdir BTS
2. Wechseln Sie in das Verzeichnis BTS und erzeugen Sie darin eine leere Datei mit dem Dateinamen Datei1.txt (Verwenden Sie zum Anlegen der Datei keinen Editor, sondern einen Kommandozeilenbefehl). 2. Wechseln Sie in das Verzeichnis BTS und erzeugen Sie darin eine leere Datei mit dem Dateinamen Datei1.txt (Verwenden Sie zum Anlegen der Datei keinen Editor, sondern einen Kommandozeilenbefehl).
cd BTS; touch Datei1.txt cd BTS; touch Datei1.txt
3. Überprüfen Sie die Dateigröße der Datei Datei1.txt. 3. Überprüfen Sie die Dateigröße der Datei Datei1.txt.
du -hs Datei1.txt du -hs Datei1.txt
4. Ändern Sie die Modifikationszeit der Datei Datei1.txt auf Ihr Geburtsdatum. 4. Ändern Sie die Modifikationszeit der Datei Datei1.txt auf Ihr Geburtsdatum.
touch -t 200302130740.00 Datei1.txt touch -t 200302130740.00 Datei1.txt
5. Erzeugen Sie auf der Shell eine neue Datei Datei2.txt und fügen Sie in die neue Datei einen beliebigen mehrzeiligen Text als Inhalt ein (Verwenden Sie für das Einfügen des Textes keinen Editor, sondern einen Kommandozeilenbefehl). 5. Erzeugen Sie auf der Shell eine neue Datei Datei2.txt und fügen Sie in die neue Datei einen beliebigen mehrzeiligen Text als Inhalt ein (Verwenden Sie für das Einfügen des Textes keinen Editor, sondern einen Kommandozeilenbefehl).
cat /etc/passwd > Datei2.txt cat /etc/passwd > Datei2.txt
6. Geben Sie die erste Zeile der Datei Datei2.txt aus. 6. Geben Sie die erste Zeile der Datei Datei2.txt aus.
head -n 1 Datei2.txt head -n 1 Datei2.txt
7. Hängen den Inhalt von Datei2.txt an Datei1.txt an (Verwenden keinen Editor, sondern einen Kommandozeilenbefehl). 7. Hängen den Inhalt von Datei2.txt an Datei1.txt an (Verwenden keinen Editor, sondern einen Kommandozeilenbefehl).
cat Datei2.txt >> Datei1.txt cat Datei2.txt >> Datei1.txt
8. Erzeugen Sie in Ihrem Home-Verzeichnis ein Verzeichnis mit dem Verzeichnisnamen BS_Vorlesung. 8. Erzeugen Sie in Ihrem Home-Verzeichnis ein Verzeichnis mit dem Verzeichnisnamen BS_Vorlesung.
cd ; mkdir BS_Vorlesung cd ; mkdir BS_Vorlesung
9. Kopieren Sie die Dateien Datei1.txt und Datei2.txt aus dem Verzeichnis BTS in das Verzeichnis BS_Vorlesung. 9. Kopieren Sie die Dateien Datei1.txt und Datei2.txt aus dem Verzeichnis BTS in das Verzeichnis BS_Vorlesung.
cp ~/BTS/Datei*.txt . cp ~/BTS/Datei*.txt .
10. Löschen Sie das Verzeichnis BTS. 10. Löschen Sie das Verzeichnis BTS.
rm -r ~/BTS rm -r ~/BTS
# 3 Schreiben Sie ein C-Programm hello.c, das „Hello, World“ in die Standardausgabe ausgibt. # 3 Schreiben Sie ein C-Programm hello.c, das „Hello, World“ in die Standardausgabe ausgibt.
See [../../src/hello.c] See [hello.c](../../src/hello.c)
# 4 Argumente # 4 Argumente
Schreiben Sie ein C-Programm args.c, das die Argumente der Kommandozeile in der Standausgabe ausgibt. Schreiben Sie ein C-Programm args.c, das die Argumente der Kommandozeile in der Standausgabe ausgibt.
See [../../src/args.c] See [args.c](../../src/args.c)
# 5 Translate # 5 Translate
@ -126,3 +181,6 @@ Argument set1 gefunden wird, bleibt der Buchstabe unverändert. Falls der
Buchstabe im Argument set1 an der i- ten Stelle zum ersten Mal auftritt, Buchstabe im Argument set1 an der i- ten Stelle zum ersten Mal auftritt,
wird der Buchstabe durch den Buchstabe an der i-ten Stelle des Arguments wird der Buchstabe durch den Buchstabe an der i-ten Stelle des Arguments
set2 ersetzt. set2 ersetzt.
See [translate.c](../../src/translate.c)