 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Beamer Presentation
% LaTeX Template
% Version 1.0 (10/11/12)
%
% This template has been downloaded from:
% http://www.LaTeXTemplates.com
%
% License:
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%----------------------------------------------------------------------------------------
%	PACKAGES AND THEMES
%----------------------------------------------------------------------------------------

\documentclass{beamer}

\usepackage{listings}
\usepackage{graphicx}
\usepackage{lastpage}
\usepackage{fancyhdr}
\usepackage{soul}

\usepackage{lmodern} % Latin Modern

\usepackage[utf8]{inputenc}

\definecolor{beamer@zueriblue}{HTML}{009EE1}
\definecolor{beamer@lightblue}{HTML}{8BCCE8}\DeclareUnicodeCharacter{00A0}{ }

\mode<presentation> {

% The Beamer class comes with a number of default slide themes
% which change the colors and layouts of slides. Below this is a list
% of all the themes, uncomment each in turn to see what they look like.

%\usetheme{default}
%\usetheme{AnnArbor}
%\usetheme{Antibes}
%\usetheme{Bergen}
%\usetheme{Berkeley}
%\usetheme{Berlin}
%\usetheme{Boadilla}
%\usetheme{CambridgeUS}
%\usetheme{Copenhagen}
%\usetheme{Darmstadt}
%\usetheme{Dresden}
%\usetheme{Frankfurt}
%\usetheme{Goettingen}
%\usetheme{Hannover}
%\usetheme{Ilmenau}
%\usetheme{JuanLesPins}
%\usetheme{Luebeck}
%\usetheme{Madrid}
%\usetheme{Malmoe}
%\usetheme{Marburg}
%\usetheme{Montpellier}
%\usetheme{PaloAlto}
%\usetheme{Pittsburgh}
%\usetheme{Rochester}
%\usetheme{Singapore}
%\usetheme{Szeged}
%\usetheme{Warsaw}

% As well as themes, the Beamer class has a number of color themes
% for any slide theme. Uncomment each of these in turn to see how it
% changes the colors of your current slide theme.

%\usecolortheme{albatross}
%\usecolortheme{beaver}
%\usecolortheme{beetle}
%\usecolortheme{crane}
%\usecolortheme{dolphin}
%\usecolortheme{dove}
%\usecolortheme{fly}
%\usecolortheme{lily}
%\usecolortheme{orchid}
%\usecolortheme{rose}
%\usecolortheme{seagull}
%\usecolortheme{seahorse}
%\usecolortheme{whale}
%\usecolortheme{wolverine}

 \usetheme{Dresden}
  \setbeamercolor*{palette primary}{use=dove,fg=blue,bg=beamer@lightblue}

 \setbeamercolor*{palette secondary}{use=dove,fg=blue,bg=beamer@lightblue}
 \setbeamercolor*{palette tertiary}{use=dove,fg=white,bg=beamer@zueriblue}


%\setbeamertemplate{footline} % To remove the footer line in all slides uncomment this line
%\setbeamertemplate{footline}[page number] % To replace the footer line in all slides with a simple slide count uncomment this line

%\setbeamertemplate{navigation symbols}{} % To remove the navigation symbols from the bottom of all slides uncomment this line
}

\usepackage{graphicx} % Allows including images
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables

%----------------------------------------------------------------------------------------
%	TITLE PAGE
%----------------------------------------------------------------------------------------

\title[Bash - Lektion 1]{Linux Shell - Lektion 1} % The short title appears at the bottom of every slide, the full title is only on the title page

\author{Mario Bischof} % Your name
\institute[BFSU] % Your institution as it will appear on the bottom of every slide, may be shorthand to save space
{
Berufsfachschule Uster \\ % Your institution for the title page
\medskip
\href{mailto:mario.bischof@bzu.ch}{mario.bischof@bzu.ch}% Your email address
}
\date{\today} % Date, can be changed to a custom date

\begin{document}

\begin{frame}
\includegraphics[height=0.4in]{img/bfsulogo.jpg}
\titlepage % Print the title page as the first slide

\end{frame}

\begin{frame}
\frametitle{Übersicht} % Table of contents slide, comment this block out to remove it
\tableofcontents % Throughout your presentation, if you choose to use \section{} and \subsection{} commands, these will automatically be printed on this slide as an overview of your presentation
\end{frame}

