Wenn Sie noch Linux-Neuling sind, werden Sie sich sicher schon
gefragt haben, was die mitunter etwas exotisch wirkenden
Dateierweiterungen bedeuten mögen. Unter einer
Dateierweiterung wird der letzte Teil des Dateinamens nach dem
Punkt am Ende verstanden (bei der Datei
sneakers.txt ist beispielsweise
"txt" die Erweiterung dieser
Datei).
Im folgenden erhalten Sie einen kurzen Überblick über
Erweiterungen und ihre Bedeutungen:
.h - eine Deklarationsdatei für
die Verwendung mit den Programmiersprachen C und C++
.c - eine Datei mit dem Quellcode
für die Programmiersprache C
.cpp - eine Datei mit dem Quellcode
für die Programmiersprache C++
.o - eine Datei mit einem Programmobjekt
.pl - ein Perl-Script
.tcl - ein TCL-Script
.so - eine Bibliotheksdatei
Die Dateierweiterungen werden jedoch nicht immer und vor allem
nicht immer konsistent verwendet. Wie müssen Sie nun
vorgehen, wenn eine Datei über keine Erweiterung
verfügt oder die Erweiterung nicht mit dem
tatsächlichen Dateityp übereinstimmt?
Für diesen Fall steht Ihnen der Befehl
file zur Verfügung.
In Kapitel 13 hatten wir eine Datei mit
der Bezeichnung saturday erstellt und
dieser keine Dateierweiterung zugeordnet. Mit dem Befehl
file läßt sich nun der Dateityp
problemlos wie folgt ermitteln:
Sie wissen nun also, daß es sich bei saturday um eine
Textdatei handelt. Für das Anzeigen von Textdateien
können Sie cat,
more oder less
verwenden.
 | Lesen Sie die man-Seite |
|---|
| | Wenn Sie mehr über den Befehl file
erfahren möchten, können Sie die man-Seite zu
file durch Eingeben von man
file anzeigen.
|
Und wenn wir schon beim Lesen von Dateien sind…
Für das Lesen von Dateien stehen Ihnen unter Linux
zahlreiche Methoden zur Verfügung. In
Kapitel 13 wurden bereits die Pager
more und less
angesprochen, die ihre Bezeichnung deshalb tragen, weil Sie
mit ihnen jeweils einzelne Seiten (engl. page) auf dem
Bildschirm anzeigen können. Sie wissen auch bereits,
daß Sie mit dem Befehl cat Dateien
nicht nur anzeigen, sondern auch bearbeiten können.
Wenn Sie indes Readme-Dateien, man-Seiten oder andere
Dokumente anzeigen möchten, stehen Ihnen hierfür
noch weitere Tools zur Verfügung.
Zum Lesen von Textdateien können Sie beispielsweise die
Texteditoren pico,
emacs und
vim verwenden. Alternativ bieten
sich für diesen Zweck auch die Pager
more und less sowie die
Viewer head, tail,
cat und grep an.
Im folgenden beschäftigen wir uns nun mit einigen
Funktionen dieser Tools.
In Kapitel 13 wurde bereits der Pager
less kurz vorgestellt. Bei less handelt
es sich um den Pager, der für das Anzeigen von
man-Seiten verwendet wird.
Für eine Demonstration der Funktionen von
less bietet sich die man-Seite für
less geradezu an.
Um vorzublättern, drücken Sie die
Leertaste, zum Zurückblättern
verwenden Sie die Taste B, und zum Beenden
Q.
Der Pager less bietet Ihnen jedoch noch
weitere mächtige Funktionen wie das horizontale
Scrollen und die Möglichkeit, die Anzeige um eine
bestimmte Anzahl an Zeilen zu scrollen.
So seltsam dies auch erscheinen mag -
more bietet Ihnen im Gegensatz zu seinem
Namen weniger Funktionen als less
(less stellt eine Weiterentwicklung von
more dar).
Auch in diesem Fall zeigen wir wieder die man-Seite zum
Befehl an - allerdings verwenden wir im Fall von
more hierfür auch den Befehl
more. Zu diesem Zweck leiten wir die
Ausgabe von man mit Hilfe von Pipes an
more weiter.
Auch wenn das Ergebnis auf den ersten Blick nicht
grundlegend anders aussehen mag, stellt
more doch weniger Funktionen als
less zur Verfügung. Am
auffallendsten ist wohl die Tatsache, daß more keine
Möglichkeit zum Zurückblättern in Ihren
Dokumenten bietet, auch wenn die Funktionen zum
Vorblättern mit der Leertaste und
Beenden der Anzeige mit Q überstimmen.
Sie können den Befehl head
verwenden, wenn Sie nur den Anfang einer Datei einsehen
möchten. Der Befehl lautet:
Head kann durchaus nützlich sein,
auch wenn Sie über die Dateilänge keine weiteren
Informationen erhalten, da nur die ersten Zeilen der Datei
angezeigt werden. Standardmäßig gibt der Befehl
die ersten 10 Zeilen aus. Sie können diese Einstellung
jedoch wie folgt ändern:
Auf der man-Seite zu head, die Sie durch
Eingabe von man head anzeigen
können, erhalten Sie weitere Informationen. Vermutlich
werden Sie feststellen, daß less
oder more geeignetere Tools darstellen,
da Sie mit diesem Programmen in der Datei blättern
können (und die gesuchte Information häufig nicht
direkt am Anfang der Datei steht).
Das Gegenteil von head ist (wie nicht
anders zu erwarten) tail. Mit
tail können Sie die letzten 10
Zeilen einer Datei anzeigen.
Der Befehl cat (die Abkürzung steht
für "concatenation", also Verkettung) zeigt
den Inhalt der gesamten Datei auf dem Bildschirm an. Die
Verwendung von cat empfiehlt sich vor
allem für kurze Dateien, wie zum Beispiel für die
Datei sneakers.txt. Wenn eine Datei
hingegen etwas länger ist, scrollt der Inhalt rasch
über den Bildschirm, da cat ja die
gesamte Datei anzeigt.
Der Befehl grep ist für das Suchen
nach bestimmten Zeichenketten in einer Datei bestens
geeignet. Angenommen, Sie suchen nach Fundstellen für
das Wort "Kaffee" in der Datei
sneakers.txt, die sich in Ihrem
Anmeldeverzeichnis befindet. Für die Suche können
Sie folgenden Befehl eingeben:
Daraufhin werden alle Zeilen angezeigt, die das Wort
"Kaffee" enthalten.
 | Beachten Sie immer die Groß- und Kleinschreibung |
