From ef069bfe533f4e45c258d4df61f0cfb4759a7aa2 Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Thu, 2 May 2024 15:19:14 +0200 Subject: [PATCH] progra tasks (part 1) --- .gitignore | 1 + CMakeLists.txt | 2 + ex/progra/Aufgaben-V01.pdf | Bin 0 -> 42193 bytes ex/progra/v01.md | 128 +++++++++++++++++++++++++++++++++++++ src/args.c | 8 +++ src/translate.c | 17 +++++ 6 files changed, 156 insertions(+) create mode 100644 ex/progra/Aufgaben-V01.pdf create mode 100644 ex/progra/v01.md create mode 100644 src/args.c create mode 100644 src/translate.c diff --git a/.gitignore b/.gitignore index 9ced864..8966a11 100644 --- a/.gitignore +++ b/.gitignore @@ -234,3 +234,4 @@ CMakeCache.txt Makefile cmake_install.cmake bin +.cmake/api/v1/reply diff --git a/CMakeLists.txt b/CMakeLists.txt index c6d52f2..7e5d0de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,3 +6,5 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) include_directories(${PROJECT_SOURCE_DIR}) add_executable( hello src/hello.c ) +add_executable( args src/args.c ) +add_executable( translate src/translate.c ) diff --git a/ex/progra/Aufgaben-V01.pdf b/ex/progra/Aufgaben-V01.pdf new file mode 100644 index 0000000000000000000000000000000000000000..96bb751f11751cc1b46193ce7e806e52de1acf6b GIT binary patch literal 42193 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 literal 0 HcmV?d00001 diff --git a/ex/progra/v01.md b/ex/progra/v01.md new file mode 100644 index 0000000..60081b4 --- /dev/null +++ b/ex/progra/v01.md @@ -0,0 +1,128 @@ +# 1 + +Geben Sie ein Kommando an, mit dem Sie ... + +1. Handbuchseiten („man pages“) öffnen können. + man +2. das aktuelle Verzeichnis in der Shell ausgeben können. + pwd +3. ein neues Verzeichnis erzeugen können. + mkdir +4. in ein Verzeichnis wechseln können. + cd, uvm +5. den Inhalt eines Verzeichnisses in der Shell ausgeben können. + ls +6. eine leere Datei erzeugen können. + touch +7. versuchen können den Inhalt einer Datei zu bestimmen. + file +8. den Inhalt verschiedener Dateien verknüpfen oder den Inhalt einer Datei ausgeben können. + ln, cat +9. Zeilen vom Ende einer Datei in der Shell ausgeben können. + tail +10. Zeilen vom Anfang einer Datei in der Shell ausgeben können. + head +11. Dateien oder Verzeichnisse an eine andere Stelle kopieren können. + cp +12. Dateien oder Verzeichnisse an eine andere Stelle verschieben können. + mv +13. Dateien oder Verzeichnisse löschen können. + rm +14. ein leeres Verzeichnis löschen können. + rmdir +15. eine Zeichenkette in der Shell ausgeben können. + echo, cat +16. die Dateirechte von Dateien oder Verzeichnissen ändern können. + chmod +17. Das Password eines Benutzers ändern können. + passwd +18. die laufende Sitzung (und damit auch die Shell) beenden und den Rückgabewert eines Shell- Skripts festzulegen können. + exit +19. das System neu starten können. + reboot +20. das System ausschalten können. + shutdown [now|90] +21. einen neuen Benutzer erstellen können. + useradd,adduser +22. einen Benutzer löschen können. + userdel +23. einen Benutzer ändern können. + usermod +24. die Gruppenzugehörigkeiten des Benutzers ausgeben können. + groups $USER +25. eine neue Gruppe erstellen können. + groupadd +26. eine Gruppe löschen können. + groupdel +27. eine Gruppe ändern können. + groupmod +28. den Benutzer (⇒ Besitzer) ändern können, der einer Datei oder einem Verzeichnis zugeordnet ist. + chown +29. die Gruppe ändern können, die einer Datei oder einem Verzeichnis zugeordnet ist. + chown +30. einen „Link“ erstellen können. + ln +31. eine Datei nach den Zeilen durchsuchen können, die ein Suchmuster enthalten? + grep, rg, awk +32. eine Liste der laufenden Prozesse in der Shell ausgeben können. + ps [axu] +33. einen im Hintergrund der Shell laufenden Prozess in den Vordergrund holen können. + fg +34. einen Prozess in den Hintergrund der Shell verschieben können. + bg +35. einen Prozess beenden können. + kill +36. eine Gruppe von Prozessen beenden können. + killall +37. die Priorität eines neuen Prozesses festlegen können. + nice +38. die Priorität eines existierenden Prozesses ändern können. + renice +39. eine Liste der existierenden Prozesse als Baumstruktur in der Shell ausgeben können. + pstree + +# 2 – Dateien und Verzeichnisse + +1. Erzeugen Sie in Ihrem Benutzerverzeichnis (Home-Verzeichnis) ein Verzeichnis 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). + cd BTS; touch Datei1.txt +3. Überprüfen Sie die Dateigröße der Datei Datei1.txt. + du -hs Datei1.txt +4. Ändern Sie die Modifikationszeit der Datei Datei1.txt auf Ihr Geburtsdatum. + 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). + cat /etc/passwd > Datei2.txt +6. Geben Sie die erste Zeile der Datei Datei2.txt aus. + head -n 1 Datei2.txt +7. Hängen den Inhalt von Datei2.txt an Datei1.txt an (Verwenden keinen Editor, sondern einen Kommandozeilenbefehl). + cat Datei2.txt >> Datei1.txt +8. Erzeugen Sie in Ihrem Home-Verzeichnis ein Verzeichnis mit dem Verzeichnisnamen 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. + cp ~/BTS/Datei*.txt . +10. Löschen Sie das Verzeichnis BTS. + rm -r ~/BTS + +# 3 – Schreiben Sie ein C-Programm hello.c, das „Hello, World“ in die Standardausgabe ausgibt. + +See [../../src/hello.c] + +# 4 – Argumente + +Schreiben Sie ein C-Programm args.c, das die Argumente der Kommandozeile in der Standausgabe ausgibt. + +See [../../src/args.c] + +# 5 – Translate + +Schreiben Sie ein C-Programm translate.c, das Zeichenketten aus der +Standeingabe einliest und nach einer Übersetzung in der Standardausgabe +wieder ausgibt. Die Übersetzung wird durch zwei gleichlange Argumente der +Kommandozeile set1 und set2 definiert und geschieht wie folgt, für der jeden +Buchstaben der eingelesenen Zeichenketten wird in nachdem ersten Auftreten +des Buchstabens in dem Argumente set1 gesucht. Falls der Buchstabe nicht im +Argument set1 gefunden wird, bleibt der Buchstabe unverändert. Falls der +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 +set2 ersetzt. diff --git a/src/args.c b/src/args.c new file mode 100644 index 0000000..fd3a649 --- /dev/null +++ b/src/args.c @@ -0,0 +1,8 @@ +#include +int main(int argc, char *argv[]) +{ + for (int i=0;i +int main(int argc, char *argv[]) +{ + char* translator[2]; + if (argc != 3) { + printf("not enough arguments"); + return 1; + } + translator[0] = argv[1]; + translator[1] = argv[2]; + printf("translator0: %s\n", translator[0]); + printf("translator1: %s\n", translator[1]); + + // TODO: translate from stdin and print to stdout + + return 0; +}