diff --git a/werkzeugkasten.tex b/werkzeugkasten.tex index 85630a6..1ea21d4 100644 --- a/werkzeugkasten.tex +++ b/werkzeugkasten.tex @@ -1,4 +1,4 @@ -\chapter{Nützliche Shell-Kommandos} +\chapter{Nützliche Shell-Kommandos}\label{nuetzliche_shell-kommandos} Durch die gezeigten Steuerungsmöglichkeiten stehen dem Shell-Pro\-grammie\-rer Möglichkeiten offen, fast alle gängigen Algorithmen zu implementieren. Es ist tatsächlich in der Shell möglich, Sortier- oder Suchfunktionen zu schreiben. @@ -47,6 +47,8 @@ der Praxis oft als sehr hilfreich: \LTXtable{\textwidth}{tab_kommandos_echo_parameter.tex} +\index{echo=\texttt{echo}|)} + \subsection{cat}\label{cat}\index{cat=\texttt{cat}|(textbf} @@ -69,6 +71,8 @@ formatieren, so k werden, oder mit \texttt{-s} mehrere Zeilen zu einer einzigen zusammengefaßt werden. +\index{cat=\texttt{cat}|)} + \subsection{tail}\label{tail}\index{tail=\texttt{tail}|(textbf} @@ -80,12 +84,16 @@ Parameter \texttt{-l} steuern. Mit dem Parameter \texttt{-f} (follow) gibt \texttt{tail} neue Zeilen aus, sobald sie an die Datei angehängt werden. +\index{tail=\texttt{tail}|)} + \subsection{head}\label{head}\index{head=\texttt{head}|(textbf} \texttt{head} ist das Gegenstück zu \texttt{tail} (Siehe \ref{tail}). Hier werden allerdings nicht die letzten Zeilen angezeigt, sondern die ersten. +\index{head=\texttt{head}|)} + \subsection{read}\label{read}\index{read=\texttt{read}|(textbf} @@ -135,17 +143,50 @@ Eingabe oder beim Lesen aus einer Pipe aktiv. Der Rückgabewert des \texttt{read}-Kommandos ist 0, es sei denn es trat ein Timeout oder ein EOF auf. -\section{Pfade und Dateien} +\index{read=\texttt{read}|)} -TODO!!! -\subsection{basename} +\section{Pfade und Dateien}\label{pfade_und_dateien} -TODO!!! +Eine der Hautaufgaben von Shell-Skripten ist natürlich das Hantieren mit +Dateien. In diesem Abschnitt geht es allerdings nicht um den Umgang mit +Dateiinhalten, sondern vielmehr werden einige nützliche Tools im Umgang mit +Dateien an sich vorgestellt. -\subsection{touch} +\subsection{basename}\label{basename}\index{basename=\texttt{basename}|(textbf} -TODO!!! +Dem Tool \texttt{basename} wird als Parameter ein Pfad zu einer Datei +übergeben. Der in der Angabe enthaltene Pfad wird abgeschnitten, nur der Name +der eigentlichen Datei wird zurückgegeben. + +\index{basename=\texttt{basename}|)} + + +\subsection{dirname}\label{dirname}\index{dirname=\texttt{dirname}|(textbf} + +Analog zu \texttt{basename} gibt \texttt{dirname} nur die Pfad-Komponente einer +angegebenen Datei zurück. + +\index{dirname=\texttt{dirname}|)} + + +\subsection{touch}\label{touch}\index{touch=\texttt{touch}|(textbf} + +Mit diesem Kommando kann man einerseits Dateien anlegen wenn sie nicht +existieren, und andererseits die Änderungs- und Zugriffszeiten einer Datei +ändern. Ohne die Angabe weiterer Parameter wird die Datei erzeugt wenn sie +nicht existierte, bzw. in ihrer Änderungs- und Zugriffszeit auf die aktuelle +Zeit gesetzt. + +Mit dem Parameter \texttt{-a} wird nur die Zugriffs-, mit \texttt{-m} nur die +Änderungszeit gesetzt. Mit \texttt{-c} kann die Erstellung einer neuen Datei +unterdrückt werden. + +Die eingesetzte Zeit kann auch durch die Parameter \texttt{-t} bzw. \texttt{-d} +angegeben werden. Mit \texttt{-r} kann die Zeit der einer angegebenen +Referenzdatei angepaßt werden. + +\index{touch=\texttt{touch}|)} \section{Pipes manipulieren}