|---|
| | Wenn Sie nichts anderes angeben, wird bei der Suche mit
grep zwischen Groß-
und Kleinschreibung unterschieden. Dies
bedeutet, daß Sie bei der Suche nach
Kaffee andere Ergebnisse erhalten als
bei der Suche nach kaffee. Wenn Sie
die Unterscheidung zwischen Groß- und
Kleinbuchstaben aufheben möchten,
steht Ihnen bei grep die Option
-i zur Verfügung. Weitere
Informationen zu diesem Befehl finden Sie in der man-Seite
zu grep.
|
Beim Speichern und/oder Drucken von Informationen, die Sie
sich zu einem späteren Zeitpunkt durchlesen
möchten, können Sie selbstverständlich auch
die Funktionen nutzen, die Ihnen Pipes und die Umleitung der
Ausgabe zur Verfügung stellen. Über diese
Funktionen haben Sie ja schon in einem früheren Kapitel
einiges erfahren.
Sie können beispielsweise grep
für die Suche nach bestimmten Daten in einer Datei
verwenden und die Ergebnisse dieser Suche dann entweder in
einer Datei speichern oder an einen Drucker weiterleiten.
Für das Drucken aller Fundstellen für
"Kaffee" in sneakers.txt
müssen Sie lediglich folgendes eingeben:
grep Kaffee sneakers.txt | lpr
|
Dieser Befehl hat eine ähnliche Funktion wie der Befehl
ls -al /etc | more, den Sie bereits in
Kapitel 13 verwendet haben, um den
Inhalt des Verzeichnisses /etc
anzuzeigen und mit Hilfe des Befehls more
auf dem Bildschirm auszugeben.
 | Verwenden Sie in Zweifelsfällen immer >> |
|---|
| | Beachten Sie in diesem Zusammenhang die Unterscheidung
zwischen > und >>: Mit > wird die Datei
überschrieben, während mit >> die neuen
Daten an eine Datei angehängt werden. Wenn Sie sich
nicht ganz sicher sind, was Sie tun möchten,
empfiehlt sich die Verwendung von >>, da Sie auf
diese Weise potentiell wertvolle Daten nicht verlieren
(allerdings müssen Sie die entsprechende Datei
möglicherweise bearbeiten, um die angehängten
Daten wieder zu entfernen).
|
Wie können Sie vorgehen, wenn Sie den Namen der
gesuchten Datei vergessen haben? Schließlich
können Sie Ihrem Computer ja nicht sagen, er solle eine
Datei wie "sneak" oder "sneak oder so
ähnlich" suchen.
Aber eigentlich steht Ihnen ja doch so eine ähnliche
Funktion zur Verfügung. Mit
Platzhaltern oder
regulären Ausdrücken
können Sie Aktionen für eine oder mehrere
Datei(en) durchführen, ohne den vollständigen
Dateinamen zu kennen. Sie geben lediglich den Teil des
Namens an, den Sie kennen, und ersetzen den restlichen
Abschnitt mit einem Platzhalter.
 | So finden Sie weitere Informationen über
