diff --git a/common/beamercolors.tex b/common/beamercolors.tex index 728a933cd451eab42fd535fdfd1d5a12b39cb401..d14176d3f0d3dd68f86a2efc02ee83920fee2507 100644 --- a/common/beamercolors.tex +++ b/common/beamercolors.tex @@ -1,10 +1,14 @@ +% disable shadows +\setbeamertemplate{blocks}[rounded][shadow=true] + % general beamer colors -\setbeamercolor{palette primary}{use=normal text,fg=normal text.bg,bg=uniblau!100} -\setbeamercolor{palette secondary}{use=normal text,fg=normal text.bg,bg=uniblau!90} -\setbeamercolor{palette tertiary}{use=normal text,fg=normal text.bg,bg=uniblau!80} -\setbeamercolor{palette quarternary}{use=normal text,fg=normal text.bg,bg=uniblau!70} +\newcommand{\installscheme}[1]{ +\setbeamercolor{palette primary}{use=normal text,fg=normal text.bg,bg=#1!100} +\setbeamercolor{palette secondary}{use=normal text,fg=normal text.bg,bg=#1!90} +\setbeamercolor{palette tertiary}{use=normal text,fg=normal text.bg,bg=#1!80} +\setbeamercolor{palette quarternary}{use=normal text,fg=normal text.bg,bg=#1!70} -\setbeamercolor{block title}{use=normal text,fg=normal text.bg,bg=uniblau!90} +\setbeamercolor{block title}{use=normal text,fg=normal text.bg,bg=#1!90} %\setbeamercolor{block title alerted}{use=alerted text,fg=alerted text.fg,bg=alerted text.fg!20!bg} %\setbeamercolor{block title example}{use=example text,fg=example text.fg,bg=example text.fg!20!bg} @@ -13,15 +17,16 @@ %\setbeamercolor{block body example}{parent=normal text,use=block title example,bg=block title example.bg!50!bg} % TOC colors -\setbeamercolor{section number projected}{use=normal text,bg=uniblau,fg=normal text.bg} +\setbeamercolor{section number projected}{use=normal text,bg=#1,fg=normal text.bg} \setbeamercolor{section in toc}{use=normal text,fg=normal text.fg} \setbeamertemplate{section in toc}[square] % bullet point colors -\setbeamercolor{item}{fg=uniblau!90} +\setbeamercolor{item}{fg=#1!90} \setbeamertemplate{itemize item}[triangle] \setbeamertemplate{itemize subitem}[square] \setbeamertemplate{enumerate item}[default] +} % Für alles andere kann man das Beamer Manual befragen: % https://mirror.dogado.de/tex-archive/macros/latex/contrib/beamer/doc/beameruserguide.pdf diff --git a/common/colors.tex b/common/colors.tex index 68905f8b3e9204818a2f674d7a933e331c2308a5..3a01c4583d8c67126a186ec3b73ec23f099a4356 100644 --- a/common/colors.tex +++ b/common/colors.tex @@ -11,6 +11,7 @@ \definecolor{ExampleBlockTitleFg}{rgb}{0,0.50196078431372549020,0} \definecolor{MiddleGreen}{rgb}{0.22941176470588237, 0.65941176470588236, 0.0} \definecolor{uniblau}{rgb}{0,.255,.443} +\definecolor{unirosa}{rgb}{.433,.0,.255} \definecolor{stdin}{rgb}{0.22941176470588237, 0.65941176470588236, 0.0} \definecolor{stdout}{rgb}{0.101960784314,0.611764705882,0.717647058824} diff --git a/common/helpers.tex b/common/helpers.tex index 633ac10a225c7fa92cb9b2edfe0126befd2b07c9..22ded6645290a8a7689d84c491e71cb29354503c 100644 --- a/common/helpers.tex +++ b/common/helpers.tex @@ -14,3 +14,7 @@ }{ \end{block} } + +\newcommand{\prompt}[2][]{\begin{terminal}{#1}\texttt{\$ #2}\end{terminal}} + +\renewcommand{\emph}{\structure} \ No newline at end of file diff --git a/common/packages.tex b/common/packages.tex index 56d1a82bbd66e3055dbd63628335efb13c9c7ec6..b1e970c87f4cfe724a6716955dff3b3334d7d040 100644 --- a/common/packages.tex +++ b/common/packages.tex @@ -1,6 +1,7 @@ \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata} \usepackage{pgfheaps,pgfshade} +\usepackage{microtype} \usepackage{amsmath,amssymb} \usepackage{exscale} @@ -16,3 +17,5 @@ \usepackage{fancyhdr} \usepackage{wasysym} \usepackage[normalem]{ulem} +\usepackage{textcomp} + diff --git a/tag1/vorlesung/allgemein.tex b/tag1/vorlesung/allgemein.tex index 0b38f9e32e4f14cafcaee1049f4a3eca4778a825..b360004fe4d6f05a2b869eb1397e6818b68bce41 100644 --- a/tag1/vorlesung/allgemein.tex +++ b/tag1/vorlesung/allgemein.tex @@ -103,115 +103,55 @@ %\end{frame} \begin{frame}{\insertsection}{Linux -- was ist das?} - \begin{itemize} - \item Eigentlich nur ein Betriebssystemkern - \item Üblicherweise kombiniert mit Standardwerkzeugen aus dem GNU-Projekt - \begin{itemize} - \item Deshalb auch \emph{GNU\,/\,Linux} genannt - \item Geht aber auch anders, z.\,B. Android - \end{itemize} - \item \emph{Unix-artiges} Betriebssystem - \begin{itemize} - \item Ursprüngliches Unix heutzutage nicht mehr relevant - \item Heutige \enquote{Verwandte}: BSD, Mac OS X - \end{itemize} - \end{itemize} -\end{frame} + \begin{center} + \emph{Linux} ist eine grundlegende Komponente von \emph{freien und + offenen} Betriebsystemen, neben anderen wie Fensterverwaltung + oder Arbeitsprogrammen. + + \pause{} Das gesamte Paket wird \emph{``Distribution''} genannt + (bspw. ``Debian'', ``Ubuntu'', ``Fedora'', ``OpenSuSe'', \dots{}). -\begin{frame}{\insertsection}{Linux-Distributionen} - \begin{columns} - \begin{column}{0.6\textwidth} - \begin{itemize} - \item Meistens meint man mit \emph{Linux} eine Zusammenstellung von: - \begin{itemize} - \item Betriebssystem - \item (Arbeits-)Programmen - \item Benutzeroberfläche - \end{itemize} - \item Diese \emph{Linux-Distributionen} haben eigene Namen und - Versionsnummern, z.\,B.: - \begin{itemize} - \item \includegraphics[height=11mm]{images/debian}~(hier im CIP - installiert) \vspace{2mm} - \item \includegraphics[height=3mm]{images/ubuntu} \vspace{2mm} - \item \includegraphics[height=8mm]{images/opensuse} \vspace{2mm} - \item \includegraphics[height=4mm]{images/gentoo}~Gentoo \vspace{2mm} - \item ... - \end{itemize} - \end{itemize} - \end{column} - \begin{column}{0.4\textwidth} - \includegraphics[width=\columnwidth]{images/linux-distro} - \end{column} - \end{columns} + \pause{} Linux teilt ein technisches Erbe mit vielen anderen + Betriebsystemen aus der \emph{\textsc{Unix}}-Familie wie macOS + oder Android, und viel Wissen lässt sich übertragen. + \end{center} \end{frame} \begin{frame}{\insertsection}{Wie schaut's im CIP aus?} - {\large CIP-Pools im Blauen Hochhaus:}\vspace{0.4cm} \\ - -\begin{columns} - \begin{column}{0.5\textwidth} + \structure{CIP-Pools im Blauen Hochhaus:} + \\[0.4cm] +\begin{columns}[c] + \begin{column}{0.4\textwidth} \begin{itemize} - \item Linux-Arbeitsrechner \vspace{0.09cm} - \item Drucker \vspace{0.09cm} - \item Farbdrucker-Scanner-Multifunktions-Monster\\ (im CIP~2) + \item Linux-Arbeitsrechner + \item Drucker + \item Farbdrucker+Scanner im CIP~2 \end{itemize} \end{column} - \begin{column}{0.45\textwidth}\vspace{0.7cm} + \begin{column}{0.55\textwidth} \includegraphics[width=\textwidth]{images/cippool.jpg} \end{column} \end{columns} \end{frame} -\begin{frame}{\insertsection}{Warnung!} - \begin{center} - \includegraphics[height=54mm]{images/ford} \\ - \textcolor{red}{\huge Essen und Trinken verboten! \vspace{1mm} \\ - (Loginentzug droht)} - \end{center} -\end{frame} - -\begin{frame}{\insertsection}{Window-Manager -- XFCE} - \begin{columns}[T] - \begin{column}{74mm} - \begin{block}{Window-Manager} - Bestimmt Aussehen und Verhalten der graphischen Oberfläche - \end{block} - \pause - \begin{block}{\hspace{6mm} - \includegraphics[height=12mm]{images/xfce-logo.png}}%TODO XFCE - \begin{itemize} - \item Gut geeignet für den Einstieg - \item Thunar (Dateimanager) - \item Webbrowser - \item \emph{System}-Menü zur Konfiguration - \item Übersichtliche schlanke Oberfläche - \end{itemize} - \end{block} - \end{column} - \begin{column}{36mm} - \includegraphics[height=180pt]{images/xfce-menu} - \end{column} - \end{columns} -\end{frame} - -\begin{frame}{\insertsection}{Graphische Benutzeroberfläche} - \begin{itemize} - \item Intuitive Bedienung (\enquote{ähnlich wie unter Windows}) - \item In der Standardeinstellung komplett auf englisch -- aber das - solltet ihr alle können\ldots - \item Wir trauen euch zu, dass ihr selbstständig zurecht kommt \smiley - \item Daher: in diesem Kurs Konzentration auf Befehlszeile \& Co. - \end{itemize} - \vspace{4ex} - \pause - \begin{block}{Gibt's trotzdem Probleme?} - Universeller Lösungsalgorithmus: \url{https://xkcd.com/627/} - \end{block} +\begin{frame}{\insertsection}{Etiquette im CIP} + \begin{itemize}[<+->] + \item CIPs sind Arbeitsräume -- nicht zu laut sein! + \item Achtsam mit der Hardware (und Software) umgehen. + \item Beim Verlassen des Arbeitsplatzes Bildschirm sperren. + \item Bei Problemen keine Angst haben sich umzufragen -- Studenten + helfen einander gerne. + \item Essen und Trinken verboten! \textcolor{red}{(Loginentzug droht)} + \end{itemize} \end{frame} -\begin{frame}{\insertsection}{Bildschirm sperren und abmelden} - \begin{center} - \includegraphics[height=75mm]{images/xfce-2015-lock} - \end{center} +\begin{frame}{\insertsection}{Graphische Benutzeroberfläche, nichts + neues\dots{}} + \centering{} + \includegraphics[ + height=0.7\textheight, + keepaspectratio + ]{images/xfce-desktop.png} + \pause + \\\dots{} bis auf das kleine schwarze Fenster: \structure{Ein Terminal}. \end{frame} diff --git a/tag1/vorlesung/gliederung.tex b/tag1/vorlesung/gliederung.tex index 5bde69784dc625173f44c5f7645e69c5f06c62a9..73720be4b726e20c1f6ada0e7f916e42d86b47c2 100644 --- a/tag1/vorlesung/gliederung.tex +++ b/tag1/vorlesung/gliederung.tex @@ -1,25 +1,44 @@ +\installscheme{uniblau} \frame{\titlepage} \input{allgemein.tex} \input{intro-cli.tex} \input{terminal.tex} + +% dieser Abschnitt soll nicht vorgelesen werden, um das anzudeuten +% werden ein paar Farben umgeschrieben. +\installscheme{unirosa} +\frame{ + \centering\scshape\itshape\rmfamily\Large + Die nun folgende, \textcolor{unirosa}{Rosa} hervorgehobenen Folien wurden alle während + des Vortrags übersprungen, und mit einem praktischem Teil ersetzt. + Dieser Abschnitt kann aber dennoch im Selbststudium als Referenz + genutzt werden. +} + \input{befehl-aufbau.tex} \input{moving-around.tex} \input{ls.tex} \input{befehl-wiederholen.tex} \input{elementare-befehle.tex} \input{wildcards.tex} -\input{drucken.tex} - -\begin{frame}{Fragen?} - \vspace*{\fill} - \begin{center} - \includegraphics[width=7cm]{images/42.pdf} - \end{center} - \vspace*{\fill} -\end{frame} +% Setze die Farben nach diesem Abschnitt zurück. +\installscheme{uniblau} +% \input{drucken.tex} + +% \begin{frame}{Fragen?} +% \vspace*{\fill} +% \begin{center} +% \includegraphics[ +% height=0.7\textheight, +% width=0.7\textwidth, +% keepaspectratio +% ]{images/xkcd-627.png} +% \end{center} +% \vspace*{\fill} +% \end{frame} % \begin{frame}{Restprogramm} % \begin{block}{Mittagspause} @@ -39,12 +58,11 @@ % \end{frame} \begin{frame}{Referenzen} - \begin{block}{Referenzen} - \small - \begin{itemize} - \item \url{https://en.flossmanuals.net/command-line} - \item \url{https://fsi.cs.fau.de/linuxkurs} - \end{itemize} - \end{block} + \centering{} + \begin{itemize} + \item \url{https://fsi.cs.fau.de/linuxkurs} + \item \href{https://www.man7.org/linux/man-pages/man1/intro.1.html}{intro(1)} + \item \url{https://explainshell.com/} + \end{itemize} \end{frame} diff --git a/tag1/vorlesung/images/decwriter.jpg b/tag1/vorlesung/images/decwriter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0d7ef806001182ca4ccacb6515cdf8182bafc5f Binary files /dev/null and b/tag1/vorlesung/images/decwriter.jpg differ diff --git a/tag1/vorlesung/images/lochkarte.jpg b/tag1/vorlesung/images/lochkarte.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b047886cbe2a9d9c52491c1aaa1619d8d5b2c52 Binary files /dev/null and b/tag1/vorlesung/images/lochkarte.jpg differ diff --git a/tag1/vorlesung/images/shell.jpg b/tag1/vorlesung/images/shell.jpg new file mode 100644 index 0000000000000000000000000000000000000000..97f7f0c678c5074a79ba0cdaf0398f4c5e3ec59d Binary files /dev/null and b/tag1/vorlesung/images/shell.jpg differ diff --git a/tag1/vorlesung/images/vt100.jpg b/tag1/vorlesung/images/vt100.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9bc744730b7a14b06db5908d8e04d461bfafde86 Binary files /dev/null and b/tag1/vorlesung/images/vt100.jpg differ diff --git a/tag1/vorlesung/images/wizard.jpg b/tag1/vorlesung/images/wizard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58133df3d8304c6bac810a666d3e4762f5f2ab7b Binary files /dev/null and b/tag1/vorlesung/images/wizard.jpg differ diff --git a/tag1/vorlesung/images/xfce-desktop.png b/tag1/vorlesung/images/xfce-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1fbd2b55f26636b331f6f067f1ddefbb7ebd30 Binary files /dev/null and b/tag1/vorlesung/images/xfce-desktop.png differ diff --git a/tag1/vorlesung/intro-cli.tex b/tag1/vorlesung/intro-cli.tex index 347456ce503d9233460cc605386e01b4d4496015..bcbeaf90540b87cee21661147caf7b81de2b0855 100644 --- a/tag1/vorlesung/intro-cli.tex +++ b/tag1/vorlesung/intro-cli.tex @@ -1,56 +1,21 @@ -% \section{Befehlszeile} +\section{Befehlszeile} -\begin{frame}{\insertsection}{Befehlszeile -- Warum?} +\begin{frame}[c]{\insertsection}{Befehlszeile -- Warum?} \begin{center} \includegraphics[height=5cm]{images/hello-terminal} \end{center} - Getippte Befehle anstelle graphischer Anwendungen. - - \vspace{2ex} - \textbf{Warum?! Ist das nicht ein riesiger Rückschritt?} -\end{frame} - -\begin{frame}{\insertsection}{Verkleinern eines Bildes} - Beispiel: Verkleinern eines Bildes - - \begin{enumerate} - \item Graphikprogramm aus dem Startmenü ausführen. - \item \emph{Datei $\to$ Öffnen} klicken. - \item Den richtigen Ordner suchen. - \item Die Bilddatei auswählen. - \item Im \emph{Bild}-Menü auf den Befehl \emph{Skalieren} klicken. - \item Die neue Größe eingeben. - \item \emph{Datei $\to$ Speichern unter} klicken. - \item Den neuen Dateinamen eingeben. - \end{enumerate} - - \vspace{-8ex} - \hspace{0.55\textwidth} - \includegraphics[height=44mm]{images/gimp} + \vfil{} + Selbst nach \emph{60 Jahren} immer noch beliebt und + viel Benutzt. Was macht es so interessant? \end{frame} -\begin{frame}{\insertsection}{Verkleinern eines Bildes} - Und auf der Befehlszeile? - - \vspace{4ex} - Wenn man erst einmal weiß wie, genügt ein Befehl\footnote{\texttt{\$} ist das - sogenannte \emph{Prompt}-Symbol und muss nicht mit eingetippt werden.}: - \begin{terminal}{} - {\tt \$ convert -resize 300 gnu.png gnu-klein.png} - \end{terminal} - - \vspace{2ex} - Und das kann man auch \textbf{mit einem einzigen Befehl} für 100 Dateien - durchführen! - - \pause - \vspace{4ex} - \begin{block}{} - \begin{itemize} - \item Zwar höhere Einarbeitungszeit\ldots - \item \ldots aber auf Dauer deutlich schneller! - \item und einfach auf anderen Rechnern im Netzwerk benutzbar - \item und automatisierbar! - \end{itemize} - \end{block} +\begin{frame}{\insertsection}{Beispiele für nützliche + \sout{Zaubersprüche} Befehle} + \prompt[Herunterladen eines Videos]{yt-dlp 'https://youtu.be/dQw4w9WgXcQ'} + \prompt[Umwandelen von Dateiformaten]{pandoc 'https://example.org/' -o example.docx} + \prompt[Extrahieren des Audio-Kanals aus einem Video]{ffmpeg -i video.avi sound.mp3} + % FIXME: Benutze kein -w, sondern bringe LaTeX dazu ^ und $ zu + % akzeptieren. + \prompt[Suchen nach Textmustern in Dateien]{grep -w 'Li.*x' /usr/share/dict/words} + \prompt[Installieren von Anwendungen]{apt install blender vlc} \end{frame} diff --git a/tag1/vorlesung/terminal.tex b/tag1/vorlesung/terminal.tex index 13c2bc0eaa0d91c04bb747dc59920e1d4994ed07..34f0456e974f5ba46e9a4b0c834e9b4037375339 100644 --- a/tag1/vorlesung/terminal.tex +++ b/tag1/vorlesung/terminal.tex @@ -1,28 +1,77 @@ \section{Terminal} -\begin{frame} - \frametitle{Terminal} - Und wo kann ich diese Befehle eingeben? \\[2ex] - Das passende Programm von XFCE, der Standard-Desktop-Umgebung im CIP, heißt - \textit{Terminal}: - \begin{center} - \includegraphics[height=6cm]{images/xfce-2015-term} - \end{center} +\begin{frame}{Geschiche im Kontext} + \begin{columns}[c] + \begin{column}{0.45\textwidth} + \begin{itemize} + \item<1-> Frühe Systeme Setzen auf \emph{Lochkarten} + \item<2-> Interaktiver gebraucht mit \emph{Fernschreibern} ermöglicht + \item<3-> \emph{Video-Terminals} ermöglichen mehr Funktionalitäten + \item<4-> Bis auch diese ersetzt aber \emph{emuliert} werden, + stammt aller historischen Eigenartigkeiten + \end{itemize} + \end{column} + \begin{column}{0.5\textwidth} + \centering{} + \only<1>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/lochkarte} + } + \only<2>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/decwriter} + } + \only<3>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/vt100} + } + \only<4>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/hello-terminal} + } + \end{column} + \end{columns} \end{frame} -\begin{frame} - \frametitle{Terminal} - \ldots und sieht so aus: - \begin{center} - \includegraphics[height=6cm]{images/hello-terminal} - \end{center} +\begin{frame}{Die Shell (Außenhaut, Randzone, Ummantelung)} + \begin{columns} + \begin{column}{0.45\textwidth} + \centering{} + \only<1-2>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/shell} + } + \only<3>{ + \includegraphics[ + height=\textheight, + width=\textwidth, + keepaspectratio + ]{images/wizard} + } + \end{column} + \begin{column}{0.5\textwidth} + \begin{itemize}[<+->] + \item Durch all diese Entwickelungen bleibt die \emph{Shell} + konstant. + \item Es verarbeitet Eingaben und verwaltet Programme. + \item Wir schauen das alles nun in der Praxis an\dots{} + \end{itemize} + \end{column} + \end{columns} \end{frame} -\begin{frame}{\insertsection}{Shell} - \begin{block}{Shell} - \begin{itemize} - \item Programm, welches eingetippte Befehle entgegennimmt - \item \textbf{bash} ist die Standardshell im CIP - \end{itemize} - \end{block} -\end{frame} diff --git a/tag1/welt/.hints b/tag1/welt/.hints new file mode 100644 index 0000000000000000000000000000000000000000..cc81b3c3444a68c6054b087297f9ddae71e168f6 --- /dev/null +++ b/tag1/welt/.hints @@ -0,0 +1,96 @@ +* Hinweise für Dozenten -*- outline -*- + +Die Absicht bei diesen Beispielen, ist es ein grundlegendes +Verständnis dafür zu schaffen was man sich beim Benutzen einer CLI +vorstellen muss. + +Eine Möglichkeit ist es den Vergleich zu "Text-Adventures" zu ziehen: + + Ort <-----> Absoluter CWD + Richtungen <-----> Verzeichnis-Namen + Gegenstände <-----> Reguläre Dateien + Tunnel <-----> Sym-Links (???) + Handlungen <-----> Befehle + +Zu diesem Zweck eignet sich ein Terminal und ein graphischen +Dateimanager nebeneinander Aufzumachen. Als erster Befehl kann man +dann + + $ open . + +demonstrieren. ("open" ist sein einer Weihe auf Debian ein Alias für +"xdg-open". Wenn man kein Befehl "open" hat, sollte man "xdg-open" +auf "open" aliasen, um Verwirrung zu vermeiden). Zu betonen gilt: + +1. Das erste Wort ist ein "Verb", dass andeutet was getan wird. +2. Das zweite Wort ist ein "Objekt", und wird von diesem Verb als + Verzeichnis interpretiert. "." kann dabei als das lokaladverb + "hier" verstanden werden, dessen Bedeutung von seiner Position + abhängt. + +** Sinne Schärfen + +Ein Terminal ist zunächst leer und ohne hinweise wie es benutzt werden +soll. Man ist sozusagen alleine in einem dunklem Zimmer, ohne sich +orientieren zu können. Zunächst wollen wir sehen lernen: + + $ ls + +(ausgeführt in diesem Verzeichnis). In der Ausgabe, sollten unter +anderem die README Datei stehen. Es ist darauf hinzuweisen, dass der +Inhalt analog ist zu dem graphischem Fenster nebenan. + +Als nächstes sollte die README Datei ausgegeben werden: + + $ cat README + +und alternativ mit + + $ open README + +was sich gleich verhalten sollte, wie beim klicken im Dateimanager. + +** Interagieren mit seiner Umgebung + +Die Inhalte der README Datei werden einen darum bitten ein paar +einfache Operationen zu erledigen mit den existierenden Dateien im +Verzeichnis. Demonstriere diese mit einfachen Befehlen (cp, mv, date, +...). Gehe dabei auf Quoting ein und erkläre Flags anhand des Befehls + + $ ncal + +vs + + $ ncal -w + +Als zusätzliches, alternatives Beispiel, zeige wie + + $ ls + +und + + $ ls -l + +sich voneinander unterscheiden. + +** Selbstständig Lernen + +Für jemanden ohne jegliche Erfahrung mag alles bisher zu viel +Information gewesen sein. Man sollte betonten, dass man zunächst nur +so viel CLI/TUI benutzen muss wie man benutzen will (im späteren +Verlauf den Studiums wird das aber nicht immer so sein). + +Wenn man was nachschlagen will, kann man auf einem GNU/Linux System +die Bedinungsanleitung gleich auf dem System selbst lesen: + + $ man ls + $ man intro + $ man fork + +** Aussicht + +Gestehe, dass alles bisher ganz nett ist, aber im wesentlichen nur +anders, nicht inhärent besser. Ohne zu genau darauf einzugehen, +demonstriere Funktionalitäten wie TAB-completion, suche nach Befehlen +mittels C-r und deute auf die Möglichkeit Befehle miteinander zu +kombinieren, was der Inhalt vom zweiten Teil des Kurses ist. diff --git a/tag1/welt/README b/tag1/welt/README new file mode 100644 index 0000000000000000000000000000000000000000..0ada05fce6fcea128f88e3a43ffd93bde52ea03a --- /dev/null +++ b/tag1/welt/README @@ -0,0 +1,8 @@ +1. Benenne "shopping" um zu "einkaufen" + +2. Kopiere die Datei "uni/alle faecher" zu + "uni/hausaufgaben-[wochennummer]" + +3. Erstelle ein Verziechnis für alle Fächer in uni/hausaufgaben + +4. Loesche diese Datei \ No newline at end of file diff --git a/tag1/welt/shopping b/tag1/welt/shopping new file mode 100644 index 0000000000000000000000000000000000000000..ced1049141b6e217010fb279ba4c183cadb569b2 --- /dev/null +++ b/tag1/welt/shopping @@ -0,0 +1,3 @@ +Orangen +Nudeln +Milch \ No newline at end of file diff --git a/tag1/welt/uni/alle faecher b/tag1/welt/uni/alle faecher new file mode 100644 index 0000000000000000000000000000000000000000..fe23058f3e2f1410a21dad76f1721f28c0367e1b --- /dev/null +++ b/tag1/welt/uni/alle faecher @@ -0,0 +1,5 @@ +GTI +GdP +GLoIn +Mathe +SiSy \ No newline at end of file diff --git a/tag2/vorlesung/folien-vl-tag2.tex b/tag2/vorlesung/folien-vl-tag2.tex index cd7d45e46baf574dcc38d4bc2b693c9ac17f80ae..0844764b29c7ab9d0b11f1ee1b78e9c6b67dec03 100644 --- a/tag2/vorlesung/folien-vl-tag2.tex +++ b/tag2/vorlesung/folien-vl-tag2.tex @@ -6,7 +6,7 @@ \setbeamertemplate{navigation symbols}{} -\title{Linux-Kurs -- Teil 2} +\title{Linux-Kurs --- Teil 2} \author{FSI Informatik} \date{17. April 2024} \institute{FAU Erlangen-Nürnberg} diff --git a/tag2/vorlesung/gliederung.tex b/tag2/vorlesung/gliederung.tex index 0d286be3eccc319b3534640d6b7ca0506d89bfcc..0a66b7b919f3fef8c89e18e01b6549d4116b9ecf 100644 --- a/tag2/vorlesung/gliederung.tex +++ b/tag2/vorlesung/gliederung.tex @@ -1,25 +1,36 @@ \frame{\titlepage} +% dieser Abschnitt soll nicht vorgelesen werden, um das anzudeuten +% werden ein paar Farben umgeschrieben. +\installscheme{unirosa} +\frame{ + \centering\scshape\itshape\rmfamily\Large + Die nun folgende, \textcolor{unirosa}{Rosa} hervorgehobenen Folien wurden alle während + des Vortrags übersprungen, und mit einem praktischem Teil ersetzt. + Dieser Abschnitt kann aber dennoch im Selbststudium als Referenz + genutzt werden. +} + \input{prozesse-2.tex} \input{pipes.tex} \input{rechte.tex} \input{ssh.tex} \input{mehr-befehle.tex} -\begin{frame}{Fragen?} - \begin{center} - \scalebox{20}{\textcolor{silver}{\textbf{42}}} - \end{center} -\end{frame} +% Setze die Farben nach diesem Abschnitt zurück. +\installscheme{uniblau} \begin{frame}{Referenzen} - \begin{block}{Referenzen} - \small - \begin{itemize} - % TODO: kleines shell-tutorial - %\item \url{https://en.flossmanuals.net/gnulinux} - \item \url{https://fsi.cs.fau.de/linuxkurs/} - \item Aufzeichnung zu finden unter: \url{https://video.cs.fau.de/} - \end{itemize} - \end{block} + \begin{block}{Referenzen} + \small + \begin{itemize} + \item \url{https://fsi.cs.fau.de/linuxkurs} + \item \href{https://www.man7.org/linux/man-pages/man1/intro.1.html}{intro(1)} + \item \url{https://explainshell.com/} + \item Aufzeichnung zu finden unter: \url{https://video.cs.fau.de/} + \end{itemize} + \end{block} + + Die Übungen für den Inhalt des zweiten Tages finden heute auch in + den CIP-Pools statt. \end{frame} diff --git a/tag2/welt/README b/tag2/welt/README new file mode 100644 index 0000000000000000000000000000000000000000..19b570d2b2a04e50d058eabbc6ff2e852a2eb4d9 --- /dev/null +++ b/tag2/welt/README @@ -0,0 +1,10 @@ +In jedem Verzeichnis ist eine Aufgabe drin. Diese sollen in der +Reihenfolge: + + processes/ + pipes/ + permissions/ + ssh/ + +Angeschaut werden. (Die Aufgaben sich absichtlich vauge, damit jeder +der das Vorstellt seine bevorzugte Methode vorstellen kann). diff --git a/tag2/welt/permissions/README b/tag2/welt/permissions/README new file mode 100644 index 0000000000000000000000000000000000000000..b198529957d586205fc5609952d9ce0f0be7b57a --- /dev/null +++ b/tag2/welt/permissions/README @@ -0,0 +1,20 @@ +Alle Datien haben eine Matrix der Rechte: + + ______ Lesen + / ____ Schreiben + | / __ Ausführen + | | / + v v v + User --> |x|x|_| + Group --> |x|_|_| + Other --> |x|_|_| + +Linear schreibt man das so hin: "rw-r--r--" +Das entspricht einer Binäzahl: 110100100 +Was wir meist in Okalzahl lesen: 6 4 4 + +1. Erstelle eine Datei, und ließ die Berechtigungen aus. +2. Ändere die Berechtigungen, damit es keiner schreiben kann. +3. Erstelle ein Verzeichnis, und ließ die Berechtiugen aus. +4. Was passert wenn man das "Ausführen" bit entfernt, +5. und was passiert wenn man das "Lesen" bit entfernt. diff --git a/tag2/welt/pipes/README b/tag2/welt/pipes/README new file mode 100644 index 0000000000000000000000000000000000000000..b1f22ad3203aeee0a8a60ca80756082734303bee --- /dev/null +++ b/tag2/welt/pipes/README @@ -0,0 +1,15 @@ +Alle Prozesse haben mindestens + +- eine Standard Eingabekanal +- eine Standard Ausgabekanal +- einen Standard Fehlerkanal + +Starte und kombiniere Programme um... + +1. Das heutige Datum in die Datie "today" zu schreiben. +2. Füge an "today" eine Kalenderübersicht an. +3. Zähle wie viele Zeilen "today" hat? +4. Suche alle 5-buchstäbigen Wörter welche mit "Li" anfangen, +5. ... in umgekehrter alphabetischer Reihenfolge. +6. Die häufigsten 10 Wörter in der Manpage "intro" auszugeben, +7. ... ohne Beachtung von groß-klein Schreibung. \ No newline at end of file diff --git a/tag2/welt/processes/README b/tag2/welt/processes/README new file mode 100644 index 0000000000000000000000000000000000000000..2214ecc5602a57a4f07e08af38acaf02f3fe91e0 --- /dev/null +++ b/tag2/welt/processes/README @@ -0,0 +1,9 @@ +Starte einen langsammen Prozess, und... + +1. brich es sofort ab +2. halte es an und starte es wieder +3. halte es an und lasse es im hintergrund weiter laufen +4. lasse es direkt im hintergrund laufen +5. gibt eine übersicht der "jobs" aus +6. gibt eine übersicht der prozesse aus +7. töte alle prozesse \ No newline at end of file diff --git a/tag2/welt/ssh/README b/tag2/welt/ssh/README new file mode 100644 index 0000000000000000000000000000000000000000..8aecc78059aa1f260c0840a5dc892d03e054fdfa --- /dev/null +++ b/tag2/welt/ssh/README @@ -0,0 +1,14 @@ +Text-Oberflächen erlauben es leicht auf andere Systeme zuzugreifen. +Mit "ssh" kann man eine sichere Verbindung aufbauen, und bspw. von +Daheim im CIP arbeiten. + +Benutze SSH um: + +- sich auf den Rechner cipterm0.cip.cs.fau.de anzumelden. +- auszugeben wer alles angemeldet ist. +- von cipterm0 sich auf cip2a0 anzumelden. +- kopiere diese Datei in sein Home Verzeichnis. +- kopiere die Befehlsgeschichte vom CIP auf das lokale System, +- auf cipterm0 eine persistente Shell-Session aufmachen, +- ... und sich in einer neuen Verbindung weiter machen. +- Ein alias erstellen, um sich schnell an cipterm0 zu verbinden. \ No newline at end of file