Bestehen der Studienleistung ist Voraussetzung für die Klausurteilnahme!
Wir haben keine Telegram-Gruppe!
Die Fachschaft Informatik hat aber ggf. eine in der wir nicht sind.
Für verbindliche Antworten gibt es den Matrix-Helpdesk
Diese Eigenschaften machen (u.a.) einen UNIX-Account aus:
Live Demo
<Backspace> / <Ctrl>+U
)<Ctrl>+S / <Ctrl>+Q
)<Ctrl>+C / <Ctrl>+Z
)<Ctrl>+D
)<Ctrl>+L
)stty(1)
) ausgegeben und verändert werdenAuf deutschen Tastaturen: <Strg> statt <Ctrl>
chsh(1)
Aufrufe von UNIX-Kommandos bestehen aus …
/bin/ls
PATH
stehen alle Pfade, in denen nach Kommandos gesucht werden sollPATH
werden durch einen Doppelpunkt : getrenntls
schreiben statt /bin/ls
Aufrufe von UNIX-Kommandos bestehen aus …
printf(1)
vs. printf(3)
printf(3)
cd
— change directory: Verzeichnis wechseln:
.
aktuelles Verzeichnis..
übergeordnetes Verzeichnis-
Verzeichnis, in dem man vor der letzten Navigation warcd
ist im Terminal integriert und daher kein “Programm” im eigentlichen Sinne
Wie navigiere ich vom aktuellen Verzeichnis in ein Verzeichnis eine Ebene über mir mit dem Namen “Projekte”?
$> cd ../Projekte
$> cd ./Projekte
$> cd ./../Projekte
$> cd .././Projekte
ls
— list: Verzeichnis auflisten:
-l
langes Ausgabeformat-a
listet auch mit .
beginnende Dateien und Verzeichnissels ist tatsächlich ein Programm: which ls
vs. which cd
Wie kann ich mir detailiert alles im aktuellen Verzeichnis auflisten lassen?
$> ls
$> ls -l -a .
$> ll
$> ls -la
ls
ist das aktuelle Verzeichnis.pwd
— print working directory: Aktuelles Verzeichnis ausgeben:
pwd
~
zum Heimverzeichnis expandiert: cd ~/Downloads
navigiert also z.B. zu /home/nutzer/Downloads
./
ist die Wurzel eures Dateisystems.chmod
— change mode Rechte einer Datei änderncp
— copy Datei(en) kopierenmv
— move Dateien(en) bewegen oder umbenennenln
— link Dateiverknüpfung erstellenln -s
Symbolische Dateiverknüpfung erstellenrm
— remove Datei(en) löschenmkdir
— make directory Verzeichnis erzeugenrmdir
— remove directory Verzeichnis löschenid
, groups
eigene Benutzer-ID, Gruppenzugehörigkeitwho
am Rechner angemeldete Benutzergetuid(2)
gibt die Nutzer-ID zurück (C-Programmschnittstelle)getgid(2)
gibt die Hauptgruppen-ID zurück (C-Schnittstelle)… und weitere! Alle Funktionen der C-Standardbibliothek besitzen einen Handbucheintrag.
ps
— process snapshot Prozessliste ausgeben
-u [name]
Suche auf Nutzer beschränken-e
everything - zeigt hingegen alles antop
— table of processes Prozesstabelle anzeigen
-o [heading]
Tabellensortierung vorgebenhtop
kill [pid]
Prozess zum terminieren auffordern 🙏
-9
Signal 9 senden: Prozess 💀 töten 💀kill
ohne -9
erlaubt geregelte Prozessbeendigung
kill
mit -9
löscht den Prozess sofort
cat
— concatenate Dateien hintereinander ausgebenless
— opposite of more
Dateien bildschirmweise ausgebenhead, tail
Anfang/Ende einer Datei ausgeben (10 Zeilen)cal
— calendar Kalender im Terminal anzeigenwc
— word count Zeilen, Wörter und Zeichen zählengrep, fgrep, egrep
Nach bestimmten Mustern o. Wörtern suchenfind
nach Dateien suchengeneral regular expression and print
kommando > datei
Redirection – Ausgabe wird in eine Datei umgeleitetkommandoA | kommandoB
Pipeline – Ausgabe wird zur Eingabe des Folgekommandosgrep Markus Studis.csv | cut -d , -f 2
sh(1)
Geschmackssache — aber einen solltet ihr beherrschen:
-Wall
alle Warnungen ausgeben-o <Ziel>
Name für ausführbare Datei-std=c17 -Werror -ansi -Wpedantic -D_POSIX_SOURCE
-Werror
übersetzen.Nicht behandelte Warnungen behandeln wir als Fehler!
Wie sind eure Erfahrungen mit C(++)?
Braucht ihr in dieser Gruppe eine C-Einführung?
Live Demo
Welche Aussage über Terminal und Shell stimmen?
Welcher der Folgenden Befehle gibt eine lange Textdatei vollständig aus?
head datei
top datei
cat datei
tail datei
Wie werden Kommandos auf dem System gefunden?
bin
heißen.PATH
durchsucht.BIN
durchsucht.Mit welchem Sonderzeichen kann man ein laufendes Programm direkt abbrechen?
<Ctrl>+<Backspace>
<Ctrl>+S
<Ctrl>+C
<Ctrl>+V
Falls ihr noch keine Dreiergruppe habt ist jetzt ein guter Moment, um eine zu suchen.