%----------------------------------------------------------------------------------------
%	PRESENTATION SLIDES
%----------------------------------------------------------------------------------------

%------------------------------------------------
 %------------------------------------------------

% A subsection can be created just before a set of slides with a common theme to further break down your presentation into chunks

\section[shell]{Shellprogrammierung} 
\begin{frame}[fragile]
\frametitle{Shellprogrammierung}


\begin{itemize}
\item Linux bietet etliche Befehle, welche in der Shell direkt oder in einem Skript gebraucht werden können wie zB. \verb|cp|, \verb|alias|, \verb|cat|, \verb|rm|
\item Daneben bietet die Shell Programmierstrukturen wie zB. Schleifen, Verzweigungen, Variablen, usw.
\item Beide Elemente können in einem Skript verwendet werden, um Aufgaben auf dem System zu automatisieren
\end{itemize}
\end{frame}


\section[hierarchie]{Linux Verzeichnishierarchie} 
\begin{frame}[fragile]
\frametitle{Linux Verzeichnishierarchie}

\begin{itemize}
\item Der Verzeichnisbaum beginnt bei Linux beim Verzeichnis \verb|/| (Vergleichbar mit \verb|C:\| unter Windows)
\item Das Verzeichnis \verb|/|wird auch Wurzel- oder Rootverzeichnis genannt
\item Verzeichnisse eine oder mehrere Hierarchiestufen weiter unten werden durch \verb|/|-Zeichen getrennt
\item Beispiele:
\begin{verbatim}
/etc/
/usr/local/nginx
/usr/bin/
/home/user1
\end{verbatim}

\end{itemize}
\end{frame}

\section[prompt]{Linuxprompt} 
\begin{frame}[fragile]
\frametitle{Linuxprompt}

\begin{itemize}
\item Die Eingabeaufforderung unter Linux (auch prompt genannt) sieht zB. wiefolgt aus:
\begin{verbatim}
user@host:/#
\end{verbatim}
\item Der prompt bildet sich nach dem Schema: \verb|<akt.username>@<hostname>:<akt.verzeichnis>#|
\item Das Tildezeichen \verb|~| ist ein Kürzel für das Heimatverzeichnis des aktuellen Benutzers
\item Die Heimatverzeichnisse befinden sich i.d.R. unter \verb|/home/<benutzername>|
\item Einzige Ausnahme: Das Heimatverzeichnis des Administratorusers (\verb|root|) befindet sich unter \verb|/root/|

\end{itemize}
\end{frame}

\section[system]{Systemspezifische Befehle} 
\begin{frame}[fragile]
\frametitle{Systemspezifische Befehle}
\begin{itemize}
\item Der Befehl \verb|reboot| (oder \verb|shutdown -r| oder \verb|init 6|) startet das System neu
\item Der Befehl \verb|halt| (\verb|shutdown -h|, \verb|init 0| oder \verb|poweroff|) schaltet das System ab
\end{itemize}

\end{frame}




\section[hilfe]{Hilfe holen} 
\begin{frame}[fragile]
\frametitle{Hilfe holen}

\begin{itemize}
\item Der Befehl \verb|man| öffnet sie Hilfeseiten (manual) eines Befehls
\\Syntax: \verb|man <Befehlsname>|
\item Der Befehl \verb|apropos| durchsucht alle Hilfeseiten nach einem Stichwort
\\Syntax: \verb|apropos <Stichwort>|
\item Der Befehl \verb|which| findet den Ort eines installierten Programmes
\\Syntax: \verb|which <Befehl>|
\end{itemize}

\end{frame}

\section[user]{Userspezifische Befehle} 
\begin{frame}[fragile]
\frametitle{Userspezifische Befehle}

\begin{itemize}
\item Der Befehl \verb|whoami| zeigt den aktuellen Benutzernamen an
\item Der Befehl \verb|who| zeigt alle am System angemeldeten Benutzer an
\item Der Befehl \verb|groups| zeigt die Gruppen des aktuellen Benutzernamen an
\item Der Befehl \verb|id| zeigt die Nutzerid und Gruppen des aktuellen Benutzers an
\item Der Befehl \verb|su| wechselt den aktuellen Benutzer
\\Syntax: \verb|su - <User>| (- sogt dafür, dass ins Heimverzeichnis der neuen Users gewechselt wird)

