OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

Da es sich bei Linux jedoch um ein flexibles System handelt, müssen diese Standardeinstellungen nicht unbedingt übernommen werden. Die Standardausgabe kann beispielsweise auf einem stark überwachten Server in einer großen Umgebung ein Drucker sein.


Image

5.1.2. Die Umleitungsoperatoren


5.1.2.1. Ausgabeumleitung mit > und |


Manchmal möchten Sie die Ausgabe eines Befehls in einer Datei ablegen oder einen anderen Befehl für die Ausgabe eines Befehls ausgeben. Dies wird als Umleitung der Ausgabe bezeichnet. Die Umleitung erfolgt entweder mit dem „>“ (Größer-als-Symbol) oder mit dem „|“ (Pipe-)Operator, der die Standardausgabe eines Befehls als Standardeingabe an einen anderen Befehl sendet.


Wie wir zuvor gesehen haben, ist das Katze Der Befehl verkettet Dateien und fügt sie alle zur Standardausgabe zusammen. Durch die Umleitung dieser Ausgabe in eine Datei wird dieser Dateiname erstellt – oder überschrieben, falls er bereits existiert. Seien Sie also vorsichtig.


nancy:~> Katzentest1

einige Worte


nancy:~> Katzentest2

noch ein paar andere Worte


nancy:~> Katze Test1 Test2 > Test3


nancy:~> Katzentest3

einige Worte

nancy:~> Katzentest1

einige Worte


nancy:~> Katzentest2

noch ein paar andere Worte


nancy:~> Katze Test1 Test2 > Test3


nancy:~> Katzentest3

einige Worte


einige Sonstiges Worte


ImageNicht überschreiben!

Achten Sie darauf, beim Umleiten der Ausgabe keine vorhandenen (wichtigen) Dateien zu überschreiben. Viele Shells, einschließlich Bash, verfügen über eine integrierte Funktion, die Sie vor diesem Risiko schützt: noclobber. Weitere Informationen finden Sie auf den Infoseiten. In Bash möchten Sie das hinzufügen kompensieren -o noclobber Befehl an deine .bashrc Konfigurationsdatei, um ein versehentliches Überschreiben von Dateien zu verhindern.

Das Umleiten von „nichts“ in eine vorhandene Datei ist gleichbedeutend mit dem Leeren der Datei:


nancy:~> ls -l Liste

-rw-rw-r-- 1 Nancy


Nancy


117 2. April 18:09 Liste

nancy:~> > Liste

nancy:~> ls -l Liste

-rw-rw-r-- 1 Nancy


Nancy


0 4. April 12:01 Liste

Dieser Prozess wird aufgerufen abschneiden.


Image

Die gleiche Umleitung zu einer nicht vorhandenen Datei erstellt eine neue leere Datei mit dem angegebenen Namen:


nancy:~> ls -l neue Liste

ls: newlist: Keine solche Datei oder kein solches Verzeichnis


nancy:~> > Neue Liste

nancy:~> ls -l neue Liste

ls: newlist: Keine solche Datei oder kein solches Verzeichnis


nancy:~> > Neue Liste


nancy:~> ls -l neue Liste

-rw-rw-r-- 1 Nancy Nancy

0 4. April 12:05 Neue Liste

nancy:~> ls -l neue Liste

-rw-rw-r-- 1 Nancy Nancy

Kapitel 7 enthält weitere Beispiele für die Verwendung dieser Art der Umleitung. Einige Beispiele für die Weiterleitung von Befehlen:

Um ein Wort in einem Text zu finden, zeigen Sie alle Zeilen an, die mit „Muster1“ übereinstimmen, und schließen Sie Zeilen, die auch mit „Muster2“ übereinstimmen, von der Anzeige aus:


grep pattern1 Datei | grep -v pattern2


So zeigen Sie die Ausgabe eines Verzeichnisses an, das jeweils eine Seite auflistet:


ls -Der | weniger


So finden Sie eine Datei in einem Verzeichnis:


ls -l | grep Teil_des_Dateinamens


Image

5.1.2.2. Eingabeumleitung


In einem anderen Fall möchten Sie möglicherweise, dass eine Datei als Eingabe für einen Befehl dient, der normalerweise keine Datei als Option akzeptiert. Diese Umleitung der Eingabe erfolgt mithilfe des Operators „<“ (Kleiner-als-Symbol).


Unten sehen Sie ein Beispiel für das Senden einer Datei an jemanden mithilfe der Eingabeumleitung.


andy:~> E-mail [E-Mail geschützt] < machen


