Detaillierte Erklärung zur Verwendung der Linux-Umleitung

Detaillierte Erklärung zur Verwendung der Linux-Umleitung

Ich glaube, dass jeder manchmal Daten kopieren und einfügen muss. Wenn Sie eine Datei zum Kopieren und Einfügen öffnen, sind zwangsläufig mehr Maus- und Tastaturoperationen erforderlich, was umständlich ist. Gibt es also eine Möglichkeit zum Kopieren und Einfügen ohne diese langwierigen Vorgänge?

Die Antwort ist: Ja, es handelt sich um eine Umleitung. Die Umleitung ist eine effiziente Methode, mit der die Datenübertragung ohne umfangreiche Maus- und Tastaturoperationen durchgeführt werden kann. Die Umleitung kann in zwei Typen unterteilt werden: Eingabeumleitung und Ausgabeumleitung. Da alle Programme über Eingaben und Ausgaben verfügen, ist die Umleitung von Eingaben und Ausgaben eine native Funktion jeder Programmier- oder Skriptsprache.

Wann immer Sie mit einem Computer interagieren, kommt es zwangsläufig zu Weiterleitungen. Wenn Sie lernen, Umleitungen zu verwenden, können Sie nicht nur besser mit Ihrem Computer interagieren, sondern auch Ihre Arbeitseffizienz steigern. Lassen Sie sich daher von Liang Xu die allgemeine Verwendung von Umleitungen im Linux-System erklären:

Datenfluss unter Linux

Wenn wir über Linux-Umleitungen sprechen, müssen wir die folgenden drei Datenströme erwähnen:

  • Die Eingabe wird von stdin (Standardeingabe, normalerweise Tastatur oder Maus) gelesen.
  • Die Ausgabe wird an stdout (Standardausgabe, eine Textdatei oder ein Datenstrom) gesendet.
  • Fehlermeldungen werden auf stderr ausgegeben.

Wenn Sie von der Existenz dieser Datenflüsse wissen, können Sie den Datenfluss bei Verwendung von Shell besser steuern.

In Linux-Systemen sind Standardeingabe, Standardausgabe und Standardfehler alle als Dateien vorhanden. Sie können sie im Verzeichnis /dev sehen:

$ ls /dev/std* 
/dev/stderr /dev/stdin /dev/stdout

Umleitung der Ausgabe

Verwenden Sie in Linux-Systemen das Zeichen >, um die Ausgabe umzuleiten. So leiten Sie beispielsweise die Ausgabe des Befehls ls in eine Datei um:

$ ls > liste.txt

Nach der Ausführung des obigen Befehls werden die Ausgabeinformationen des Befehls ls nicht auf dem Bildschirm angezeigt, da die Ausgabeinformationen in die Datei list.txt umgeleitet wurden.

Darüber hinaus hat die Umleitung viele Verwendungsmöglichkeiten. Sie kann auch zum Kopieren von Dateiinhalten verwendet werden. Sie ist nicht auf das Kopieren von Textdateien beschränkt, sondern es können auch Binärdateien kopiert werden:

$ Katze bild.png > bild.png

Wenn Sie den Inhalt einer Datei an das Ende einer anderen Datei kopieren möchten, können Sie einfach das Zeichen > durch die Zeichenfolge >> ersetzen, und zwar wie folgt:

$ Katze lxlinux >> alvi

Umleitung der Eingabe

Im Gegensatz zur Umleitung der Ausgabe wird bei der Umleitung der Eingabe das Zeichen < verwendet.

Durch die Eingabeumleitung können Eingabeinformationen als Parameter an den Befehl umgeleitet werden. Diese Funktion wird möglicherweise selten verwendet, aber wenn ein Befehl eine Liste von Parametern erfordert und diese Parameter sich alle in einer Datei befinden und Sie sie schnell aus der Datei kopieren und in das Terminal einfügen möchten, kann diese Funktion nützlich sein.

Beispielsweise enthält package.list eine Liste der Pakete, die Sie installieren müssen. Wenn Sie alle Pakete schnell installieren möchten, müssen Sie nur den folgenden Befehl ausführen, um alle Pakete in package.list auf einmal zu installieren:

$ sudo dnf install $(<Paketliste)

Häufige Verwendungszwecke der Eingabeumleitung sind Here-document (kurz Here-doc) und Here-string.

Here-doc leitet einen Eingabetextblock zum Standardeingabestrom um, bis ein spezieller Dateiende-Marker gefunden wird (der Dateiende-Marker kann eine beliebige eindeutige Zeichenfolge sein, die meisten Leute verwenden jedoch standardmäßig EOF).

Sie können versuchen, den folgenden Befehl im Terminal einzugeben (bis die zweite EOF-Zeichenfolge endet):

$ Katze << EOF 
> Alvin 
> lxlinux.net 
> Ende des Lebens

Die erwartete Ausgabe sollte ungefähr so ​​aussehen:

Alvin
lxlinux.net

