First Version
This commit is contained in:
parent
33f99611b6
commit
beb969dc3d
0
Anhang.tex
Executable file
0
Anhang.tex
Executable file
0
Inhaltsverzeichnis.tex
Executable file
0
Inhaltsverzeichnis.tex
Executable file
59
Kapitel1/BashKonfiguration.tex
Executable file
59
Kapitel1/BashKonfiguration.tex
Executable file
@ -0,0 +1,59 @@
|
||||
\section{Bash}
|
||||
\begin{justify}
|
||||
Im pers"onlichen Home Verzeichnis liegt die versteckte Datei {\ttfamily .bashrc}. In dieser Datei kann man die Bash
|
||||
konfigurieren. In dieser Datei k"onnen Aliase, Variablen und Funktionen definiert werden. Die neue Konfiguration
|
||||
kann dann mit {\ttfamily source ./.bashrc} geladen werden.%\\[2ex]
|
||||
%Beispiel einer .bashrc
|
||||
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel .bashrc]
|
||||
# define alias
|
||||
alias dir='ls --color=auto --format=vertical'
|
||||
alias ls='ls -lahF --color=tty'
|
||||
alias df='df -hT'
|
||||
alias du='du -sch'
|
||||
|
||||
# other
|
||||
tabs 4 # set tab size
|
||||
|
||||
# define variables
|
||||
strBackupPach=/backup/tuxserver
|
||||
strBackupLog=backup.log
|
||||
export strBackupPath strBackupLog
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
export GREP_COLOR='1;32' # Ansi color light green
|
||||
|
||||
# Functions
|
||||
back() {
|
||||
cd $strBackupPath
|
||||
vi $strBackupLog
|
||||
}
|
||||
|
||||
# Berechtigungen setzen fuer neuangelegte Objekte\\
|
||||
umask 022
|
||||
\end{lstlisting}
|
||||
\pagebreak
|
||||
In der nachfolgenden Tabelle werden die Konfigurationsdateien aufgelistet,
|
||||
die bei einem Login/Aufruf einer Shell in der Reihenfolge verarbeitet werden.\\[1ex]
|
||||
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{3cm}p{1.5cm}p{2cm}p{9cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Konfigurations}} & \emph{\textbf{Login}} & \emph{\textbf{Interaktive}} & \ \\
|
||||
\rowcolor{hellgrau}\emph{\textbf{Datei}} & \emph{\textbf{Shell}} & \emph{\textbf{Shell}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
/etc/profile & X & - & Systemweit, wird bei einem Update "uberschrieben.\\
|
||||
/etc/profile.local & X & - & Systemweit, bleibt bei einem Update erhalten.\\
|
||||
/etc/bash.bashrc & X & - & Systemweit, wird bei einem Update "uberschrieben.\\
|
||||
\~/.bashrc & X & X & Benutzerkonfiguration.\\
|
||||
\~/.alias & X & X & Benutzerkonfiguration. In dieser Datei k"onnen die Alias verwaltet werden.\\
|
||||
\~/.bash\_profile & X & X & Benutzerkonfiguration Wird eine der Dateien\\
|
||||
\~/.bash\_login & X & X & gefunden, so wird diese verarbeitet, auch wenn\\
|
||||
\~/.profile & X & X & die anderen Dateien vorhanden sind.\\
|
||||
\end{tabular}
|
||||
\caption{Liste der Dateien}
|
||||
\end{table}
|
||||
\begin{flushleft}
|
||||
Bei einem Logout wird die Datei {\ttfamily \verb|~|/.bash\_logout} verarbeitet.\\[1ex]
|
||||
\end{flushleft}
|
||||
\end{justify}
|
56
Kapitel1/BashKonfiguration.tex.old
Executable file
56
Kapitel1/BashKonfiguration.tex.old
Executable file
@ -0,0 +1,56 @@
|
||||
\section{Bash}
|
||||
\begin{flushleft}
|
||||
Im pers"onlichen Home Verzeichnis liegt die versteckte Datei {\ttfamily .bashrc}. In dieser Datei kann man die Bash
|
||||
konfigurieren. In dieser Datei k"onnen Aliase, Variablen und Funktionen definiert werden. Die neue Konfiguration
|
||||
kann dann mit {\ttfamily source ./.bashrc} geladen werden.%\\[2ex]
|
||||
%Beispiel einer .bashrc
|
||||
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel .bashrc, label=lst:bash]
|
||||
# define alias
|
||||
alias dir='ls --color=auto --format=vertical
|
||||
alias ls='ls -lahF --color=tty'
|
||||
alias df='df -hT'
|
||||
alias du='du -sch'
|
||||
# define variables
|
||||
strBackupPach=/backup/tuxserver
|
||||
strBackupLog=backup.log
|
||||
export strBackupPath strBackupLog
|
||||
export GREP_OPTIONS='--color=auto'
|
||||
export GREP_COLOR='1;32' # Ansi color light green
|
||||
# Functions
|
||||
back() {
|
||||
cd $strBackupPath
|
||||
vi $strBackupLog
|
||||
}
|
||||
# Berechtigungen setzen f"uer neuangelegte Objekte\\
|
||||
umask 022
|
||||
\end{lstlisting}
|
||||
|
||||
In der nachfolgenden Tabelle werden die Konfigurationsdateien aufgelistet, die bei einem Login/Aufruf einer Shell in der Reihenfolge verarbeitet werden.\\[2ex]
|
||||
|
||||
%
|
||||
% Hier kommt eine Tabelle, 4 Spalten
|
||||
%
|
||||
% \emph und \textbf => Kursiv und Fett
|
||||
%
|
||||
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{|l|l|l|p{8cm}|} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\hline \rowcolor{hellgrau}\emph{\textbf{Konfigurations}} & \emph{\textbf{Login}} & \emph{\textbf{Interaktive}} & \ \\
|
||||
\rowcolor{hellgrau}\emph{\textbf{Datei}} & \emph{\textbf{Shell}} & \emph{\textbf{Shell}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline /etc/profile & X & - & Systemweit, wird bei einem Update "uberschrieben.\\
|
||||
\hline /etc/profile.local & X & - & Systemweit, bleibt bei einem Update erhalten.\\
|
||||
\hline /etc/bash.bashrc & X & - & Systemweit, wird bei einem Update "uberschrieben.\\
|
||||
\hline \~/.bashrc & X & X & Benutzerkonfiguration.\\
|
||||
\hline \~/.alias & X & X & Benutzerkonfiguration. In dieser Datei k"onnen die Alias verwaltet werden.\\
|
||||
\hline \~/.bash\_profile & X & X & Benutzerkonfiguration Wird eine der Dateien\\
|
||||
\hline \~/.bash\_login & X & X & gefunden, so wird diese verarbeitet, auch wenn\\
|
||||
\hline \~/.profile & X & X & die anderen Dateien vorhanden sind.\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Liste der Dateien}
|
||||
\end{table}
|
||||
|
||||
Bei einem Logout wird die Datei {\ttfamily \~/.bash\_logout} verarbeitet.
|
||||
\end{flushleft}
|
14
Kapitel1/BefehleMehrzeilig.tex
Executable file
14
Kapitel1/BefehleMehrzeilig.tex
Executable file
@ -0,0 +1,14 @@
|
||||
\section{Befehle mehrzeilig}
|
||||
\begin{justify}
|
||||
Wird eine Anweisung in der Shell zu lang, so kann man sie mit {\ttfamily \textbackslash}
|
||||
am Ende der Zeile und nach einem Return in der zweiten Zeile weiterschreiben. Als
|
||||
Prompt Text wird die Variable {\ttfamily PS2} ausgewertet.
|
||||
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel]
|
||||
uws@tux>PS2="Weiter geht's>"
|
||||
|
||||
uws@tux>grep oracle /etc/passwd \
|
||||
Weiter geht's>echo found
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
127
Kapitel1/Color.tex
Normal file
127
Kapitel1/Color.tex
Normal file
@ -0,0 +1,127 @@
|
||||
\section{Color ls}
|
||||
\begin{justify}
|
||||
Die Ausgabe von {\ttfamily ls} kann Farbig ausgegeben werden. Hierzu wird der Parameter {\ttfamily \verb|--|color} an dem Befehl angehangen. Die Ausgabe der Farben wird mit der Variable {\ttfamily \verb|$LS_|COLORS} gesteuert. Möchte man die Farben anpassen, so wird diese Variable in der Bash-Konfigurations Datei definiert und exportiert.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Color ls]
|
||||
uws@tux>dircolors -b >> .bashrc
|
||||
\end{lstlisting}
|
||||
Der Aufbau für die Definition der Farbausgabe ist: key=Option;Vordergrund;Hintergrund \\
|
||||
Eine Ausflistung der Keys sind in der nachfolgenden Tabelle aufgelistet.
|
||||
\begin{longtable}[l]{p{3cm}p{13cm}}
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Key}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endfirsthead
|
||||
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
|
||||
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{Key}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endhead
|
||||
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
|
||||
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
|
||||
\endfoot
|
||||
\caption{Liste Key} \\
|
||||
\endlastfoot
|
||||
no & Global default \\
|
||||
fi & Normal file \\
|
||||
di & Directory \\
|
||||
ln & Symbolic link \\
|
||||
bd & Block device \\
|
||||
cd & Character device \\
|
||||
or & Symbolic link to a nonexistent file \\
|
||||
ex & Executable file \\
|
||||
*.extension & Example, *.mp3
|
||||
\end{longtable}
|
||||
Hier die Liste der Optionen:
|
||||
\begin{longtable}[l]{p{3cm}p{13cm}}
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endfirsthead
|
||||
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
|
||||
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endhead
|
||||
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
|
||||
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
|
||||
\endfoot
|
||||
\caption{Liste Option} \\
|
||||
\endlastfoot
|
||||
0 & default color \\
|
||||
1 & bold \\
|
||||
4 & underline \\
|
||||
5 & flashing text \\
|
||||
7 & reverse field \\
|
||||
8 & concealed (invisible) \\
|
||||
\end{longtable}
|
||||
In der nachfolgende Tabelle werden die Farben für den Vordergrund ausgelistet.
|
||||
\begin{longtable}[l]{p{3cm}p{13cm}}
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Farbe}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endfirsthead
|
||||
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
|
||||
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Farbe}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endhead
|
||||
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
|
||||
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
|
||||
\endfoot
|
||||
\caption{Liste Farbe Vordergrund} \\
|
||||
\endlastfoot
|
||||
31 & red \\
|
||||
32 & green \\
|
||||
33 & orange \\
|
||||
34 & blue \\
|
||||
35 & purple \\
|
||||
36 & cyan \\
|
||||
37 & grey \\
|
||||
90 & dark grey \\
|
||||
91 & light red \\
|
||||
92 & light green \\
|
||||
93 & yellow \\
|
||||
94 & light blue \\
|
||||
95 & light purple \\
|
||||
96 & turqoise \\
|
||||
97 & white
|
||||
\end{longtable}
|
||||
Die Farben für den Hintergrund sind folgende:
|
||||
\begin{longtable}[l]{p{3cm}p{13cm}}
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Farbe}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endfirsthead
|
||||
%\multicolumn{2}{c}{{\bfseries \tablename \thetable{} continued from previous page.}} \\
|
||||
\multicolumn{2}{r}{{\bfseries continued from previous page.}} \\
|
||||
\rowcolor{hellgrau}\multicolumn{1}{l}{\textbf{No}} & \multicolumn {1}{l}{\textbf{Farbe}} \\
|
||||
\hline
|
||||
\hline
|
||||
\endhead
|
||||
%\multicolumn{2}{r}{{\bfseries \tablename \thetable{} Continued on next page}} \\
|
||||
\multicolumn{2}{r}{{\bfseries Continued on next page}} \\
|
||||
\endfoot
|
||||
\caption{Liste Farbe Hintergrund} \\
|
||||
\endlastfoot
|
||||
40 & black \\
|
||||
41 & red \\
|
||||
42 & green \\
|
||||
43 & orange \\
|
||||
44 & blue \\
|
||||
45 & purple \\
|
||||
46 & cyan \\
|
||||
47 & grey \\
|
||||
100 & dark grey \\
|
||||
101 & light red \\
|
||||
102 & light green \\
|
||||
103 & yellow \\
|
||||
104 & light blue \\
|
||||
105 & light purple \\
|
||||
106 & turquoise \\
|
||||
107 & white \\
|
||||
\end{longtable}
|
||||
\end{justify}
|
240
Kapitel1/EditorVI.tex
Executable file
240
Kapitel1/EditorVI.tex
Executable file
@ -0,0 +1,240 @@
|
||||
\section{VI Editor}
|
||||
\subsection{Konfiguration}
|
||||
\begin{justify}
|
||||
Die Einstellungen f"ur den VI Editor k"onnen global in der Datei {\ttfamily /etc/vimrc} oder f"ur jeden Benutzer in der Datei {\ttfamily ~/.vimrc} vorgenommen werden. Weitere Informationen "uber die vimrc gibt es hier: \url{https://www.linode.com/docs/tools-reference/tools/introduction-to-vim-customization/}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel vimrc]
|
||||
" Kommentarzeile
|
||||
" Syntax Color einschalten
|
||||
syntax on
|
||||
set nowrap
|
||||
|
||||
" Color config, possible colors
|
||||
" black, blue, cyan, gra, grey, green, magenta, red, white, yellow, brown
|
||||
" DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow
|
||||
" LightGray, LightGrey, DarkGray, DarkGrey, LighBlue, LightBlue, LightCyan
|
||||
" LightRed, LightMagenta, LightYellow
|
||||
" highlight groups= comment, constant, normal, nontext, special, cursor
|
||||
hi normal ctermfg=white ctermbg=black guifg=white guibg=black
|
||||
hi nontext ctermfg=blue ctermbg=black guifg=blue guibg=black
|
||||
hi comment ctermfg=green ctermbg=white
|
||||
|
||||
" Backup
|
||||
set backup
|
||||
set backupdir=~/tmp
|
||||
|
||||
" swap file
|
||||
set dir=~/tmp
|
||||
|
||||
" show line numbers
|
||||
set number
|
||||
|
||||
" show editing mode (insert/replace) on the last line
|
||||
set showmode
|
||||
|
||||
" highlight matching brackets
|
||||
set showmatch
|
||||
|
||||
" make searches case insensitive
|
||||
set ignorecase
|
||||
|
||||
" Tab size (Anzeige und Plazierung)
|
||||
set tabstop=3
|
||||
|
||||
" show cursor line and column in the status line
|
||||
set ruler
|
||||
|
||||
" color scheme, files under /usr/share/vim/vim72/colors
|
||||
color desert
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Section: Starten
|
||||
%-------------------------------------------------------------------------------
|
||||
\newpage
|
||||
\subsection{Starten}
|
||||
Den Editor {\ttfamily vi} kann man mit verschiedenen Optionen "offnen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
vi & Ohne Datei starten\\
|
||||
vi <datei> & Starten mit der angegebenen Datei\\
|
||||
vi +<datei> & Es wird in einer Kopie gearbeitet und erst bei dem beenden des Editors wird die Datei geschrieben\\
|
||||
vi -r<datei> & Die Bearbeitung wird nach einem Absturz an der gleichen Stelle fortgesetzt\\
|
||||
vi -R<datei> & Die Datei wird schreibgesch"utzt ge"offnet\\
|
||||
\end{tabular}
|
||||
\caption{Starten vi}
|
||||
\end{table}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsesction: Befehle
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Befehle}
|
||||
Folgende Befehle gibt es im VI-Editor. Dieses ist aber nur ein Ausschnitt der Befehle.
|
||||
\begin{flushleft}
|
||||
\textbf{Speichern und Beenden}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
:q & Editor beenden\\
|
||||
:q! & Editor beenden ohne zu speichern\\
|
||||
:w & Datei speichern\\
|
||||
:w! & Speichern erzwingen\\
|
||||
:wq oder ZZ & Speichern und beenden\\
|
||||
<strg> + z & Shell starten, zur"uck mit {\ttfamily fg}\\
|
||||
\end{tabular}
|
||||
\caption{Speichern und Beenden}
|
||||
\end{table}
|
||||
%---------- Kopieren ----------
|
||||
\begin{flushleft}
|
||||
\textbf{Kopieren}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
yy & Kopiert die aktuelle Zeile in den Puffer\\
|
||||
ny & Kopiert n+1 Zeilen in den Puffer\\
|
||||
yw & Kopiert ein Wort in den Buffer\\
|
||||
\end{tabular}
|
||||
\caption{Kopieren}
|
||||
\end{table}
|
||||
\newpage
|
||||
%---------- Sonstiges ----------
|
||||
\begin{flushleft}
|
||||
\textbf{Sonstiges}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
u & Undo\\
|
||||
U & Alle "Anderungen der aktuellen Zeile zur"ucknehmen\\
|
||||
\end{tabular}
|
||||
\caption{Sonstiges}
|
||||
\end{table}
|
||||
%---------- Navigieren ----------
|
||||
\begin{flushleft}
|
||||
\textbf{Navigieren}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
G & An das Ende springen\\
|
||||
1G & In die erste Zeile Springen\\
|
||||
0 & An dem Anfang der Zeile springen\\
|
||||
\verb|^| & An dem Anfang der Zeile springen\\
|
||||
\$ & An das Ende der Zeile springen\\
|
||||
b & An den Anfang des letzten Wortes springen\\
|
||||
w & An den Anfang des n"achsten Wortes springen\\
|
||||
e & An das Ende des letzten Wortes springen\\
|
||||
h & Ein Zeichen nach links\\
|
||||
j & Eine Zeile nach unten\\
|
||||
k & Eine Zeile nach oben\\
|
||||
l & Ein Zeichen nach rechts\\
|
||||
nG & n-te Zeile der Datei\\
|
||||
H & Die erste Zeile des Bildschirms\\
|
||||
+ & Die n"achste Zeile des Textanfangs\\
|
||||
- & Die vorgerige Zeile des Textanfangs\\
|
||||
( & Satzanfang\\
|
||||
) & Satzende\\
|
||||
\verb|{| & Absatzanfang\\
|
||||
\verb|}| & Absatzende\\
|
||||
\verb|[| & Am Anfang der Datei springen\\
|
||||
\verb|]| & Am Ende der Datei springen\\
|
||||
<strg> + u & Nach oben bl"attern\\
|
||||
<strg> + d & Nach unten bl"attern\\
|
||||
L & In der letzten Zeile der Bildschirmausgabe springen\\
|
||||
\end{tabular}
|
||||
\caption{Navigieren}
|
||||
\end{table}
|
||||
\newpage
|
||||
%---------- Loeschen ----------
|
||||
\begin{flushleft}
|
||||
\textbf{L"oschen}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
x & Zeichen l"oschen\\
|
||||
r & Zeichen ersetzen\\
|
||||
s & Zeichen ersetzen und in den Bearbeitungsmodus wechseln\\
|
||||
dd & Aktuelle Zeilen ausschneiden (Zwischenablage)\\
|
||||
\verb|[|n\verb|]|dd & Die n"achsten [n] Zeilen ausschneiden\\
|
||||
C & Zeile l"oschen\\
|
||||
V & Zeile markieren\\
|
||||
v & Zeichen markieren\\
|
||||
d & Markierten Text l"oschen\\
|
||||
cw & Aktuelles Wort ersetzten\\
|
||||
dw & Aktuelles Wort l"oschen, incl. angeh"angtem Leerzeichen\\
|
||||
de & Aktuelles Wort l"oschen, "uber Zeile hinaus\\
|
||||
dl & Zeichen unter Cursor-Position l"oschen\\
|
||||
dj & Zwei Zeilen l"oschen, Position ist die 1. Zeile\\
|
||||
dk & Zwei Zeilen l"oschen, Position ist die 2. Zeile\\
|
||||
:5,10d & Zeilen 5 bis 10 l"oschen\\
|
||||
:.,\$d & Alle Zeilen l"oschen\\
|
||||
nx & N-Zeichen ab Cursorposition\\
|
||||
dL & Bis zum unteren Bildschirmrand l"oschen\\
|
||||
d) & Bis zum Absatzende l"oschen\\
|
||||
D & Bis zum Zeilenende l"oschen\\
|
||||
\end{tabular}
|
||||
\caption{L"oschen}
|
||||
\end{table}
|
||||
\newpage
|
||||
%---------- Einfuegen ----------
|
||||
\begin{flushleft}
|
||||
\textbf{Einf"ugen}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
p & Zwischenablage nach aktueller Zeile einf"ugen\\
|
||||
P & Zwischenablage vor aktueller Zeile einf"ugen\\
|
||||
R & Text "uberschreiben\\
|
||||
J & Aktuelle Zeile an das Ende der vorherigen Zeile anh"angen\\
|
||||
o & Eine Zeile nach der aktuellen Zeile einf"ugen und in den Bearbeitungsmodus wechseln\\
|
||||
O & Eine Zeile vor der aktuellen Zeile einf"ugen und in den Bearbeitungsmodus wechseln\\
|
||||
a & Ein Leerzeichen einf"ugen und in den Bearbeitungsmodus wechseln\\
|
||||
A & Zum Ende der Zeile springen und in den Bearbeitungsmodus wechseln\\
|
||||
i & In den Bearbeitungsmodus wechseln\\
|
||||
I & Am Anfang in den Bearbeitungsmodus wechseln\\
|
||||
s<text> & Ein Zeichen wird durch Text ersetzt\\
|
||||
S<text> & Eine ganze Zeile wird durch Text ersetzt\\
|
||||
ns<text> & N-Zeichen werden durch Text ersetzt\\
|
||||
cw<text> & Ein Wort durch Text ersetzt\\
|
||||
\end{tabular}
|
||||
\caption{Einf"ugen}
|
||||
\end{table}
|
||||
%---------- Suchen und Ersetzen ----------
|
||||
\begin{flushleft}
|
||||
\textbf{Suchen und Ersetzen}
|
||||
\end{flushleft}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2,5cm}p{13,5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Kommando}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
/Tux & Suchen nach dem Wort Tux\\
|
||||
/ & Suche wiederholen\\
|
||||
n & Suche wiederholen\\
|
||||
:s/nach/durch & In aktueller Zeile suchen und ersetzen\\
|
||||
:1,7s/nach/durch & In Zeile 1 bis 7 suchen und ersetzen\\
|
||||
:\verb|%|/nach/durch & In allen Zeilen suchen und ersetzen\\
|
||||
?<nach> & Die Suche erfolgt r"uckw"arts\\
|
||||
? & Wiederholung r"uckw"arts\\
|
||||
:s/nach/durch/g & Nur in der aktuellen Zeile wird gesucht und ersetzt\\
|
||||
\end{tabular}
|
||||
\caption{Suchen und Ersetzen}
|
||||
\end{table}
|
||||
\end{justify}
|
18
Kapitel1/Index.tex
Executable file
18
Kapitel1/Index.tex
Executable file
@ -0,0 +1,18 @@
|
||||
\chapter{Konfiguration Shell}
|
||||
|
||||
%-------------------------------------------
|
||||
% load other documents
|
||||
%------------------------------------------
|
||||
\input{Kapitel1/BashKonfiguration}
|
||||
\input{Kapitel1/ShellGedaechnis}
|
||||
\input{Kapitel1/BefehleMehrzeilig}
|
||||
\newpage
|
||||
\input{Kapitel1/Tastenzuordnung}
|
||||
\input{Kapitel1/Tastaturfunktionen}
|
||||
\newpage
|
||||
\input{Kapitel1/Prompt}
|
||||
\clearpage
|
||||
\input{Kapitel1/EditorVI}
|
||||
\clearpage
|
||||
\input{Kapitel1/Sonderzeichen}
|
||||
\include{Kapitel1/Color}
|
BIN
Kapitel1/Pictures/PromptTime.png
Executable file
BIN
Kapitel1/Pictures/PromptTime.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
Kapitel1/Pictures/PromptZsh.png
Executable file
BIN
Kapitel1/Pictures/PromptZsh.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
156
Kapitel1/Prompt.tex
Executable file
156
Kapitel1/Prompt.tex
Executable file
@ -0,0 +1,156 @@
|
||||
\section{Prompt}
|
||||
\subsection{Bash}
|
||||
\begin{justify}
|
||||
Den Prompt kann mit der Variable {\ttfamily PS1} eingestellt werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Setzen PS1]
|
||||
uws@tux>export PS1="[\t] \u@\h:\w>"
|
||||
[10:26:22] uws@tux:~>
|
||||
\end{lstlisting}
|
||||
In der nachfolgenden Tabelle ist ein Auszug der Escape Sequencen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{lp{12cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Escape-Sequence}} & \emph{\textbf{Beschreibung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\verb|\|a & Der Ascii Klingel character (07) \\
|
||||
\verb|\|d & Das Datum in "Wochentag Monat Datum" z.B. Mon Mai 22 \\
|
||||
\verb|\|e & Der Ascii Escape character (033) \\
|
||||
\verb|\|h & Der hostname bis zu ersten. \\
|
||||
\verb|\|H & Der hostname \\
|
||||
\verb|\|j & The number of jobs currently managed by the shell\\
|
||||
\verb|\|l & The basename of the shell's terminal device name\\
|
||||
\verb|\|n & Newline\\
|
||||
\verb|\|r & Carriage return\\
|
||||
\verb|\|s & Der Name der Shell, der Basisname von \$0\\
|
||||
\verb|\|t & Die aktuelle Zeit im 24 Stunden Format HH:MM:SS\\
|
||||
\verb|\|T & Die aktuelle Zeit im 12 Stunden Format HH:MM:SS\\
|
||||
\verb|\|@ & Die aktuelle Zeit im 12 Stunden Format am/pm\\
|
||||
\verb|\|u & Den Usernamen des angemeldeten User\\
|
||||
\verb|\|v & Die Version der Bash\\
|
||||
\verb|\|V & Das Release der Bash, Version + Patchlevel\\
|
||||
\verb|\|w & Das aktuelle Arbeitsverzeichnis\\
|
||||
\verb|\|W & Der Basisname des aktuellen Arbeitsverzeichnisses\\
|
||||
\verb|\|! & The history number of this command\\
|
||||
\verb|\|\# & The commans number of this command\\
|
||||
\verb|\|\$ & Ist die UID gleich 0, dann \#, sonst \$\\
|
||||
\verb|\|nnn & The character corresponding to the octal number nnn\\
|
||||
\verb|\|\verb|\| & Ein Backslash\\
|
||||
\verb|\|[ & Begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt\\
|
||||
\verb|\|] & End a sequence of non-printing characters\\
|
||||
\end{tabular}
|
||||
\caption{Auswahl Escape Sequencen}
|
||||
\end{table}
|
||||
\newpage
|
||||
\begin{justify}
|
||||
Dem Prompt kann man auch farbig darstellen. Um z.B. dem User root eine andere Farbe zuzuweisen. Die Angabe der Farbe wird durch {\ttfamily \verb|\|[} und {\ttfamily \verb|\|]} begrenzt. Es lassen sich der Hintergrund und der Text in Farbe darstellen.
|
||||
\end{justify}
|
||||
% ---------------Start new table ---------------
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{3.5cm}p{12.5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Sequenz}} & \emph{\textbf{Farbe}}\\
|
||||
\hline
|
||||
\hline
|
||||
\verb|\|[\verb|\|033[XXm\verb|\|] & Keine Hintergrundfarbe\\
|
||||
\verb|\|[\verb|\|033[40;XXm\verb|\|] & Schwarz\\
|
||||
\verb|\|[\verb|\|033[41;XXm\verb|\|] & Rot\\
|
||||
\verb|\|[\verb|\|033[42;XXm\verb|\|] & Gr"un\\
|
||||
\verb|\|[\verb|\|033[43;XXm\verb|\|] & Hellbraun\\
|
||||
\verb|\|[\verb|\|033[44;XXm\verb|\|] & Blau\\
|
||||
\verb|\|[\verb|\|033[45;XXm\verb|\|] & Lila\\
|
||||
\verb|\|[\verb|\|033[46;XXm\verb|\|] & T"urkis\\
|
||||
\verb|\|[\verb|\|033[47;XXm\verb|\|] & Hellgrau\\
|
||||
\end{tabular}
|
||||
\caption{Hintergrund Farben}
|
||||
\end{table}
|
||||
% ---------------Start new table ---------------
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{3.5cm}p{12.5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Sequenz}} & \emph{\textbf{Farbe}}\\
|
||||
\hline
|
||||
\hline
|
||||
\verb|\|[\verb|\|033[0;30m\verb|\|] & Schwarz\\
|
||||
\verb|\|[\verb|\|033[1;30m\verb|\|] & Dunkelgrau\\
|
||||
\verb|\|[\verb|\|033[0;31m\verb|\|] & Rot\\
|
||||
\verb|\|[\verb|\|033[1;31m\verb|\|] & Hellrot\\
|
||||
\verb|\|[\verb|\|033[0;32m\verb|\|] & Gr"un\\
|
||||
\verb|\|[\verb|\|033[1;32m\verb|\|] & Hellgr"un\\
|
||||
\verb|\|[\verb|\|033[0;33m\verb|\|] & Braun\\
|
||||
\verb|\|[\verb|\|033[1;33m\verb|\|] & Gelb\\
|
||||
\verb|\|[\verb|\|033[0;34m\verb|\|] & Blau\\
|
||||
\verb|\|[\verb|\|033[1;34m\verb|\|] & Hellblau\\
|
||||
\verb|\|[\verb|\|033[0;35m\verb|\|] & Lila\\
|
||||
\verb|\|[\verb|\|033[1;35m\verb|\|] & Helles Lila\\
|
||||
\verb|\|[\verb|\|033[0;36m\verb|\|] & Dunkles t"urkis\\
|
||||
\verb|\|[\verb|\|033[1;36m\verb|\|] & T"urkis\\
|
||||
\verb|\|[\verb|\|033[0;37m\verb|\|] & Hellgrau\\
|
||||
\verb|\|[\verb|\|033[1;37m\verb|\|] & Wei"s\\
|
||||
\verb|\|[\verb|\|033[0m\verb|\|] & Auf default Farbe setzten\\
|
||||
\end{tabular}
|
||||
\caption{Text Farben}
|
||||
\end{table}
|
||||
\newpage
|
||||
\begin{justify}
|
||||
Die Uhrzeit kann in dem nachfolgenden Beispiel in der rechten oberen Ecke platziert werden. Die Variable {\ttfamily COLUMNS} enth"alt die Anzahl der Spalten im Terminal.
|
||||
\end{justify}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Uhrzeit rechts oben]
|
||||
uws@tux>export PS1="\033[s\033[1;\$((COLUMNS-4))f\$(date +%H:%M)\033[u"
|
||||
\end{lstlisting}
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[scale=0.5]{Kapitel1/Pictures/PromptTime.png}
|
||||
\caption{Prompt mit Zeitangabe}
|
||||
\end{figure}
|
||||
Im nachfolgenden Beispiel wird der Prompt mit der Farbe {\ttfamily gr"uen} dargestellt. Am Anfang leitet das {\ttfamily \verb|\|e} die Farbe ein und am Ende der Zeile wird durch ein {\ttfamily \verb|\|e[m} die Farbe wieder ausgeschaltet.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Prompt in Gr"un]
|
||||
uws@tux>export PS1="\e[1;32m \u@\w:~> \e[m"
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
%--------------------------------------------------------------------------------
|
||||
% ZSH
|
||||
%--------------------------------------------------------------------------------
|
||||
\subsection{Zsh}
|
||||
Die Farbwerte f"ur die Zsh Shell sind die gleichen wie die der Bash. Sie k"onnen in der vorherigen Tabelle nachgeschaut werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel Zsh Shell]
|
||||
uws@tux>export PS1=$'\e[1;32m%n@%/:=> \e[0m'
|
||||
\end{lstlisting}
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\includegraphics[scale=0.5]{Kapitel1/Pictures/PromptZsh.png}
|
||||
\caption{Zsh Prompt}
|
||||
\end{figure}
|
||||
In der nachfolgenden Tabelle ist ein Auszug der vorhandenen Escape Sequencen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Escape-Sequenz}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
\%/ & Arbeitsverzeichnis (pwd)\\
|
||||
\%~ & Arbeitsverzeichnis, aber das Home Verzeichnis wird mit ~ angezeigt.\\
|
||||
\%M & Der ganze Hostname\\
|
||||
\%n & Der Hostname bis zum ersten Punkt\\
|
||||
\%@ & Uhrzeit im 12 Stunden Format\\
|
||||
\%T & Uhrzeit im 24 Stunden Format\\
|
||||
\%* & Uhrzeit im 24 Stunden Format incl. der Sekunden\\
|
||||
\%n & Username\\
|
||||
\%N & Name eines Scripts, Source File oder Shell\\
|
||||
\%w & Datum im day-dd Format\\
|
||||
\%W & Datum immm/dd/yy Format\\
|
||||
\%D & Datum im yy-mm-dd Format\\
|
||||
\end{tabular}
|
||||
\caption{Liste Escape Sequencen}
|
||||
\end{table}
|
||||
Die Farbe des Prompts nach der Shell Background Farbe einstellen. In dem nachfolgenden Beispiel wird abgefragt, ob die Hintergrundfarbe Wei"s ist.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel Backgrond Color]
|
||||
if [ "${COLORFGBG}" = "0;15" ]; then
|
||||
PS1=$'\e[0;30m%n@%m %~\e[0m\n$'
|
||||
else
|
||||
PS1=$'\e[1;32m%n@%m %~\e[1;33m %~\e[0m\n$'
|
||||
fi
|
||||
\end{lstlisting}
|
||||
%\vspace{15cm}
|
||||
\end{justify}
|
13
Kapitel1/ShellGedaechnis.tex
Executable file
13
Kapitel1/ShellGedaechnis.tex
Executable file
@ -0,0 +1,13 @@
|
||||
\section{Shell Ged"achnis}
|
||||
\begin{justify}
|
||||
Die bereits eingegebenen Befehle werden in der {\ttfamily ~/.bash\_history} gespeichert. Standardm"assig werden die letzten 500 Befehle eingetragen. Mit {\ttfamily uws@tux>echo
|
||||
\$HISTSIZE} kann man sich den Wert anzeigen lassen. M"ochte man mehr Befehle speichern,
|
||||
so kann das mit {\ttfamily uws@tux>export HISTSIZE=700} gemacht werden.\\[1ex]
|
||||
Die Suchfunktion schaltet man mit {\ttfamily [strg+R]} oder {\ttfamily [strg+s]} ein.
|
||||
Der Prompt ver"andert sich nun und den zu suchenden Befehl kann eingegebn werden.
|
||||
Die Bash vervollst"andigt die Eingabe Automatisch. Um weiter zu suchen, einfach die
|
||||
Tastenkombination noch einmal machen. Der gefundene Befehl wird dann mit einem
|
||||
{\ttfamily Enter} abgeschickt oder mit dem dr"ucken der {\ttfamily Esc-Taste} kann
|
||||
man den Befehl noch editieren.\\[1ex]
|
||||
Mit {\ttfamily uws@tux>fc -l -10} werden die 10 letzten Befehle angezeigt.
|
||||
\end{justify}
|
48
Kapitel1/Sonderzeichen.tex
Executable file
48
Kapitel1/Sonderzeichen.tex
Executable file
@ -0,0 +1,48 @@
|
||||
\section{Sonderzeichen}
|
||||
\begin{justify}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{3cm}p{13cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Sonderzeichen}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
; & Trennt Kommandos\\
|
||||
: & Dummy-Kommando, f"uhrt nichts aus\\
|
||||
. & Ohne eigene Subshell das Kommando ausf"uhren. z.B. . datei\\
|
||||
\verb|#| & Kommentar\\
|
||||
\verb|&| & Das Programm wird im Hintergrund ausgef"uhrt\\
|
||||
\verb|&&| & Bedingte Kommandoausf"uhrung. z.B. cmd1 \verb|&&| cmd2, dann wird cmd2 nur ausgef"uhrt, wenn cmd1 erfolgreich war\\
|
||||
\verb||| & Verbindet Kommandos miteinander\\
|
||||
|| & Bedingte Kommandoausf"uhrung, wie \verb|&&|, nur das cmd2 dann ausgef"uhrt wird, wenn cmd1 einen Fehler auswirft\\
|
||||
\verb|*| & Jokerzeichen, alle\\
|
||||
\verb|?| & Jokerzeichen, genau ein Zeichen\\
|
||||
\verb|[xyz]| & Jokerzeichen, eines aus xyz\\
|
||||
\verb|[^xyz]| & Jokerzeichen, alle ausser xyz\\
|
||||
\verb|[ ausdruck ]| & Andere Schreibweise f"ur Test\\
|
||||
\verb|~| & Homeverzeichnis\\
|
||||
\verb|>| & Umleiten in einer Datei, Datei wird neu geschrieben\\
|
||||
\verb|>>| & Umleiten in einer Datei, wird an die Datei angeh"angt\\
|
||||
\verb|>&| & Umleiten der Standardausgabe\\
|
||||
\verb|<| & Einlesen einer Datei\\
|
||||
\verb|<< ende| & Einlesen einer Datei bis ende\\
|
||||
\verb|(...)| & Innerhalb der Klammer werden die Kommandos in einer Shell ausgef"uhrt\\
|
||||
\verb|{...}| & Kommandos gruppieren\\
|
||||
\verb|{,,}| & Zeichenketten zusammenf"uhren\\
|
||||
\verb|$| & Inhalt von Variablen\\
|
||||
\verb|$*| oder \verb|$@| & Liste der "ubergebenen Parameter an die Shell\\
|
||||
\verb|$#| & Parameteranzahl\\
|
||||
\verb|$0| & Name des Shell-Programms\\
|
||||
\verb|$?| & R"uckgabewert des letzten Kommandos\\
|
||||
\verb|$!| & PID des letzten Hintergrundprozesses\\
|
||||
\verb|$$| & PID der aktuellen Shell\\
|
||||
\verb|$1 ... $9|& Parameter 1 bis 9\\
|
||||
\verb|$(...)| & Kommandosubstitution\\
|
||||
\verb|${...}| & Funktionen zur manipulation von zeichenketten\\
|
||||
\verb|$[...]| & Berechnungen\\
|
||||
\verb|"..."| & Sonderzeichen behalten ihre Wirkung\\
|
||||
\verb|'...'| & Sonderzeichen verlieren ihre Wirkung\\
|
||||
\verb|´...´| & Kommandosubstitution\\
|
||||
\verb|\zeichen| & Demaskieren, hebt die Wirkung des Sonderzeichens aus\\
|
||||
\end{tabular}
|
||||
\caption{Sonderzeichen}
|
||||
\end{table}
|
||||
\end{justify}
|
25
Kapitel1/Tastaturfunktionen.tex
Executable file
25
Kapitel1/Tastaturfunktionen.tex
Executable file
@ -0,0 +1,25 @@
|
||||
\section{Tastaturfunktionen}
|
||||
\begin{justify}
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{3cm}p{13cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Taste}} & \emph{\textbf{Erkl"arung}} \\
|
||||
\hline
|
||||
\hline
|
||||
\verb|[Strg] + [A]| & springt am Anfang der Eingabezeile \\
|
||||
\verb|[Strg] + [E]| & springt am Ende der Eingabezeile \\
|
||||
\verb|[Alt] + [B]| & springt ein Wort nach links in der Eingabezeile \\
|
||||
\verb|[Esc] + [B]| & geht ein Wort zur"uck \\
|
||||
\verb|[Alt] + [F]| & springt ein Wort nach rechts in der Eingabezeile \\
|
||||
\verb|[Esc] + [F]| & geht ein Wort vor \\
|
||||
\verb|[Strg] + [K]| & l"oscht von der Cursor-Position aus bis zum Ende der Zeile \\
|
||||
\verb|[Strg] + [U]| & l"oscht von der Cursor-Poistion aus bis zum Anfang der Zeile \\
|
||||
\verb|[Strg] + [W]| & l"oscht ein Wort nach links \\
|
||||
\verb|[Strg] + [T]| & vertauscht die beiden Zeichen vor und hinter dem Cursor \\
|
||||
\verb|[Alt] + [T]| & vertauscht die beiden vorangehenden W"orter in der Eingabezeile \\
|
||||
\verb|[Esc] + [T]| & vertauscht die beiden vorangehenden W"orter \\
|
||||
\verb|[Strg] + [L]| & r"aumt das Terminal Fenster auf \\
|
||||
\verb|[Tab]| & Vervollst"andigen von Befehlen / Dateinamen oder Verzeichnisse\\
|
||||
\end{tabular}
|
||||
\caption{Auswahl Tastaturfunktionen}
|
||||
\end{table}
|
||||
\end{justify}
|
25
Kapitel1/Tastenzuordnung.tex
Executable file
25
Kapitel1/Tastenzuordnung.tex
Executable file
@ -0,0 +1,25 @@
|
||||
\section{Tastenzuordnung}
|
||||
\begin{justify}
|
||||
Eine Tastenzuordnung kann man auf zwei Arten realisieren. Entweder man definiert die
|
||||
Tastenzuordnung in der {\ttfamily .bashrc} oder in der {\ttfamily .inputrc}. \\
|
||||
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel .bashrc]
|
||||
# F1: zeigt /var/log/messages
|
||||
bind '"\eOP":"tail -f /var/log/messages\n"'
|
||||
# F2: wechselt nach /etc
|
||||
bind '"\eOQ":"cd /etc\n"'
|
||||
# F3: wiederholt das letzte Wort der aktuellen Zeile
|
||||
bind '"\eOR":"!#$\e^"'
|
||||
\end{lstlisting}
|
||||
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel .inputrc]
|
||||
# F1: zeigt /var/log/messages
|
||||
"\eOP":"tail -f /var/log/messages\n"
|
||||
# F2: wechselt nach /etc
|
||||
"\eOQ":"cd /etc\n"
|
||||
# F3: wiederholt das letzte Wort der aktuellen Zeile
|
||||
"\eOR":"!#$\e^"
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
37
Kapitel10/Gruppen.tex
Executable file
37
Kapitel10/Gruppen.tex
Executable file
@ -0,0 +1,37 @@
|
||||
\section{Gruppen}
|
||||
\subsection{Anlegen}
|
||||
\begin{justify}
|
||||
Neue Gruppen lassen sich mit dem Befehl {\ttfamily groupadd} anlegen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Create Group, label=lst:bash]
|
||||
root@tux>groupadd <GruppenName>
|
||||
\end{lstlisting}
|
||||
\subsection{"Andern}
|
||||
Eine bestehende Gruppe kann man mit dem Befehl {\ttfamily groupmod} "andern. In der nachfolgenden Tabelle werden ein paar Optionen aufgelistet.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2cm}p{14cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Option}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
-g & "Andern der Group ID.\\
|
||||
-a & Hinzuf"ugen einen Benutzers f"ur die Gruppe.\\
|
||||
-R & L"o"schen eines Benutzers aus der Gruppe.\\
|
||||
\end{tabular}
|
||||
\caption{Optionen}
|
||||
\end{table}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Modify Group, label=lst:bash]
|
||||
root@tux>groupmod -a <BenutzerName> <Gruppen>
|
||||
\end{lstlisting}
|
||||
\subsection{L"oschen}
|
||||
Eine Gruppen kann man mit dem Befehl {\ttfamily groupdel} l"oschen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Delete Group, label=lst:bash]
|
||||
root@tux>groupdel <GruppenName>
|
||||
\end{lstlisting}
|
||||
\subsection{Anzeigen}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Delete Group, label=lst:bash]
|
||||
uws@tux>awk -F ':' '{print $1}' /etc/group
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
8
Kapitel10/Index.tex
Executable file
8
Kapitel10/Index.tex
Executable file
@ -0,0 +1,8 @@
|
||||
\chapter{Benutzer / Gruppen}
|
||||
%-------------------------------------------
|
||||
% load other documents
|
||||
%------------------------------------------
|
||||
\input{Kapitel10/User}
|
||||
\input{Kapitel10/Gruppen}
|
||||
\input{Kapitel10/LogonTime}
|
||||
\include{Kapitel10/UserAngemeldet}
|
65
Kapitel10/LogonTime.tex
Executable file
65
Kapitel10/LogonTime.tex
Executable file
@ -0,0 +1,65 @@
|
||||
\section{Logon Zeit begrenzen}
|
||||
\begin{justify}
|
||||
M"ochte man die Anmeldezeit f"ur einen User festlegen, so kann man das mittels der {\ttfamily times.conf} im Verzeichnis {\ttfamily /etc/security} bewerkstelligen.
|
||||
\subsection{Voraussetzung}
|
||||
Das Paket {\ttfamily libpam-modules} muss installiert sein.
|
||||
\subsection{Konfiguration}
|
||||
Die Syntax in der {\ttfamily times.conf} ist:
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Syntax times.conf, label=lst:bash]
|
||||
<services>;<ttys>;<user>;<time> # Kommentar
|
||||
\end{lstlisting}
|
||||
Beispiel:
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel, label=lst:bash]
|
||||
Login;*;paul;MoFr1200-1700
|
||||
\end{lstlisting}
|
||||
Das Format f"ur die Zeitangabe ist HHMM-HHMM.\\
|
||||
Format f"ur die Tage:
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2cm}p{14cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{K"urzel}} & \emph{\textbf{Tag}}\\
|
||||
\hline
|
||||
\hline
|
||||
Mo & Montag\\
|
||||
Tu & Dienstag\\
|
||||
We & Mittwoch\\
|
||||
Th & Donnerstag\\
|
||||
Fr & Freitag\\
|
||||
Sa & Samstag\\
|
||||
So & Sonntag\\
|
||||
Wk & Wochentags\\
|
||||
Wd & Wochenende\\
|
||||
Al & Alle Tage\\
|
||||
MoWk & Alle Wochentage, au"ser Montag\\
|
||||
AlFr & Alle Tage, au"ser Freitag\\
|
||||
\end{tabular}
|
||||
\caption{Liste Tage}
|
||||
\end{table}
|
||||
Folgende Operatoren gibt es:
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2cm}p{14cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Operatoren}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
! & Logisches nicht\\
|
||||
\& & Logisches und\\
|
||||
| & Logisches oder\\
|
||||
* & Platzhalter f"ur alles\\
|
||||
\end{tabular}
|
||||
\caption{Liste Operatoren}
|
||||
\end{table}
|
||||
Ein weiteres Beispiel:
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel, label=lst:bash]
|
||||
Login;tty*&!pts*;du|ich;!al1000-2400
|
||||
\end{lstlisting}
|
||||
Die User {\ttfamily du} und {\ttfamily ich} d"urfen sich an allen Tagen in der Zeit zwischen 10:00-24:00 nicht an den virtuellen Consolen anmelden. An Terminals (pty*) gilt die Sperre nicht.
|
||||
\subsection{Aktivierung}
|
||||
Damit die {\ttfamily times.conf} auch aktiv wird, so muss das Zeitmodul {\ttfamily pam\_time.so} in der Datei {\ttfamily common\_auth} im Verzeichnis {\ttfamily /etc/pam.d} geladen werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Common\_auth, label=lst:bash]
|
||||
root@tux>grep pam_time common_auth
|
||||
account required pam_time.so
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
164
Kapitel10/User.tex
Executable file
164
Kapitel10/User.tex
Executable file
@ -0,0 +1,164 @@
|
||||
\section{Benutzer}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Anlegen
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Anlegen}
|
||||
\begin{flushleft}
|
||||
Neue Benutzer werden mit dem Befehl {\ttfamily useradd} angelegt. Eine Auswahl der Optionen folgt in der nachfolgenden Liste. Die {\ttfamily default} Werte stehen in der Datei {\ttfamily useradd}, die sich im Verzeichnis {\ttfamily /etc/defaults} befindet.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2cm}p{14cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Option}} & \emph{\textbf{Beschreibung}}\\
|
||||
-c & Einen Kommentar mit angeben.\\
|
||||
-d & Angabe des Home Verzeichnisses.\\
|
||||
-e & Datum, wann das Konto abl"auft im Format YYYY-MM-DD.\\
|
||||
-f & Nach wie vielen Tagen des inaktiven Kontos, nach Ablauf des Kennwortes, das Konto gesperrt werden soll.\\
|
||||
-G & Angabe der Gruppen.\\
|
||||
-g & Angabe der Hauptgruppe.\\
|
||||
-m & Erstellen des Home Verzeichnisses.\\
|
||||
-p & Passwort.\\
|
||||
-r & Systemaccount.\\
|
||||
-s & Angabe der Shell.\\
|
||||
-u, \verb|--|uid & Angabe der UUID, z.B. 500\\
|
||||
\end{tabular}
|
||||
\caption{Optionen}
|
||||
\end{table}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=User Add, label=lst:bash]
|
||||
root@tux>useradd <Benutzername>
|
||||
|
||||
root@tux>useradd <Benutzername> -u 500
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Revise
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{"Andern}
|
||||
Einen angelegten Benutzer kann man mit dem Befehl {\ttfamily usermod} bearbeiten. Hierbei gelten die gleichen Optionen wie bei dem Anlegen eines neuen Benutzers.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Modify User, label=lst:bash]
|
||||
root@tux>usermod -c "Home User" <Benutzername>
|
||||
\end{lstlisting}
|
||||
Gruppen k"onnen einem User mit {\ttfamily -G} zugewiesen werden. In der Kombination mit {\ttfamily -a} werden die angegebenen Gruppen dem User addiert.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Add Group, label=lst:bash]
|
||||
root@tux>usermod -aG users,kvm,libvirt <Benutzername>
|
||||
\end{lstlisting}
|
||||
Die {\ttfamily UUID} eines Users kann mit {\ttfamily -u} ge"andert werden.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Modify UUID, label=lst:bash]
|
||||
root@tux>usermod -u <uuid> <Benutzername>
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Erase
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{L"oschen}
|
||||
Benutzer werden mit dem Befehl {\ttfamily userdel} gel"oscht. Gibt man die Option {\ttfamily -r} mit an, so wird das Home Verzeichnis mit gel"oscht.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Delete User, label=lst:bash]
|
||||
root@tux>userdel -r <Benutzername>
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Account lock
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Account sperren}
|
||||
Einen User Account kann man sperren, in dem man die Default Shell austauscht. Wird der Eintrag auf {\ttfamily /usr/sbin/nologin} gesetzt, ist ein Anmelden am dem System nicht mehr m"oglich.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Nologin]
|
||||
uws@tux>grep pi /etc/passwd
|
||||
pi:x:1000:1000:Raspbian Account:/home/pi:/usr/sbin/nologin
|
||||
\end{lstlisting}
|
||||
Einen Account kann man auch mit {\ttfamily passwd -l <UserName} sperren. Mit {\ttfamily passwd -u <UserName>} kann man den Account wieder entsperren.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Passwd]
|
||||
uws@tux># Account lock
|
||||
uws@tux>sudo passwd -l pi
|
||||
|
||||
uws@tux># Account unlock
|
||||
uws@tux>sudo passwd -u pi
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Anzeigen
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Anzeigen}
|
||||
Angelegte Benutzer kann man mit dem nachfolgenden Befehl sich anzeigen lassen. Mit {\ttfamily \$4} wird die GroupID ausgegeben.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=List User, label=lst:bash]
|
||||
uws@tux>awk -F ':' '{print $1}' /etc/passwd
|
||||
|
||||
uws@tux>awk -F ':' '{print $1 "-" $4}' /etc/passwd
|
||||
\end{lstlisting}
|
||||
F"ur die UID und Gruppen des angemeldeten Users gibt es auch die Variablen {\ttfamily UID} und {\ttfamily GROUPS}.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Show UID / GROUPS, label=lst:bash]
|
||||
uws@tux>echo $UID
|
||||
|
||||
uws@tux>echo $GROUPS
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Angemeldete User
|
||||
%-------------------------------------------------------------------------------
|
||||
Subsection{Angemeldete User}
|
||||
In der folgenden Tabelle stehen die Befehle drin, die angemeldete User anzeigen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{2cm}p{14cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Befehl}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
w & Zeigt an, wer ist angemeldet und was sie tun.\\
|
||||
who & Zeigt an, wer ist eingelogt.\\
|
||||
last & Welche Benutzer waren angemeldet\\
|
||||
\end{tabular}
|
||||
\caption{Optionen}
|
||||
\end{table}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Kennwort aendern
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Kennwort "andern}
|
||||
Das Kennwort kann man mit dem Befehl {\ttfamily passwd} "andern.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Change Passwort, label=lst:bash]
|
||||
root@tux>passwd <BenutzerName>
|
||||
Changing password for <Benutzer>
|
||||
New Password:
|
||||
Reenter password:
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Benutzer Info
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Benutzer Info's}
|
||||
Informationen "uber die Benutzer kann man mit dem Programm {\ttfamily finger} sich anzeigen lassen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Info's User, label=lst:bash]
|
||||
uws@tux>finger uws
|
||||
|
||||
Login: uws Name: Uwe Schimanski
|
||||
Directory: /home/uws Shell: /bin/bash
|
||||
On since Fri Oct 14 12:26 (CEST) on pts/0
|
||||
No Mail
|
||||
No Plan
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Fehlversuche
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Login Fehlversuche}
|
||||
Mit {\ttfamily faillog -a} werden alle fehlversuche f"ur einen Login pro User angezeigt. Mit {\ttfamily faillog -u <UserName>} werden nur die fehlversuche des angegebenen Users angezeigt.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Fehlversuche]
|
||||
uws@tux>sudo faillog -a
|
||||
Login Fehlver. Maximum Letzter Auf
|
||||
|
||||
root 4 0 01/27/19 18:54:58 +0100 192.168.70.
|
||||
bin 0 0 01/01/70 01:00:00 +0100
|
||||
daemon 0 0 01/01/70 01:00:00 +0100
|
||||
mail 0 0 01/01/70 01:00:00 +0100
|
||||
ftp 0 0 01/01/70 01:00:00 +0100
|
||||
http 0 0 01/01/70 01:00:00 +0100
|
||||
uuidd 0 0 01/01/70 01:00:00 +0100
|
||||
dbus 0 0 01/01/70 01:00:00 +0100
|
||||
nobody 0 0 01/01/70 01:00:00 +0100
|
||||
|
||||
uws@tux>sudo faillog -u uws
|
||||
Login Fehlver. Maximum Letzter Auf
|
||||
|
||||
uws 22 0 02/20/19 08:39:08 +0100 109.40.64.8
|
||||
\end{lstlisting}
|
||||
\end{flushleft}
|
41
Kapitel10/UserAngemeldet.tex
Executable file
41
Kapitel10/UserAngemeldet.tex
Executable file
@ -0,0 +1,41 @@
|
||||
\section{Angemeldeter User}
|
||||
\begin{justify}
|
||||
Mit dem Konsolenprogramm {\ttfamily loginctl} kann man sich Informationen "uber den angemeldeten User holen, den Sperrbildschirm entsperren und weitere Aktionen durchf"uhren.
|
||||
\subsection{Info}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=User Info]
|
||||
uws@tux>loginctl list-users
|
||||
UID USER
|
||||
---------
|
||||
1000 uws
|
||||
|
||||
1 users listed
|
||||
|
||||
uws@tux>logictl list-user <UserName>
|
||||
UID=1000
|
||||
GID=1000
|
||||
Name=uws
|
||||
Timestamp=Sat 2020-04-18 14:41:56 CEST
|
||||
TimestampMonotonic=34428981
|
||||
RuntimePath=/run/user/1000
|
||||
Service=user@1000.service
|
||||
Slice=user-1000.slice
|
||||
Display=2
|
||||
State=active
|
||||
Sessions=2
|
||||
IdleHint=no
|
||||
IdleSinceHint=0
|
||||
IdleSinceHintMonotonic=0
|
||||
Linger=no
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: User Terminate
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{User Terminat}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=User Terminate]
|
||||
uws@tux>loginctl terminate-user "<UserName>"
|
||||
|
||||
uws@tux>loginctl kill-user "<UserName>"
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
52
Kapitel11/Cups.tex
Executable file
52
Kapitel11/Cups.tex
Executable file
@ -0,0 +1,52 @@
|
||||
\section{CUPS (Common Unix Print System)}
|
||||
\subsection{Konfiguration}
|
||||
\begin{justify}
|
||||
Die Konfiguration von CUPS kann mit dem Programm {\ttfamily cupsctl} vorgenommen werden. Die Konfigurations Datei befindet sich im Verzeichnis {\ttfamily /etc/cups} und tr"agt den Namen{\ttfamily cupsd.conf}. Eine Hilfe bekommt man mit {\ttfamily man cupsd.conf} angezeigt.\\
|
||||
Nach "Anderung an der Konfiguration muss CUPS neu gestartet werden. In der nachfolgenden Tabelle sind einige der Konfigurartions Schalter aufgelistet.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Schalter}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
\verb|--|[no-]debug-logging & Das Logging ein- oder ausschalten.\\
|
||||
\verb|--|[no-]remote-admin & Remote Administration ein- oder ausschalten.\\
|
||||
\verb|--|[no-]remote-any & Internet Zugriff erlauben oder ausschalten.\\
|
||||
\verb|--|[no-]remote-printers & Remote Drucker anzeigen\\
|
||||
\verb|--|[no-]share-printers & Drucker freigeben.\\
|
||||
\verb|--|[no-]user-cancel-any & Benutzer d"urfen Jobs l"oschen.\\
|
||||
-E Veschl"usselung & einschalten\\
|
||||
-u <username> & Benutzername definieren.\\
|
||||
-h <server[:port]> & Server Adresse.\\
|
||||
\end{tabular}
|
||||
\caption{Schalter}
|
||||
\end{table}
|
||||
\subsection{Verwaltung - Browser}
|
||||
Die Verwaltung der Drucker unter CUPS kann man mit dem Browser durchf"uhren. Die Verwaltungsseite wird mit der URL {\ttfamily http://localhost:631} aufgerufen. Diese Seite l"ast sich nat"urlich auch von einem anderen Rechner aus aufrufen.
|
||||
\subsection{Dienst starten}
|
||||
Der Dienst wird mit {\ttfamily cups restart} neu gestartet. Au"ser {\ttfamily restart} gibt es auch noch {\ttfamily stop} und {\ttfamily stop}.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Synatx cups]
|
||||
root@tux>cups <restart> <stop> <start>
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
\subsection{Admin}
|
||||
\begin{justify}
|
||||
Standardm"a"sig darf nur der erste angelegte Benutzer Cups Administrieren. M"ochte man noch andere Benutzer die Administration erlauben, so sind diese Benutzer zu der Gruppe {\ttfamily lpadmin} hinzuzuf"ugen.
|
||||
\end{justify}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Add User to group]
|
||||
root@tux>adduser <username> lpadmin
|
||||
\end{lstlisting}
|
||||
\subsection{Druckdaten entfernen}
|
||||
Abgearbeitet Druckdaten kann man mit dem nachfolgenden Befehl entfernen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Delete Print Job]
|
||||
root@tux>cupsctl AutoPurgeJobs=yes PreserveJobFiles=no PreserveJobHistory=no
|
||||
\end{lstlisting}
|
||||
\subsection{Servernamen Drucker}
|
||||
Soll bei jedem Drucker auch der Servernamen mit angezeigt werden, so gibt man folgendes ein.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Modify Cups]
|
||||
uws@tux>cupsctl BrowseShortNames=no
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
65
Kapitel11/Drucken.md
Executable file
65
Kapitel11/Drucken.md
Executable file
@ -0,0 +1,65 @@
|
||||
|
||||
# Drucken #
|
||||
## 1. CUPS (Common Unix Print System) ##
|
||||
### 1.1 Konfiguration ###
|
||||
|
||||
Die Konfiguration von CUPS kann mit dem Programm ***cupsctl*** vorgenommen werden. Die
|
||||
Konfigurations Datei befindet sich im Verzeichnis ***/etc/cups*** und trägt den Namen ***cupsd.conf***. Eine
|
||||
Hilfe bekommt man mit `man cupsd.conf` angezeigt.
|
||||
|
||||
In der nachfolgenden Tabelle sind einige der Konfigurartions Schalter aufgelistet.
|
||||
|
||||
|Schalter| Beschreibung|
|
||||
|:-------|:------------|
|
||||
|--[no-]debug-logging| Das Logging ein- oder ausschalten.|
|
||||
|--[no-]remote-admin| Remote Administration ein- oder ausschalten.|
|
||||
|--[no-]remote-any| Internet Zugriff erlauben oder ausschalten.|
|
||||
|--[no-]remote-printers| Remote Drucker anzeigen|
|
||||
|--[no-]share-printers| Drucker freigeben.|
|
||||
|--[no-]user-cancel-any| Benutzer dürfen Jobs löschen.|
|
||||
|-E Veschlüsselung| einschalten|
|
||||
|-u <username>| Benutzername definieren.|
|
||||
|-h <server[:port]>| Server Adresse.|
|
||||
|
||||
Nach Änderung an der Konfiguration muss CUPS neu gestartet werden.
|
||||
|
||||
### 1.2 Verwaltung - Browser ###
|
||||
|
||||
Die Verwaltung der Drucker unter CUPS kann man mit dem Browser durchführen. Die
|
||||
Verwaltungsseite wird mit der URL ***http://localhost:631*** aufgerufen. Diese Seite läst sich
|
||||
natürlich auch von einem anderen Rechner aus aufrufen.
|
||||
|
||||
### 1.3 Dienst starten ###
|
||||
|
||||
Der Dienst wird mit `cups restart` neu gestartet. Außer ***restart*** gibt es auch noch ***stop*** und
|
||||
***start***.
|
||||
|
||||
```console
|
||||
root@tux>cups <restart> <stop> <start>
|
||||
```
|
||||
|
||||
### 1.4 Admin ###
|
||||
|
||||
Standardmäßig darf nur der erste angelegte Benutzer Cups Administrieren. Möchte man noch andere
|
||||
Benutzer die Administration erlauben, so sind diese Benutzer zu der Gruppe ***lpadmin*** hinzuzufügen.
|
||||
|
||||
```console
|
||||
root@tux>adduser <username> lpadmin
|
||||
```
|
||||
|
||||
### 1.5 Druckdaten entfernen ###
|
||||
|
||||
Abgearbeitet Druckdaten kann man mit dem nachfolgenden Befehl entfernen.
|
||||
|
||||
```console
|
||||
root@tux>cupsctl AutoPurgeJobs=yes PreserveJobFiles=no PreserveJobHistory=no
|
||||
```
|
||||
|
||||
### 1.6 Servernamen Drucker ###
|
||||
|
||||
Soll bei jedem Drucker auch der Servernamen mit angezeigt werden, so gibt man folgendes ein.
|
||||
|
||||
```console
|
||||
uws@tux>cupsctl BrowseShortNames=no
|
||||
```
|
||||
|
7
Kapitel11/Index.tex
Executable file
7
Kapitel11/Index.tex
Executable file
@ -0,0 +1,7 @@
|
||||
\chapter{Drucken}
|
||||
%-------------------------------------------
|
||||
% load other documents
|
||||
%------------------------------------------
|
||||
\input{Kapitel11/Cups}
|
||||
\newpage
|
||||
\input{Kapitel11/Lpr}
|
92
Kapitel11/Lpr.tex
Normal file
92
Kapitel11/Lpr.tex
Normal file
@ -0,0 +1,92 @@
|
||||
\section{Lpr, Lpq und Lpstat}
|
||||
%===============================================================================
|
||||
% Subesction: Allgemein
|
||||
%===============================================================================
|
||||
\subsection{Allgemein}
|
||||
\begin{justify}
|
||||
Mit dem Konsolen Befehl {\ttfamily lpr} kann man Dateien, wie z.B. PDF-Dokumente, ausdrucken. Der Befehl {\ttfamily lpq} gibt die aktuellen Druckaufträge aus. Auch der Befehl {\ttfamily lpstat} gibt die Druckaufträge aus.
|
||||
%===============================================================================
|
||||
% Subesction: Nützliche Scripte
|
||||
%===============================================================================
|
||||
\subsection{Nützliche Scripte}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Mehrere PDF einzeln drucken]
|
||||
uws@tux>cat mdruck.sh
|
||||
#!/usr/bin/env bash
|
||||
for in in $(ls -1 *.pdf); do
|
||||
printf "Druck von ${i}\n"
|
||||
lpr ${i}
|
||||
done
|
||||
|
||||
# Zeige Druckaufträge
|
||||
lpq
|
||||
\end{lstlisting}
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Druckjobs anzeigen]
|
||||
uws@tux>cat showjobs.sh
|
||||
#!/usr/bin/env bash
|
||||
# Abbruch des Scripts mit ctrl+c
|
||||
|
||||
while true; do
|
||||
echo -e "\e[32m------------------------------------------------------------\e[0m"
|
||||
datum=$(date)
|
||||
echo -e "\e[31m\e[1mÜbersicht Druckaufträge ${datum}\e[0m"
|
||||
for dru in $(lpstat -a | cut -d \ -f1); do
|
||||
jobzahl=$(lpq -P${dru} | sed 1,2d | wc -l)
|
||||
echo -e "\e[32m------------------------------------------------------------\e[0m"
|
||||
echo -e "\e[7mDrucker: ${dru} ${jobzahl} Aufträge \e[0m"
|
||||
lpq -P ${dru} | sed 1,2d | head -3
|
||||
done
|
||||
sleep 3
|
||||
clear
|
||||
done
|
||||
\end{lstlisting}
|
||||
%===============================================================================
|
||||
% Subesction: Beispiele
|
||||
%===============================================================================
|
||||
\subsection{Beispiele}
|
||||
Hier sind mehrere Beispiele.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiele]
|
||||
uws@tux># Eine PDF-Datei ausdrucken, Standarddrucker
|
||||
uws@tux>lpr MyDok.pdf
|
||||
|
||||
uws@tux># Eine PDF-Datei ausdrucken, Drucker angeben
|
||||
uws@tux>lpr -P HP502 MyDok.pdf
|
||||
|
||||
uws@tux># Mehrfach Ausdrucke
|
||||
uws@tux>lpr -# 3 MyDok.pdf
|
||||
|
||||
uws@tux># Druckaufträge ausgeben
|
||||
uws@tux>lpq
|
||||
MFGO240 ist bereit
|
||||
keine Einträge
|
||||
|
||||
uws@tux># Druckaufträge mit lpstat
|
||||
uws@tux>lpstat -o
|
||||
|
||||
uws@tux># Druckauftrag löschen
|
||||
uws@tux>lprm 4711
|
||||
\end{lstlisting}
|
||||
%===============================================================================
|
||||
% Subesction: Lpstat
|
||||
%===============================================================================
|
||||
\subsection{Lpstat}
|
||||
Mit dem Befehl {\ttfamily lpstat} kann man sich ebenso die Druckaufträge ausgeben lassen wie mit dem Befehl {\ttfamily lpq}. Nachfolgend sind einige Optionen von lpstat aufgelistet.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
|
||||
\rowcolor{hellgrau}\emph{\textbf{Option}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
lpstat -o & alle Druckaufträge auflisten\\
|
||||
lpstat -u User & Aufträge von User ausgeben.\\
|
||||
lpstat -R & Rangliste der Druckaufträge\\
|
||||
lpstat -R -u User & Rangliste der Druckaufträge von User\\
|
||||
lpstat -d & Standarddrucker ausgeben\\
|
||||
lpstat -v & Liste verfügbarer Drucker\\
|
||||
lpstat -a & Liste aktiver Drucker\\
|
||||
lpstat -r & Status des Druck-Daemons\\
|
||||
\end{tabular}
|
||||
\caption{Lpstat Option}
|
||||
\end{table}
|
||||
\end{justify}
|
14
Kapitel12/AsciiArt.tex
Normal file
14
Kapitel12/AsciiArt.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\section{Ascii Art}
|
||||
\begin{justify}
|
||||
Mit {\ttfamily figlet} kann man einen Text in Ascii Art auf der Shell ausgeben lassen.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Figlet]
|
||||
uws@tux>figlet Arch Linux
|
||||
_ _ _ _
|
||||
/ \ _ __ ___| |__ | | (_)_ __ _ ___ __
|
||||
/ _ \ | '__/ __| '_ \ | | | | '_ \| | | \ \/ /
|
||||
/ ___ \| | | (__| | | | | |___| | | | | |_| |> <
|
||||
/_/ \_\_| \___|_| |_| |_____|_|_| |_|\__,_/_/\_\
|
||||
|
||||
\end{lstlisting}
|
||||
\end{justify}
|
133
Kapitel12/Conky.tex
Executable file
133
Kapitel12/Conky.tex
Executable file
@ -0,0 +1,133 @@
|
||||
\section{Conky - Desktop aufmotzen}
|
||||
\subsection{Allgemein}
|
||||
\begin{justify}
|
||||
Mit dem Programm {\ttfamily conky} kann man sich auf dem Desktop einen Systemmonitor erstellen. Conky ist in fast allen Distributionen enthalten und kann mit dem jeweiligen Paketmanager installiert werden. Auch RSS-Feeds lassen sich mit conky auf dem Desktop darstellen. Es gibt "uber 250 Objekte und F"ahigkeiten, die das Programm mitbringt. Ab der Conky Version 1.10 hat sich die Syntax ge"andert und auch einige Variablen sind entfallen. F"ur die Konfigurationsdatei wird nun die LUA-Syntax verwendet.
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Conky ausfuehren
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Conky ausf"uhren}
|
||||
Ruft man {\ttfamily conky} ohne einen Parameter auf, so wird die Konfiguration aus dem Verzeichnis /etc/conky/conky.conf verwendet. Unter Arch Linux befindet sich die Datei unter /usr/share/doc/conky-1.10.8\verb|_|pre. Befindet sich im Home Verzeichnis auch eine .conkyrc Datei, so wird diese ausgewertet. Mit dem Parameter {\ttfamily -c} und der Angabe des Pfades und des Datei Namens wird dann diese Datei ausgewertet.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Conky ausf"uhren]
|
||||
uws@tux>conky -c ~/.config/conky/.conkyrc
|
||||
|
||||
uws@tux># Kopiert die Standard Konfig in das Verzeichnis
|
||||
uws@tux>conky -C ~/.config/conky/conky.conf
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Konfiguration
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Konfiguration}
|
||||
In der Konfigurationsdatei gibt es zwei Abschnitte. In dem ersten Abschnitt {\ttfamily conky.config} werden die Grunds"atzlichen Einstellungen vorgenommen und in dem Abschnitt {\ttfamily conky.text} wird definiert, was angezeigt werden soll.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Abschnitte Beispiel]
|
||||
-- Kommentare werden mit zwei - eingeleitet
|
||||
conky.config = {
|
||||
alignment = 'bottom_right',
|
||||
background = false,
|
||||
...
|
||||
};
|
||||
conky.text = [[
|
||||
${scroll 16 $nodename - $kernel}
|
||||
$hr
|
||||
${color grey}Uptime:$color $uptime
|
||||
...
|
||||
]]
|
||||
\end{lstlisting}
|
||||
Welche variablen es gibt, kann man unter \url{conky.sourceforge.net/variables.html} sich anzeigen lassen.
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: Definitionen
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{Definitionen}
|
||||
Das Aussehen und die Position des Conky Fensters werden in dem ersten Abschnitt definiert. Gr"o"senangabe erfolgen in Pixeln Angaben. Hier ein paar Definitionen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}}
|
||||
\rowcolor{hellgrau}\emph{\textbf{Definition}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
alignment = 'top\verb|_|right' & Angabe der Position des Fensters\\
|
||||
gap\verb|_|y = -10 & Verschieben des Conky Fensters nach oben oder unten\\
|
||||
gap\verb|_|x = 5 & Verschieben des Conky Fensters nach rechts oder links\\
|
||||
minimum\verb|_|height = 100 & Minimum der H"ohe\\
|
||||
minimum\verb|_|width = 40 & Minimum der Breite\\
|
||||
xinerama\verb|_|head = 1 & Auf welchem Monitor soll die Ausgabe erscheinen bei mehr als einen Bildschirm\\
|
||||
update\verb|_|interval = 1.0 & Aktualisierungszeit, die Angabe erfolgt in Sekunden. 1.0 ist ein guter Wert\\
|
||||
own\verb|_|window\verb|_|argb\verb|_|visual = true & Transparente Conky Anzeige einschalten\\
|
||||
own\verb|_|window\verb|_|argb\verb|_|value = 0 & Bei 0 komplett durchsichtig und h"ohere Zahlen durchsichtigkeit abnehmend\\
|
||||
double\verb|_|buffer = true & Bei flackernder Bildschirm Ausgabe einschalten\\
|
||||
font = 'DejaVu Sans Mono:size=12' & Schriftart setzen, alle Linux Schriften k"onnen verwendet werden\\
|
||||
draw\verb|_|borders = true & Rahmen um das Fenster darstellen\\
|
||||
border\verb|_|width = 3 & St"arke des Rahmens\\
|
||||
stippled\verb|_|borders = 1 & Gepunktete Umrandung\\
|
||||
border\verb|_|inner\verb|_|margin = 5 & Abstand zum Rand, Angabe in Pixel\\
|
||||
\end{tabular}
|
||||
\caption{Definitionen}
|
||||
\end{table}
|
||||
Was man dann auf dem Desktop ausgeben m"ochte, wird dann im Abschnitt {\ttfamily conky.text} festgelegt. Hier wird dann auch die Position der Elemente definiert. Die Angaben stehen dann zwischen den {\ttfamily \verb|[[ und ]]|}. Nachfolgend eine kurze Liste der Variablen, die als Standard zu Verf"ugung stehen.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}}
|
||||
\rowcolor{hellgrau}\emph{\textbf{Variable}} & \emph{\textbf{Beschreibung}}\\
|
||||
\hline
|
||||
\hline
|
||||
\$nodename & Hostname\\
|
||||
\$kernel & Kernel\\
|
||||
\$memperc\% & Speicherverbrauch in Prozent\\
|
||||
\$swap & Swap Gr"o"se\\
|
||||
\$swapmax & Maximale Swap Gr"o"se\\
|
||||
\$swapperc & Aktueller Swap Verbrauch in Prozent\\
|
||||
\$cpu\% & Prozessorlast in Prozent\\
|
||||
\$fs\verb|_|used & Belegten Platz der Festplatte\\
|
||||
\$fs\verb|_|size & Gr"o"se der Festplatte\\
|
||||
\$hr & Horizontale Linie\\
|
||||
scroll & Ausgabe als Laufband\\
|
||||
\end{tabular}
|
||||
\caption{Variablen}
|
||||
\end{table}
|
||||
Hier ein kleines Beispiel aus der C'T 18.26.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Beispiel]
|
||||
congy.text = [[
|
||||
${scroll 26 $nodename - $sysname $kernel on $machine | }
|
||||
$hr
|
||||
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
|
||||
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
|
||||
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
|
||||
$hr
|
||||
${color grey}File Systems: / ${color${fs_used /\/${fs_size /} ${fs_bar 6 /}
|
||||
\end{lstlisting}
|
||||
Ein Bild oder auch ein Logo kann man mit {\ttfamily image} einbinden. Die zwei Zahlen hinter dem Parameter {\ttfamily -p} sind die Werte f"ur den Abstand des Bildes in Pixel x und y.
|
||||
\listBash
|
||||
\begin{lstlisting}[captionpos=b, caption=Bild einf"ugen]
|
||||
${image .config/conky/MyLogo.jpg -p 170,25}
|
||||
\end{lstlisting}
|
||||
%-------------------------------------------------------------------------------
|
||||
% Subsection: RSS Feed
|
||||
%-------------------------------------------------------------------------------
|
||||
\subsection{RSS Feed einbinden}
|
||||
Auch RSS Feeds kann man mit Conky ausgeben.
|
||||
\begin{table}[ht]
|
||||
\begin{tabular}{p{4cm}p{12cm}}
|
||||
\rowcolor{hellgrau}\emph{\textbf{Variable}} & \emph{\textbf{Beschreibung}}\\
|
||||