\end{itemize}
\end{frame}

\section[user]{Userspezifische Befehle} 
\begin{frame}[fragile]
\frametitle{Userspezifische Befehle}

\begin{itemize}
\item Der Befehl \verb|useradd| fügt einen neuen Benutzer hinzu
\\Syntax: \verb|useradd <User>| 
\item Der Befehl \verb|userdel| löscht einen bestehenden Benutzer
\\Syntax: \verb|userdel <User>| 
\item Der Befehl \verb|passwd| kann (unter anderem) das Passwort wechseln
\\Syntax: \verb|passwd <User>| 
\item Der Befehl \verb|logout| loggt den aktuellen Benutzer vom System aus (ebenso \verb|exit|)

\end{itemize}

\end{frame}

\section[aliase]{Aliase} 
\begin{frame}[fragile]
\frametitle{Aliase}

\begin{itemize}
\item Aliase dienen als Nutzerspezifisches Kürzel für einen Befehl / Befehlskombination
\item Ein alias wird wiefolgt gesetzt: \verb|alias <aliasname>="<befehl mit params/args>"|
\item Beispiel:
\begin{verbatim}
user@host:/etc# alias gohome="cd ~"
user@host:/etc# pwd
/etc 
user@host:/etc# gohome
user@host:~# pwd
/home/user
\end{verbatim}
\end{itemize}
\end{frame}

\section[cd]{Verzeichnisrelevante Befehle} 
\begin{frame}[fragile]
\frametitle{Verzeichnisrelevante Befehle}
\begin{itemize}
\item Der Befehl \verb|pwd| (\emph{present work directory}) zeigt das aktuelle Verzeichnis an 
\item Der Befehl \verb|cd| ändert das aktuelle Verzeichnis. \\Syntax: \verb|cd <Zielverzeichnis>|
\item Der Befehl \verb|mkdir| erstellt ein neues Verzeichnis. \\Syntax: \verb|mkdir <Verzeichnisname>|
\item Der Befehl \verb|rmdir| lsöcht ein bestehendes Verzeichnis. \\Syntax: \verb|rmdir <Verzeichnisname>| (Verzeichnis muss leer sein!)
\item Der Befehl \verb|ls| listet den Verzeichnisinhalt auf \\Syntax: \verb|ls <Verzeichnisname>| 

\end{itemize}
\end{frame}


\section[cd]{Dateirelevante Befehle} 
\begin{frame}[fragile]
\frametitle{Dateirelevante Befehle}
\begin{itemize}
\item Der Befehl \verb|cp| kopiert Dateien/Verzeichnisse \\Syntax: \verb|cp <Quelldatei> <Zieldatei>| \\Syntax Verzeichnisse: \verb|cp -R <Quellverzeichnis> <Zielverzeichnis>|
\item Der Befehl \verb|rm| löscht Dateien/Verzeichnisse \\Syntax: \verb|rm <Zieldatei>| \\Syntax Verzeichnisse: \verb|rm -r <Zelverzeichnis>|
\item Der Befehl \verb|mv| verschiebt (= umbenennen) Dateien/Verzeichnisse \\Syntax: \verb|mv <altedatei> <neuedatei>|
\item Der Befehl \verb|touch| erstellt eine neue leere Datei \\Syntax: \verb|touch <Dateiname>|
\end{itemize}
\end{frame}

\section[cd]{Weitere häufig gebrauchte Befehle} 
\begin{frame}[fragile]
\frametitle{Dateirelevante Befehle}
\begin{itemize}
\item Der Befehl \verb|cat| gibt Dateinhalt aus\\Syntax: \verb|cat <Zieldatei>|
\item Der Befehl \verb|wc| zählt Wörter oder Linien eines Dateiinhaltes\\Syntax (linien): \verb|wc -l <Zieldatei>| (-w zählt \# Wörter)
\item Der Befehl \verb|echo| gibt eine Zeichenkette aus\\Syntax: \verb|echo "<Zeichenkette>"|
\end{itemize}
\end{frame}


\end{document} 