Here-doc ist ein gängiger Trick, der von Bash-Skriptern verwendet wird, um mehrere Textzeilen in eine Datei oder auf den Bildschirm zu übertragen.

Here-string ist ähnlich wie here-doc, akzeptiert aber nur einen String oder mehrere in Anführungszeichen eingeschlossene Strings:

$ Katze <<< Alvin 
Alvin 
$ Katze <<< "alvin lxlinux.net" 
Alvin lxlinux.net

Umleiten von Fehlermeldungen

Fehlermeldungen gehen standardmäßig an einen Stream namens „stderr“, der mit 2> umgeleitet werden kann. So leiten Sie beispielsweise Fehlermeldungen in eine Datei namens output.log um:

$ ls /nope 2> Ausgabe.log

Daten nach /dev/null umleiten

Genau wie bei der Standardeingabe, der Standardausgabe und dem Standardfehler gibt es im Linux-Dateisystem auch eine entsprechende Datei mit dem Namen null, die im Verzeichnis /dev abgelegt ist. Der Lesbarkeit halber wird der Schrägstrich häufig weggelassen und direkt als „dev null“ gelesen.

/dev/null speichert keine Daten und in /dev/null geschriebene Daten gehen letztendlich verloren, als würden sie ins Leere geworfen. Daher können Sie die Umleitung verwenden, um unerwünschte Daten an /dev/null weiterzuleiten. Beispielsweise ist die Ausgabe des Befehls „find“ oft sehr ausführlich und meldet bei der Suche nach Dateien häufig Berechtigungskonflikte, wie folgt:

$ finde ~ -Typ f 
/home/seth/aktuelle.datei 
finde: `/home/seth/foggy': Berechtigung verweigert 
finde: `/home/seth/groggy': Berechtigung verweigert 
finde: `/home/seth/soggy': Berechtigung verweigert 
/home/seth/zzz.datei

Zu diesem Zeitpunkt können Sie die Fehlerinformationen wie folgt nach /dev/null umleiten, um unnötige Informationen herauszufiltern:

$ find ~ -type f 2> /dev/null 
/home/seth/aktuelle.datei 
/home/seth/zzz.datei

Weiterleitungen sinnvoll nutzen

Die Umleitung ist eine effiziente Möglichkeit, Daten in Bash zu verschieben. Sie verwenden die Umleitung möglicherweise nicht immer, aber wenn Sie wissen, wie Sie sie bei Bedarf verwenden, können Sie sich viele unnötige Kopier- und Einfügevorgänge und damit viel Zeit bei der Bedienung von Maus und Tastatur sparen. Seien Sie bitte nicht besessen vom Kopieren und Einfügen. Die Verwendung einer Weiterleitung kann Ihre Arbeitseffizienz verbessern. Ist das nicht großartig?

Dies ist das Ende dieses Artikels zur detaillierten Verwendung der Linux-Umleitung. Weitere relevante Inhalte zur Verwendung der Linux-Umleitung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Anweisungen zur Verwendung der Linux-Ein- und Ausgabeumleitung
  • Verwendung von Linux-Shell-Pipe-Befehlen und Unterschied zur Shell-Umleitung
  • Detaillierte Analyse der Linux-Shell-Datenumleitung (Eingabeumleitung und Ausgabeumleitung)
  • Detaillierte Erklärung der Linux-Basis-Shell-Umleitung
  • Detaillierte Erläuterung der Linux-Ein- und Ausgabeumleitung
  • Analyse des 301-Umleitungscodes für Linux-URLs

<<:  Verwenden Sie js, um ein einfaches Schlangenspiel zu schreiben

>>:  js zur Implementierung eines einfachen Bullet-Screen-Systems

Artikel empfehlen

Füllen Sie die Suchfunktion auf der HTML-Seite aus

Ich habe kürzlich an einem Framework gearbeitet, ...

Einführung in integrierte JavaScript-Objekte

Inhaltsverzeichnis 1. Eingebaute Objekte 2. Mathe...

SQL-Anweisungen in MySQL verwenden keine Indizes

MySQL-Abfrage ohne Verwendung der Indexaggregatio...

Zusammenfassung der Methoden zum Löschen des Cache im Linux-System

1) Einführung in den Cache-Mechanismus Um die Lei...

Einfaches Beispiel zum Hinzufügen und Entfernen von HTML-Knoten

<br />Einfaches Beispiel zum Hinzufügen und ...

JavaScript implementiert einfache Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

HTML-Auszeichnungssprache - Referenz

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Mit JS ein kleines Flugzeugkriegsspiel implementieren

In diesem Artikelbeispiel wird der spezifische JS...

Grundkenntnisse der MySQL-Datenbank

Inhaltsverzeichnis 1. Datenbanken verstehen 1.1 D...

Nginx löst Cross-Domain-Probleme und bindet Seiten von Drittanbietern ein

Inhaltsverzeichnis Vorwort Schwierigkeit Domänenü...