Viele Neuerungen
This commit is contained in:
@ -44,13 +44,19 @@ typische Aufgaben beschrieben. Diese enthalten `Links' zu den in Frage
|
||||
kommenden Werkzeugen. Danach gibt es eine alphabetische Aufz<66>hlung der
|
||||
wichtigsten Kommandos.
|
||||
|
||||
Das GNU-Projekt\marginpar{GNU!} hat vielen Kommandos n<>tzliche Parameter
|
||||
zugef<EFBFBD>gt, einige der hier beschriebenen Tools stehen ausschlie<69>lich auf
|
||||
GNU-Systemen zur Verf<72>gung. Da diese Optionen nicht auf allen Unix-Systemen zur
|
||||
Verf<EFBFBD>gung stehen, werden die betroffenen Stellen wie dieser Absatz am Rand mit
|
||||
`GNU!' markiert. Wenn diese Kommandos und Optionen benutzt werden mu<6D> also das
|
||||
Zielsystem ber<65>cksichtigt werden, im Zweifelsfall sollten die Skripte
|
||||
ausf<EFBFBD>hrlich getestet werden.
|
||||
\begin{dinglist}{43}
|
||||
\item Viele der hier vorgestellten Kommandos stehen in erweiterten Versionen
|
||||
zur Verf<72>gung. Besonders auf GNU-Systemen~--~und somit auch auf Linux~--~gibt
|
||||
es viele sehr n<>tzliche Parameter, die man sich auf `standardkonformeren'
|
||||
Systemen nur w<>nschen kann. Diese Vorteile sind allerdings mit Vorsicht zu
|
||||
genie<EFBFBD>en: Wenn sie zum Einsatz kommen sind die entstehenden Skripte nicht mehr
|
||||
plattformunabh<EFBFBD>ngig.
|
||||
|
||||
Um <20>berraschungen zu vermeiden wurde versucht, diese Besonderheiten kenntlich
|
||||
zu machen. Stellen mit einer Markierung wie in diesem Absatz sind also
|
||||
besonders zu betrachten.
|
||||
\end{dinglist}
|
||||
|
||||
|
||||
\section{N<EFBFBD>gel...}\label{naegel}
|
||||
|
||||
@ -295,7 +301,7 @@ Prozeduren verwendet werden k
|
||||
\LTXtable{\textwidth}{tab_kommandos_awk_variablen.tex}
|
||||
|
||||
Eigene Variablen k<>nnen nach Belieben verwendet werden, siehe dazu das Beispiel
|
||||
mit den TeX-Dateien weiter unten.
|
||||
mit den \TeX-Dateien weiter unten.
|
||||
|
||||
\subsubsection{Beispiele}
|
||||
|
||||
@ -397,10 +403,12 @@ Au
|
||||
\lstinline|cat datei.txt | kommando| Daten an ein Programm <20>bergeben, das nur
|
||||
von der Standardeingabe lesen kann (Filter).
|
||||
|
||||
GNU-\texttt{cat}\marginpar{GNU!} verf<72>gt <20>ber eine Reihe von Parametern, um die
|
||||
Ausgabe zu formatieren, so k<>nnen mit \texttt{-n} bzw. \texttt{-b} die Zeilen
|
||||
numeriert werden, oder mit \texttt{-s} mehrere Zeilen zu einer einzigen
|
||||
zusammengefa<EFBFBD>t werden.
|
||||
\begin{dinglist}{43}
|
||||
\item GNU-\texttt{cat} verf<EFBFBD>gt <20>ber eine Reihe von Parametern, um die Ausgabe
|
||||
zu formatieren, so k<>nnen mit \texttt{-n} bzw. \texttt{-b} die Zeilen numeriert
|
||||
werden, oder mit \texttt{-s} mehrere Zeilen zu einer einzigen zusammengefa<EFBFBD>t
|
||||
werden.
|
||||
\end{dinglist}
|
||||
|
||||
\index{cat=\texttt{cat}|)}
|
||||
|
||||
@ -496,9 +504,14 @@ Will man lediglich die Gruppen-ID
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{chpasswd}\index{chpasswd=\texttt{chpasswd}|(textbf}\marginpar{GNU!}
|
||||
\subsection{chpasswd}\index{chpasswd=\texttt{chpasswd}|(textbf}
|
||||
|
||||
Mit diesem GNU-Kommando bietet sich dem Administrator des Systems die
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Mit diesem Kommando bietet sich dem Administrator des Systems die
|
||||
M<EFBFBD>g\-lich\-keit, scriptgesteuert die Pa<50>w<EFBFBD>rter f<>r neue Benutzer zu vergeben.
|
||||
Manuell <20>ndert man ein Pa<50>wort mit dem Kommando
|
||||
\texttt{passwd}\index{passwd=\texttt{passwd}}, allerdings l<>scht (flusht)
|
||||
@ -539,9 +552,11 @@ jeweils mit der Position (dezimal) und den beiden Bytes (oktal).
|
||||
Durch \texttt{-s} l<><6C>t sich die Ausgabe von Unterschieden unterdr<64>cken, der
|
||||
Exit-Status gibt weiterhin das Ergebnis an.
|
||||
|
||||
In der GNU-Version\marginpar{GNU!} gibt es auch Parameter, mit denen Bereiche
|
||||
der Datei vom Vergleich ausgeschlossen werden k<>nnen (\texttt{-i}), oder mit
|
||||
denen nur die ersten n Bytes der Dateien verglichen werden (\texttt{-n}).
|
||||
\begin{dinglist}{43}
|
||||
\item In der GNU-Version gibt es auch Parameter, mit denen Bereiche der Datei
|
||||
vom Vergleich ausgeschlossen werden k<>nnen (\texttt{-i}), oder mit denen nur
|
||||
die ersten n Bytes der Dateien verglichen werden (\texttt{-n}).
|
||||
\end{dinglist}
|
||||
|
||||
\index{cmp=\texttt{cmp}|)}
|
||||
|
||||
@ -873,8 +888,8 @@ Empf
|
||||
Wenn der Proze<7A> sich weigert zu sterben, wartet \texttt{killall} ewig.
|
||||
|
||||
Eine <20>hnliche Funktionalit<69>t bietet auch das Kommando \texttt{pkill} (Abschnitt
|
||||
\ref{pkill}), \texttt{killall} hat aber den Vorteil da<64> es auf mehr Systemen
|
||||
zur Verf<72>gung steht.
|
||||
\ref{pkill}), allerdings hat \texttt{killall} den Vorteil da<64> es auf mehr
|
||||
Systemen zur Verf<72>gung steht.
|
||||
|
||||
\index{killall=\texttt{killall}|)}
|
||||
|
||||
@ -888,9 +903,11 @@ informieren.
|
||||
|
||||
Der zu loggende Text wird einfach als Parameter <20>bergeben.
|
||||
|
||||
Die GNU-Version\marginpar{GNU!} verf<72>gt <20>ber einige Parameter, unter anderem
|
||||
kann die Nachricht mit \texttt{-s} parallel zum System-Log auch auf der
|
||||
\begin{dinglist}{43}
|
||||
\item Die GNU-Version verf<72>gt <20>ber einige Parameter, unter anderem kann die
|
||||
Nachricht mit \texttt{-s} parallel zum System-Log auch auf der
|
||||
Standard-Fehlerausgabe ausgegeben werden.
|
||||
\end{dinglist}
|
||||
|
||||
\index{logger=\texttt{logger}|)}
|
||||
|
||||
@ -902,15 +919,19 @@ Den Inhalt von Verzeichnissen im Dateisystem bringt man mit \texttt{ls} in
|
||||
Erfahrung. Ein einfacher Aufruf listet lediglich die Dateinamen im aktuellen
|
||||
oder angegebenen Verzeichnis auf, das Kommando hat aber auch sehr viele
|
||||
Parameter mit denen sich die Ausgabe anpassen l<><6C>t. Hier sind die wichtigsten,
|
||||
eine vollst<73>ndige Auflistung bietet wie immer die Man-Page:
|
||||
eine vollst<73>ndige Auflistung bietet wie immer die Man-Page.
|
||||
|
||||
\marginpar{GNU!}\LTXtable{\textwidth}{tab_kommandos_ls_parameter.tex}
|
||||
\begin{dinglist}{43}
|
||||
\item Einige der folgenden Parameter entsprechen nicht dem allgemeinen
|
||||
Standard:
|
||||
\end{dinglist}
|
||||
\LTXtable{\textwidth}{tab_kommandos_ls_parameter.tex}
|
||||
|
||||
Besonders informativ gibt sich der Parameter \texttt{-l}, da damit auch die
|
||||
Eigent<EFBFBD>mer und die Berechtigungen der Dateien angezeigt werden. Die Ausgabe hat
|
||||
die folgende Form:
|
||||
|
||||
\texttt{-rw-r--r-- 1 rschaten users 6252 Nov 19 14:14 shell.tex}
|
||||
\lstinline|-rw-r--r-- 1 rschaten users 6252 Nov 19 14:14 shell.tex|
|
||||
|
||||
Die linke Spalte der Ausgabe zeigt die bestehenden Berechtigungen. Es ist ein
|
||||
Block in der Form `drwxrwxrwx'. An Stelle des d k<>nnen auch andere Buchstaben
|
||||
@ -985,13 +1006,18 @@ gedreht.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{pgrep}\label{pgrep}\index{pgrep=\texttt{pgrep}|(textbf}\marginpar{GNU!}
|
||||
\subsection{pgrep}\label{pgrep}\index{pgrep=\texttt{pgrep}|(textbf}
|
||||
|
||||
Eine h<>ufig wiederkehrende Aufgabe ist es, zu sehen ob ein bestimmter Proze<7A>
|
||||
existiert oder nicht. Falls das Kommando \texttt{pgrep} zur Verf<72>gung steht,
|
||||
kannn man auf das Konstrukt mit \texttt{ps} und \texttt{grep} verzichten. Der
|
||||
folgende Aufruf liefert alle Proze<7A>-IDs, deren Name httpd enth<74>lt, inclusive
|
||||
des vollen Kommandos:
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Eine h<>ufig wiederkehrende Aufgabe ist es, zu sehen ob ein bestimmter
|
||||
Proze<EFBFBD> existiert oder nicht. Falls das Kommando \texttt{pgrep} zur Verf<72>gung
|
||||
steht, kannn man auf das Konstrukt mit \texttt{ps} und \texttt{grep}
|
||||
verzichten. Der folgende Aufruf liefert alle Proze<7A>-IDs, deren Name httpd
|
||||
enth<EFBFBD>lt, inclusive des vollen Kommandos:
|
||||
|
||||
\lstinline|pgrep -lf httpd|
|
||||
|
||||
@ -1012,7 +1038,12 @@ Siehe auch: Abschnitt \ref{beispiele_suchen_prozesse}.
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{pkill}\label{pkill}\index{pkill=\texttt{pkill}|(textbf}\marginpar{GNU!}
|
||||
\subsection{pkill}\label{pkill}\index{pkill=\texttt{pkill}|(textbf}
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Dieses Kommando ist eng verwandt mit \texttt{pgrep} (Siehe Abschnitt
|
||||
\ref{pgrep}), es versteht im Wesentlichen die gleichen Parameter. Allerdings
|
||||
@ -1091,16 +1122,18 @@ In Skripten m
|
||||
aktiv ist, ob also zum Beispiel ein bestimmter Serverdienst l<>uft. Dazu macht
|
||||
man \texttt{ps} <20>ber Optionen gespr<70>chiger.
|
||||
|
||||
Das Kommando versteht in der GNU-Version\marginpar{GNU!} zwei unterschiedliche
|
||||
Arten von Optionen. Den sogenannten Unix- bzw. Posix-Stil und den BSD-Stil.
|
||||
Zus<EFBFBD>tzlich gibt es noch ausf<73>hrliche Parameter, aber die sollen hier nicht
|
||||
beschrieben werden. Die jeweiligen Formen stehen nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung, wenn ein Skript beispielsweise auch unter Solaris benutzt werden
|
||||
soll ist man gezwungen, die Unix-Parametrisierung zu benutzen.
|
||||
\begin{dinglist}{43}
|
||||
\item Das Kommando versteht in der GNU-Version zwei unterschiedliche Arten von
|
||||
Optionen. Den sogenannten Unix- bzw. Posix-Stil und den BSD-Stil. Zus<75>tzlich
|
||||
gibt es noch ausf<73>hrliche Parameter, aber die sollen hier nicht beschrieben
|
||||
werden. Die jeweiligen Formen stehen nicht auf allen Systemen zur Verf<72>gung,
|
||||
wenn ein Skript beispielsweise auch unter Solaris benutzt werden soll ist man
|
||||
gezwungen, die Unix-Parametrisierung zu benutzen.
|
||||
|
||||
Unix-Parameter zeichnen sich durch die <20>bliche Angabe mit Bindestrich aus.
|
||||
BSD-Pa\-ra\-me\-ter werden ohne Bindestrich angegeben, was neben den meisten
|
||||
anderen Kommandos etwas ungewohnt aussieht.
|
||||
\end{dinglist}
|
||||
|
||||
Es gibt sehr viele verschiedene Parameter, die beste Informationsquelle ist wie
|
||||
immer die Man-Page bzw. ein entsprechendes Buch. Hier werden nur ein paar
|
||||
@ -1163,20 +1196,20 @@ vor der Interpretation gesch
|
||||
bewirkt also eine mehrzeilige Eingabe. Dieses Verhalten kann mit dem Parameter
|
||||
\texttt{-r} abgeschaltet werden.
|
||||
|
||||
Normalerweise wird eine Eingabezeile mit einem Newline abgeschlossen. Mit dem
|
||||
Parameter \texttt{-d}\marginpar{GNU!} ist es m<>glich, ein anderes
|
||||
Zeilenendezeichen anzugeben. Beispielsweise liest
|
||||
\lstinline|read -d " " var| alle Zeichen bis zum ersten Leerzeichen in die
|
||||
Variable \texttt{var} ein.
|
||||
\begin{dinglist}{43}
|
||||
\item Normalerweise wird eine Eingabezeile mit einem Newline abgeschlossen. Mit
|
||||
dem Parameter \texttt{-d} ist es m<>glich, ein anderes Zeilenendezeichen
|
||||
anzugeben. Beispielsweise liest \lstinline|read -d " " var| alle Zeichen bis
|
||||
zum ersten Leerzeichen in die Variable \texttt{var} ein.
|
||||
|
||||
Wenn nur eine bestimmte Zahl von Zeichen gelesen werden soll, kann diese durch
|
||||
den Parameter \texttt{-n}\marginpar{GNU!} angegeben werden. Der Befehl
|
||||
den Parameter \texttt{-n} angegeben werden. Der Befehl
|
||||
\lstinline|read -n 5 var| liest die ersten f<>nf Zeichen in die Variable
|
||||
\texttt{var} ein. Demzufolge kann ein Skript durch ein \lstinline|read -n 1|
|
||||
dazu gebracht werden, auf einen einzelnen Tastendruck~--~nicht zwingend ein
|
||||
Return~--~zu warten.
|
||||
|
||||
Mit dem Parameter \texttt{-p}\marginpar{GNU!} kann man einen Prompt, also eine
|
||||
Mit dem Parameter \texttt{-p} kann man einen Prompt, also eine
|
||||
Eingabeaufforderung ausgeben lassen. \lstinline|read -p "Gib was ein:" var|
|
||||
schreibt also erst den Text \textit{Gib was ein:} auf das Terminal, bevor die
|
||||
Eingaben in die Variable \texttt{var} <20>bernommen werden. Dieser Prompt wird nur
|
||||
@ -1185,11 +1218,12 @@ Eingaben aus einer Datei oder aus einem Stream erh
|
||||
|
||||
Wenn die Eingabe von einem Terminal kommt und nicht auf dem Bildschirm
|
||||
erscheinen soll, zum Beispiel bei Pa<50>wortabfragen, kann die Ausgabe mit dem
|
||||
Parameter \texttt{-s}\marginpar{GNU!} (Silent) unterdr<64>ckt werden.
|
||||
Parameter \texttt{-s} (Silent) unterdr<64>ckt werden.
|
||||
|
||||
Mit \texttt{-t}\marginpar{GNU!} kann ein Time-Out definiert werden, nach dessen
|
||||
Ablauf das Kommando mit einem Fehler abbricht. Dieser Parameter ist nur bei
|
||||
interaktiver Eingabe oder beim Lesen aus einer Pipe aktiv.
|
||||
Mit \texttt{-t} kann ein Time-Out definiert werden, nach dessen Ablauf das
|
||||
Kommando mit einem Fehler abbricht. Dieser Parameter ist nur bei interaktiver
|
||||
Eingabe oder beim Lesen aus einer Pipe aktiv.
|
||||
\end{dinglist}
|
||||
|
||||
Der R<>ckgabewert des \texttt{read}-Kommandos ist 0, es sei denn es trat ein
|
||||
Timeout oder ein EOF auf.
|
||||
@ -1209,8 +1243,10 @@ Verzeichnisse k
|
||||
Gegensatz zu \texttt{rmdir} werden dann auch s<>mtliche enthaltenen Dateien und
|
||||
Unterverzeichnisse gel<65>scht.
|
||||
|
||||
Die GNU-Version\marginpar{GNU!} von \texttt{rm} unterst<73>tzt zus<75>tzlich den
|
||||
Parameter \texttt{-v}, mit dem jeder L<>schvorgang ausgegeben wird.
|
||||
\begin{dinglist}{43}
|
||||
\item Die GNU-Version von \texttt{rm} unterst<73>tzt zus<75>tzlich den Parameter
|
||||
\texttt{-v}, mit dem jeder L<>schvorgang ausgegeben wird.
|
||||
\end{dinglist}
|
||||
|
||||
\index{rm=\texttt{rm}|)}
|
||||
|
||||
@ -1232,7 +1268,12 @@ nicht-leere Verzeichnisse k
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{script}\label{script}\index{script=\texttt{script}|(textbf}\marginpar{GNU!}
|
||||
\subsection{script}\label{script}\index{script=\texttt{script}|(textbf}
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Dieses Kommando eignet sich vorz<72>glich f<>r das Debuggen fertiger Skripte. Man
|
||||
ruft es in Verbindung mit einem Dateinamen auf. Dieser Aufruf startet eine neue
|
||||
@ -1244,6 +1285,7 @@ beendet man den script-Befehl durch die Eingabe von \texttt{exit},
|
||||
Script schreibt alle Ein- und Ausgaben die an dem Terminal vorgenommen werden
|
||||
in die angegebene Datei. So kann man auch interaktive Skripte relativ leicht
|
||||
debuggen, da sowohl Ein- als auch Ausgaben in dem Logfile sichtbar sind.
|
||||
|
||||
\index{script=\texttt{script}|)}
|
||||
|
||||
|
||||
@ -1293,8 +1335,12 @@ sed -f script.sed datei.txt
|
||||
|
||||
Neben den oben erw<72>hnten Parametern kann \texttt{sed} auch mit \texttt{-n}
|
||||
ruhig gestellt werden. Damit werden die Zeilen nur dann ausgegeben, wenn das
|
||||
mittels `p' explizit gefordert wird. Die GNU-Version\marginpar{GNU!} stellt
|
||||
noch ein paar Parameter zur Verf<72>gung, die Man-Page verr<72>t n<>heres.
|
||||
mittels `p' explizit gefordert wird.
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Die GNU-Version stellt noch ein paar Parameter zur Verf<72>gung, die
|
||||
Man-Page verr<72>t n<>heres.
|
||||
\end{dinglist}
|
||||
|
||||
\subsubsection{Addressierung}
|
||||
|
||||
@ -1339,18 +1385,18 @@ Modifikator f
|
||||
falls mehrere Fundstellen in einer Zeile vorkommen. Der Aufruf sieht wie folgt
|
||||
aus:
|
||||
|
||||
\texttt{s/Suchmuster/Ersatzmuster/g}
|
||||
\lstinline|s/Suchmuster/Ersatzmuster/g|
|
||||
|
||||
Im Ersatzmuster k<>nnen auch Teile der Fundstelle wieder vorkommen, wenn sie
|
||||
durch Klammern in einen Puffer kopiert werden:
|
||||
|
||||
\texttt{s/Seite ([0-9]*) von ([0-9]*)/\textbackslash{}1 aus \textbackslash{}2/}
|
||||
\lstinline|s/Seite ([0-9]*) von ([0-9]*)/\1 aus \2/|
|
||||
|
||||
Mit \texttt{y} hingegen werden einzelne Buchstaben durch andere vertauscht. Das
|
||||
folgende Kommando wandelt alle eingehenden Kleinbuchstaben in Gro<72>buchstaben
|
||||
um\footnote{Umlaute und Sonderzeichen ausgeschlossen}:
|
||||
|
||||
\texttt{y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/}
|
||||
\lstinline|y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/|
|
||||
|
||||
Normalerweise werden alle Eingabezeilen nach der Bearbeitung wieder ausgegeben,
|
||||
unabh<EFBFBD>ngig davon ob sie ver<65>ndert wurden oder nicht. Das Verhalten kann <20>ber
|
||||
@ -1451,7 +1497,12 @@ sed '/./,$!d'
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{seq}\label{seq}\index{seq=\texttt{seq}|(textbf}\marginpar{GNU!}
|
||||
\subsection{seq}\label{seq}\index{seq=\texttt{seq}|(textbf}
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Oft wird eine auf- oder absteigende Sequenz aufeinanderfolgender Zahlen
|
||||
ben<EFBFBD>tigt, beispielsweise um eine Schleife 100 mal zu durchlaufen. Es ist nicht
|
||||
@ -1479,13 +1530,15 @@ mit f
|
||||
Das Kommando \texttt{sleep} veranla<6C>t die Shell, f<>r eine angegebene Zeit zu
|
||||
warten. Die Zeit wird dabei in Sekunden angegeben.
|
||||
|
||||
In der GNU-Variante\marginpar{GNU!} von \texttt{sleep} kann die Einheit der
|
||||
angegebenen Zeitspanne durch Suffixe definiert werden: \lstinline|sleep 10s|
|
||||
schl<EFBFBD>ft zehn Sekunden, \lstinline|sleep 10m| zehn Minuten. Genauso werden
|
||||
Stunden (h) und Tage (d) definiert.
|
||||
\begin{dinglist}{43}
|
||||
\item In der GNU-Variante von \texttt{sleep} kann die Einheit der angegebenen
|
||||
Zeitspanne durch Suffixe definiert werden: \lstinline|sleep 10s| schl<EFBFBD>ft zehn
|
||||
Sekunden, \lstinline|sleep 10m| zehn Minuten. Genauso werden Stunden (h) und
|
||||
Tage (d) definiert.
|
||||
|
||||
Au<EFBFBD>erdem kann die GNU-Variante auch mit nicht-Integer Zeiten arbeiten:
|
||||
\lstinline|sleep 0.5| schl<68>ft eine halbe Sekunde.
|
||||
\end{dinglist}
|
||||
|
||||
\index{sleep=\texttt{sleep}|)}
|
||||
|
||||
@ -1536,8 +1589,10 @@ Parameter \texttt{-n} steuern.
|
||||
Mit dem Parameter \texttt{-f} (follow) gibt \texttt{tail} neue Zeilen aus,
|
||||
sobald sie an die Datei angeh<65>ngt werden.
|
||||
|
||||
Die GNU-Version\marginpar{GNU!} kann auch das Ende mehrere Dateien ausgeben
|
||||
bzw. verfolgen, wenn mehrere Namen angegeben werden.
|
||||
\begin{dinglist}{43}
|
||||
\item Die GNU-Version kann auch das Ende mehrere Dateien ausgeben bzw.
|
||||
verfolgen, wenn mehrere Namen angegeben werden.
|
||||
\end{dinglist}
|
||||
|
||||
\index{tail=\texttt{tail}|)}
|
||||
|
||||
@ -1692,8 +1747,12 @@ findet sich in Abschnitt \ref{fehlersuche}.
|
||||
Mit dem Kommando \texttt{uniq} werden doppelt vorkommende Zeilen in einer
|
||||
Eingabedatei oder der eingehenden Pipe (Standard-Eingabe) bearbeitet. Per
|
||||
default steht `bearbeitet' an dieser Stelle f<>r `gel<65>scht', aber durch
|
||||
Parameter kann dieses Verhalten angepa<70>t werden:
|
||||
Parameter kann dieses Verhalten angepa<70>t werden.
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Einige der folgenden Parameter entsprechen nicht dem allgemeinen
|
||||
Standard:
|
||||
\end{dinglist}
|
||||
\LTXtable{\textwidth}{tab_kommandos_uniq_parameter.tex}
|
||||
|
||||
Achtung: \texttt{uniq} betrachtet beim Vergleich nur direkt aufeinander
|
||||
@ -1731,14 +1790,21 @@ Weitaus h
|
||||
Zeilen z<>hlen lassen. Weiterhin kann man Bytes (\texttt{-c}) oder Zeichen
|
||||
(\texttt{-m}) z<>hlen lassen.
|
||||
|
||||
Der Parameter \texttt{-L} gibt in der GNU-Version \marginpar{GNU!} die L<>nge
|
||||
der l<>ngsten enthaltenen Zeile aus.
|
||||
\begin{dinglist}{43}
|
||||
\item Der Parameter \texttt{-L} gibt in der GNU-Version die L<>nge der l<>ngsten
|
||||
enthaltenen Zeile aus.
|
||||
\end{dinglist}
|
||||
|
||||
\index{wc=\texttt{wc}|)}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\subsection{which}\label{which}\index{which=\texttt{which}|(textbf}\marginpar{GNU!}
|
||||
\subsection{which}\label{which}\index{which=\texttt{which}|(textbf}
|
||||
|
||||
\begin{dinglist}{43}
|
||||
\item Dies ist kein Standard-Kommando, es steht nicht auf allen Systemen zur
|
||||
Verf<EFBFBD>gung.
|
||||
\end{dinglist}
|
||||
|
||||
Sucht im Pfad (vordefinierte Variable
|
||||
\texttt{\$PATH}\index{\$PATH=\texttt{\$PATH}}, siehe Abschnitt
|
||||
@ -1788,12 +1854,14 @@ den \texttt{grep}-Aufruf angeh
|
||||
werden, wird \texttt{grep} mehrfach aufgerufen, allerdings im Gegensatz zum
|
||||
obigen Beispiel nicht einmal pro Fundstelle.
|
||||
|
||||
Neben einigen anderen Parametern informiert die Manpage der
|
||||
GNU-Version\marginpar{GNU!} <20>ber die Option \texttt{-r}. Damit kann vermieden
|
||||
werden, da<64> \texttt{xargs} das Kommando startet wenn keine Eingabe vorhanden
|
||||
ist. Bezogen auf das angegebene Beispiel w<>rde \texttt{grep} ohne Dateinamen
|
||||
gestartet, wenn \texttt{find} nichts findet. Es w<>rde auf Input von der
|
||||
Standardeingabe warten, der aber wahrscheinlich nicht kommt. Das Skript w<>rde
|
||||
h<EFBFBD>ngen, wenn der Parameter \texttt{-r} nicht angewandt w<>rde.
|
||||
\begin{dinglist}{43}
|
||||
\item Neben einigen anderen Parametern informiert die Manpage der GNU-Version
|
||||
<EFBFBD>ber die Option \texttt{-r}. Damit kann vermieden werden, da<64> \texttt{xargs}
|
||||
das Kommando startet wenn keine Eingabe vorhanden ist. Bezogen auf das
|
||||
angegebene Beispiel w<>rde \texttt{grep} ohne Dateinamen gestartet, wenn
|
||||
\texttt{find} nichts findet. Es w<>rde auf Input von der Standardeingabe warten,
|
||||
der aber wahrscheinlich nicht kommt. Das Skript w<>rde h<>ngen, wenn der
|
||||
Parameter \texttt{-r} nicht angewandt w<>rde.
|
||||
\end{dinglist}
|
||||
|
||||
\index{xargs=\texttt{xargs}|)}
|
||||
|
Reference in New Issue
Block a user