Wenn der Benutzer Mikrofon Wenn eine Adresse im System vorhanden ist, müssen Sie nicht die vollständige Adresse eingeben. Wenn Sie jemanden im Internet erreichen möchten, geben Sie als Argument an die vollqualifizierte Adresse ein E-mail.


Das liest sich etwas schwieriger als die Einsteigerkatze Datei | Post jemand, aber es ist natürlich eine viel elegantere Art, die verfügbaren Tools zu nutzen.


Image

5.1.2.3. Weiterleitungen kombinieren


Das folgende Beispiel kombiniert die Eingabe- und Ausgabeumleitung. Die Datei text.txt wird zunächst auf Rechtschreibfehler überprüft und die Ausgabe in eine Fehlerprotokolldatei umgeleitet:


Fluch text.txt > error.log


Der folgende Befehl listet alle Befehle auf, die Sie ausführen können, um bei der Verwendung eine andere Datei zu untersuchen weniger:


mike:~> less --help | grep -ich untersuche

:e [Datei] Untersuchen Sie eine neue Datei.

:n * Untersuchen Sie die (N-te) nächste Datei über die Befehlszeile.

:p * Untersuchen Sie die (N-te) vorherige Datei über die Befehlszeile.

:x * Untersuchen Sie die erste (oder N-te) Datei über die Befehlszeile.

mike:~> less --help | grep -ich untersuche

:e [Datei] Untersuchen Sie eine neue Datei.

:n * Untersuchen Sie die (N-te) nächste Datei über die Befehlszeile.

:p * Untersuchen Sie die (N-te) vorherige Datei über die Befehlszeile.

:x * Untersuchen Sie die erste (oder N-te) Datei über die Befehlszeile.

Das -i Die Option wird für Suchen verwendet, bei denen die Groß-/Kleinschreibung nicht beachtet wird. Beachten Sie, dass bei UNIX-Systemen die Groß-/Kleinschreibung sehr beachtet wird. Wenn Sie die Ausgabe dieses Befehls zur späteren Bezugnahme speichern möchten, leiten Sie die Ausgabe in eine Datei um:

mike:~> less --help | grep -i examine > examine-files-in-less


mike:~> Katze untersucht Dateien in weniger

:e [Datei] Untersuchen Sie eine neue Datei.

:n * Untersuchen Sie die (N-te) nächste Datei über die Befehlszeile.

:p * Untersuchen Sie die (N-te) vorherige Datei über die Befehlszeile.

:x * Untersuchen Sie die erste (oder N-te) Datei über die Befehlszeile.

mike:~> less --help | grep -i examine > examine-files-in-less


mike:~> Katze untersucht Dateien in weniger

:e [Datei] Untersuchen Sie eine neue Datei.

:n * Untersuchen Sie die (N-te) nächste Datei über die Befehlszeile.

:p * Untersuchen Sie die (N-te) vorherige Datei über die Befehlszeile.

:x * Untersuchen Sie die erste (oder N-te) Datei über die Befehlszeile.

Die Ausgabe eines Befehls kann praktisch beliebig oft an einen anderen Befehl weitergeleitet werden, solange diese Befehle normalerweise Eingaben von der Standardeingabe lesen und Ausgaben in die Standardausgabe schreiben würden.

Manchmal ist dies nicht der Fall, aber dann gibt es möglicherweise spezielle Optionen, die diese Befehle anweisen, sich gemäß den Standarddefinitionen zu verhalten; Lesen Sie daher die Dokumentation (Man- und Info-Seiten) der von Ihnen verwendeten Befehle, falls Fehler auftreten sollten.


Stellen Sie auch hier sicher, dass Sie keine Namen vorhandener Dateien verwenden, die Sie noch benötigen. Durch die Umleitung der Ausgabe auf vorhandene Dateien wird der Inhalt dieser Dateien ersetzt.


Image

5.1.2.4. Der >>-Operator


Anstatt Dateidaten zu überschreiben, können Sie Text auch mit zwei aufeinanderfolgenden Größer-als-Zeichen an eine vorhandene Datei anhängen:


Beispiel:


mike:~> Wunschliste für Katzen

mehr Geld, weniger Arbeit


mike:~> Datum >> Wunschliste

mike:~> Wunschliste für Katzen

mehr Geld, weniger Arbeit


mike:~> Datum >> Wunschliste


mike:~> Wunschliste für Katzen

mehr Geld, weniger Arbeit

Do, 28. Februar 20:23:07 MEZ 2002

mike:~> Wunschliste für Katzen

Top OS Cloud Computing bei OnWorks: