09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

A Musterlösungen 235<br />

9.7 Sie sollten mit »whereis« zwei Dateien namens /usr/share/man/man1/crontab.1.<br />

gz und /usr/share/man/man5/crontab.5.gz finden. <strong>Die</strong> erstere enthält die Dokumentation<br />

für das eigentliche crontab-Kommando, die letztere die Dokumentation für<br />

das Dateiformat, das Sie mit crontab anlegen können. (<strong>Die</strong> Details sind für diese<br />

Aufgabe nicht wichtig; siehe <strong>Linux</strong>-Administration I.)<br />

9.8 <strong>Die</strong> Bash verwendet Zeichenfolgen der Form »!⟨Zeichen⟩« zum Zugriff auf<br />

alte Kommandos (eine Alternative zu den Tastaturfunktionen wie Strg + r , die<br />

sich aus der C-Shell in die Bash hinübergerettet hat). <strong>Die</strong> Zeichenfolge »!"« hat<br />

aber keine Funktion, sondern gilt als Syntaxfehler.<br />

9.9 Keiner.<br />

9.10 Wenn der Dateiname als Parameter übergeben wird, fühlt wc sich bemüßigt,<br />

ihn mit der Zeilenzahl auszugeben. Wenn wc von der Standardeingabe liest, gibt<br />

es nur die reine Zeilenzahl aus.<br />

9.11 Versuchen Sie etwas wie<br />

#!/bin/bash<br />

pattern=$1<br />

shift<br />

✁✁✁✁✁<br />

for f<br />

do<br />

done<br />

grep $pattern "$f" && cp "$f" backup<br />

Nach dem shift ist das Suchmuster nicht mehr der erste Parameter, und das wirkt<br />

sich auch auf »for f« aus.<br />

9.12 Der -f-Dateitest bezieht sich, wenn er auf ein symbolisches Link angewendet<br />

wird, auf die Datei (oder Verzeichnis oder was auch immer), auf die das Link<br />

zeigt. Er ist also auch dann erfolgreich, wenn der betrachtete Name eigentlich nur<br />

ein symbolisches Link ist. (Warum hat filetest2 dieses Problem nicht?)<br />

10.2 Das können Sie mit etwas wie<br />

ls /bin /sbin /usr/bin /usr/sbin | wc -l<br />

bestimmen. Alternativ dazu können Sie einfach an der Eingabeaufforderung der<br />

Shell zweimal Tab drücken – die Shell antwortet dann mit etwas wie<br />

Display all 2371 possibilities? (y or n)<br />

und das ist – in Abhängigkeit von Ihrem PATH – Ihre Antwort. (Wenn Sie als normaler<br />

Benutzer angemeldet sind, dann sind die Programme in /sbin und /usr/sbin<br />

in der Regel nicht dabei.)<br />

10.3 Benutzen Sie statt »grep ⟨Muster⟩ *.txt« das Kommando »grep ⟨Muster⟩<br />

*.txt /dev/null«. Damit hat grep immer min<strong>des</strong>tens zwei Dateinamenparameter,<br />

wobei /dev/null die Ausgabe nicht weiter verfälscht. – <strong>Die</strong> unter <strong>Linux</strong> gebräuchliche<br />

GNU-Implementierung von grep unterstützt eine Option -H, die dasselbe<br />

bewirkt, aber das ist nicht portabel.<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!