Platzhalter und reguläre Ausdrücke |
|---|
| | Wenn Sie weitere Informationen über Platzhalter und
reguläre Ausdrücke benötigen, können
Sie die man-Seite zu bash mit
dem Befehl man bash aufrufen. Sie
erinnern sich mit Sicherheit noch, daß Sie die Datei
mit dem Befehl man bash | col -b >
bash.txt in einer Textdatei speichern
können. Dann können Sie die Datei mit
less oder pico
öffnen und lesen (der Befehl lautet pico
bash.txt ). Wenn Sie die Datei ausdrucken
möchten, sollten Sie allerdings berücksichtigen,
daß diese man-Seite ziemlich umfangreich ist.
|
Da wir wissen, daß der Dateiname
"sneak-irgendetwas.txt" lautet, geben Sie
folgenden Befehl ein:
Und auf diese Weise erfahren Sie dann den Namen der Datei:
Vermutlich werden Sie künftig beim Suchen mit
Platzhaltern am häufigsten ein Sternchen
(*) verwenden. Mit Hilfe von Sternchen
werden als Ergebnis Ihrer Suche alle Objekte angezeigt, die
Ihrem Suchbegriff entsprechen. Geben Sie probeweise
folgendes ein:
oder:
Selbst jetzt wird die Datei
sneakers.txt angezeigt - nur werden
sich im Laufe der Zeit immer mehr Textdateien auf Ihrer
Festplatte befinden, die alle Ihrem Suchbegriff entsprechen
und folglich als Ergebnis angezeigt werden.
Daher empfiehlt es sich, die Suche so weit wie möglich
einzuschränken.
Eine Methode zum Einschränken der Suche besteht in der
Verwendung des Fragezeichens (?) in Ihrem
Suchbegriff. Ähnlich wie bei Verwendung eines
Sternchens können Sie auch mit ?
nach Dateien suchen, die Ihrem Suchmuster entsprechen.
Allerdings dient ? nur als Platzhalter
für ein einzelnes Zeichen. Wenn Sie also nach
sneaker?.txt suchen, erhalten Sie
sneakers.txt als Ergebnis - und/oder
sneakerz.txt, wenn es eine Datei diesen
Namens geben würde.
Wenn ein Sternchen tatsächlich Bestandteil des
Dateinamens sein sollte, wie beispielsweise bei einer Datei
mit der Bezeichnung sneak*.txt (statt
sneakers.txt), bietet sich die
Verwendung regulärer Ausdrücke an.
Reguläre Ausdrücke sind komplizierter zu verwenden
als Sternchen und Fragezeichen.
Wenn Sie einen umgekehrten Schrägstrich
(\) verwenden, können Sie damit
angeben, daß Sie mit dem Sternchen nicht einen sehr
allgemeinen Suchbegriff verwenden,
sondern ganz konkret nach einer Datei suchen, in deren
Bezeichnung ein Sternchen vorkommt.
Wenn die Datei den Namen sneak*.txt
trägt, geben Sie folgenden Befehl ein:
Im folgenden erhalten Sie einen kurzen Überblick
über Platzhalter und reguläre Ausdrücke:
* - Übereinstimmung mit beliebigen Zeichen
? -- Übereinstimmung mit einem
beliebigen einzelnen Zeichen in einer Zeichenkette (wie
bei sneaker?.txt)
\* - Übereinstimmung mit dem Zeichen *
\? - Übereinstimmung mit dem Zeichen ?
\) - Übereinstimmung mit dem Zeichen )
Sie können Platzhalter jedoch für weitaus mehr als
nur für die Suche verwenden. Platzhalter sind auch beim
Verschieben und Umbenennen von Dateien von großem
Nutzen. Zudem sind reguläre Ausdrücke auch beim
Umbenennen von Dateien praktisch, in deren Namen Zeichen wie
* und ? vorkommen.
Wenn Sie darüber mehr erfahren möchten,
müssen Sie lediglich den nächsten Abschnitt lesen.