aktuelle.kurse/m122/bash-kursunterlagen/bash4Ueb1/Bash_Uebungsaufgaben.tex
Harald G. Mueller 5b3ada99be muh
2023-01-17 11:21:58 +01:00

192 lines
5.8 KiB
TeX

\documentclass[a4paper,11pt]{report}
%\usepackage{isolatin1}
%\usepackage{german}
\usepackage{float}
\usepackage{listings}
\usepackage{graphicx}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{soul}
\usepackage{lmodern} % Latin Modern
\usepackage[ngerman]{babel, translator}
\usepackage[utf8]{inputenc}
%\usepackage[ngerman]{babel, translator}
%\usepackage[utf8x]{inputenc}
\usepackage[left=2.5cm,top=2cm,right=2cm,bottom=4cm]{geometry}
%Code listings
\usepackage{listings}
\usepackage{etoolbox}
\patchcmd{\chapter}{\thispagestyle{plain}}{\thispagestyle{fancy}}{}{}
\usepackage[]{hyperref}
\hypersetup{
linkcolor=blue,
pagecolor= blue,
urlcolor= blue,
colorlinks=true,
pdfborder=0 0 0
}
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym, %ein Abk�rzungsverzeichnis erstellen
toc, %Eintr�ge im Inhaltsverzeichnis
section] %im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries}
\usepackage{hyperref}
%Ein eigenes Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}
%Glossar-Befehle anschalten
\makeglossaries
%Diese Befehle sortieren die Eintr�ge in den
%einzelnen Listen:
%makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
%makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
%makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg
% define acronyms here
\newacronym{PDF}{PDF}{Portable Document Format}
\newacronym{APDU}{APDU}{Application Protocol Data Unit}
\newacronym{AGPL}{AGPL}{Affero General Public License}
\newacronym{GPL}{GPL}{General Public License}
\newacronym{LGPL}{LGPL}{Lesser General Public License}
\newacronym{DCT}{DCT}{Discrete Cosine Transform}
\newacronym{TTA}{TTA}{Trusted Timestamp Authority}
\newacronym{OCSP}{OCSP}{Online Certificate Status Protocol}
\newacronym{PKI}{PKI}{Public Key Infrastructure}
%\newacronym{BDD}{BDD}{Behaviour Driven Development\protect\glsadd{glos:BDD}}
\newglossaryentry{Application Protocol Data Unit}
{
name={Application Protocol Data Unit},
description={blablabla}
}
\newglossaryentry{Copyleft}
{
name={Copyleft},
description={The copyleft ist the obligation required by the GLP (or AGPL) license to offer the source code of a work (and every derivative of it) to the public (open source). Copy{\bf{left}} can also be considered as the opposite of copy{\bf{right}}. }
}
%Befehle f�r Glossar
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\renewcommand\contentsname{Inhaltsverzeichnis}
%Einstellungen f??r code listings
\lstset{inputencoding=utf8, language=Java,tabsize=2, basicstyle=\small,breaklines=true,showstringspaces=false}
\pagestyle{fancy}
\setlength{\headheight}{38pt}
\setlength{\headwidth}{470pt}
\renewcommand{\headrule}{\hskip -\leftskip{\bf \quad \quad}\vbox to 5pt{\hbox to 455pt{\hrulefill}}}
\renewcommand{\footrule}{\hskip-\leftskip{\bf \quad \quad}{\hbox to 450 pt{\hrulefill}\newline}}
\fancyhf{}
\fancyheadoffset[L]{1cm}
\fancyfootoffset[L]{1cm}
%Kopfzeile links bzw. innen
\fancyhead[L]{\includegraphics[height=0.6in]{img/bfsulogo.jpg}}
%Kopfzeile mittig
\fancyhead[C]{}
%Kopfzeile rechts bzw. au??????????�?en
\fancyhead[R]{\hspace{10pt} Modul 122\\Abläufe mit Skripts/Makros automatisieren\\ \rightmark }
\fancyheadoffset[L]{1cm}
\fancyfootoffset[L]{1cm}
%Linie oben
\renewcommand{\headrulewidth}{0.7pt}
%Fu??????????�?zeile mittig
\cfoot{\vspace*{6mm}page:\ \thepage\ of \pageref{LastPage}}
\fancyfoot[R]{}
% footnote in footer
\newcommand{\fancyfootnotetext}[2]{%
\fancypagestyle{dingens}{%
\fancyfoot[LO,RE]{\parbox{12cm}{\footnotemark[#1]\footnotesize #2}}%
}%
\thispagestyle{dingens}%
}
%Linie unten
\renewcommand{\footrulewidth}{0.5pt}
\vspace*{15mm}
\textwidth 450pt
\begin{document}
\setcounter{tocdepth}{5}
%\thispagestyle{empty}
\begin{center}
\vspace{48pt}
\vspace{15pt}
\begin{huge}
\end{huge}
\vspace{10pt}
\begin{center}
\begin{Large}
Bash\\ \vspace{20pt}
Übungsaufgaben Skripting
\end{Large}
\end{center}
\vspace{10pt}
\end{center}
\begin{scriptsize}
\begin{center}
\noindent Mario Bischof
\end{center}
\end{scriptsize}
\newpage
\noindent{\bf{Aufgaben}}
\begin{quote}
\begin{enumerate}
\item Erzeugt Benutzer anhand einer Liste von Benutzernamen in einer Textdatei (via Parameter angegebenen). \\ Hinweis: Benutzen sie \verb|useradd| und \verb|cat|.
\item Fügt einen Benutzer anhand einer Liste von Gruppen in einer Textdatei (via Parameter angegebenen) den jeweiligen Gruppen hinzu. \\ Hinweis: Benutzen sie \verb|groupadd| und \verb|cat|.
\item Findet alle Dateien, welche einem (via Parameter angegebenen) Benutzer gehören und kopiert diese an den aktuellen Ort. Die kopierten Dateien werden zu einem \verb|tar.gz| Archiv zusammengefasst und danach gelöscht. Die Archivdatei wird mit dem Benutzernamen und dem aktuellen Datum benannt. \\ Hinweis: Benutzen sie \verb|find|, \verb|tar|, \verb|rm| und \verb|date|.
\item Ermittelt die eigene IP-Adresse und macht einen PING-Sweep für das Subnetz der eigenen IP. Gibt aus, welche Hosts up sind und speichert die IP-Adressen der Hosts in einer Textdatei. \\ Hinweis: Benutzen sie \verb|ping| (oder \verb|fping|), \verb|ifconfig| und \verb|grep|.
\item Ermittelt die events der Stadt Zürich für das aktuellen Datum von usgang.ch. Erweitern sie das Skript danach auf beliebige Städte (unter usgang.ch gelistete) und die Angabe eines Datums (wenn kein Datum angegeben wird, wird das aktuelle angewendet). \\ Hinweis: Benutzen sie \verb|curl|, \verb|grep| und \verb|cut|. Der erste, der ein funktionierendes Skript für diese Aufgabe einsendet, gewinnt "Gipfeli und Schoggistengeli".
\end{enumerate}
\end{quote}
Als Informationsquelle dient folgendes Onlinebuch: \url{http://openbook.rheinwerk-verlag.de/shell_programmierung/}
\end{document}