Hallo zusammen und willkommen zurück.
In diesem Video lernen wir Ein- und Ausgabeumleitungen kennen.
Es gibt drei verschiedene Arten von Weiterleitungen und Lennix die erste ist die Standardeingabe, die
kurz gesagt, wie in untersucht, die Dateideskriptornummer Null hat.
Der zweite ist die Standardausgabe und folgt dem Skript, eine Zahl als Eins und der dritte
ein Standardfehler.
Und es hat eine Dateideskriptornummer, um sich daran zu erinnern, dass alles in Linux als Datei betrachtet wird, wie eine
normale Datei als Datei.
Ein Verzeichnis ist eine Datei.
Und alle Geräte, die an Ihr Linux-System angeschlossen sind, zum Beispiel ein Monitor,
eine Tastatur, eine Maus oder eines der anderen Peripheriegeräte, die in Betracht gezogen werden, werden vom Betriebssystem als Datei betrachtet.
Wenn sie also ablegen, wenn wir tatsächlich etwas über die Tastatur auf den Bildschirm schreiben, die
als Standardeingabe kommt und tatsächlich klopft oder für eine Weile an die Tür klopft, sind null Dateideskriptoren null.
Und wenn wir diese Ausgabe auf dem Bildschirm anzeigen, geht diese Ausgabe tatsächlich an den Ausgabedeskriptor Nummer
eins.
Und zweitens, wenn ein Fehler auftritt, wird er als Dateideskriptor angezeigt.
Auf der nächsten Folie erfahren Sie mehr darüber.
Vorerst greifen wir auf die Ausgabe zurück, die eine Standardausgabe ist.
Wenn also ein Befehl ausgeführt wird, geht seine Ausgabe standardmäßig an das Terminal.
Wir sehen also, dass immer dann, wenn Sie etwas auf Ihrem Bildschirm eingeben, während Sie auf Ihrer Tastatur tippen, die IT-Ausgabe
auf Ihrem Bildschirm angezeigt wird.
Die Eingabe ist also Ihre Tastatur und die Ausgabe ist Ihr Bildschirm.
So kann die Ausgabe eines Befehls an eine Datei weitergeleitet werden, die größer als ein einfaches Zeichen ist.
Wenn Sie also etwas eingeben, sagen wir, wenn Sie einen Befehl eingeben, können Sie die Ausgabe,
die Sie vom Befehl sehen, in eine andere Datei ausgeben.
Nehmen wir zum Beispiel an, wenn Sie den Befehl ls minus L ausführen und ihn auf Ihrem Bildschirm ausführen, sehen Sie die Liste
der Dateien.
Richtig, aber das muss man nicht sehen.
Sie können in eine Datei drehen, sie in einer Datei speichern, und dafür müssen Sie ein einzelnes Großbuchstabenzeichen verwenden, das
als Single Redirect oder Ausgabe bezeichnet wird.
Auf die gleiche Weise, wenn Sie den Befehl p W ausführen. D. dann könntest du das gleiche machen.
Sie leiten die Ausgabe an einen Dateinamen weiter, unabhängig davon, welchen Dateinamen Sie auswählen.
Wenn Sie dieselbe Datei für zusätzliche Ausgaben verwenden oder an dieselbe Datei anhängen möchten, verwenden Sie doppelte Größe, doppelte
Symbole mit größeren Vorzeichen.
Zum Beispiel, wenn Sie ein anderes minus L haben möchten. EIN. und Sie möchten, dass seine Ausgabe auch
in die gleiche Dateinamenliste geht und dann größer als die Größe verwendet wird.
Und wenn Sie einen Befehl verwenden möchten, zum Beispiel Echo und Hello World ausführen möchten und
diese Ausgabe zum Dateinamen-Suchpfad gehen soll, den wir zuvor für P WD verwendet haben, müssen Sie dies verwenden, um
größer als die Größe.
Nun stellt sich die Frage, warum kann man kein größeres als Zeichen oder eine Weiterleitung verwenden?
Sie können, aber wenn Sie nur eine verwenden und dann Ihre Datei überschrieben wird, wird der Inhalt
der Datei überschrieben.
Wenn Sie also den Inhalt der Datei nicht loswerden möchten, möchten Sie ihn nicht löschen,
dann verwenden Sie zwei großartige Seiten.
Lassen Sie mich Ihnen also ganz schnell auf meinem Linux-Rechner zeigen, wie das funktioniert.
Also habe ich meinen Linux-Rechner genau hier.
Ich werde mich einloggen.
OK, das erste ist, wenn ich X minus L mache, sehen Sie all diese Dateien und Anweisungen, die angezeigt werden.
Was ist nun, wenn ich diese Ausgabe oder eine Route zu einer Datei verschieben möchte, damit ich diese eine Zellenausgabe mit nur einer
einzigen Ausgabeumleitung und einem beliebigen Namen Ihrer Wahl ausführen kann?
Ich wähle nur den Hit-Enter eines Eintrags.
Nun sehen Sie, Sie erhalten die Ausgabe nicht auf dem Bildschirm des Terminals, da sie auf
die Dateinamenliste umgeleitet wurde.
Sie können den Inhalt dieser Datei anzeigen, indem Sie den Befehl seerat verwenden, der zum Lesen des
Inhalts einer Datei verwendet wird.
Sie machen also Katzenlisten und Sie werden sehen.
Der Inhalt dieser Datei, das ist nicht wirklich die Ausgabe von Ellis' mysel, aber das
ist jetzt der Inhalt dieser Datei.
Wenn ich einen Befehl P WD verwenden wollte, der mir meinen Pfad mitteilt, wo ich
mich gerade befinde, könnte ich auch diese Ausgabe weiterleiten, damit ich sie zu einem neuen Dateinamen-Suchpfad weiterleiten kann.
Jetzt können Sie dasselbe tun, cat find path und Sie werden sehen, dass es mir die Informationen gibt,
die zuvor ausgegeben wurden und an diese weitergeleitet werden.
Alles klar.
Nun zu Umleitungen, also zum Anhängen an die Datei.
Also wollte ich diesen Befehl ausführen, Ellesmeres L. EIN. und übrigens, wenn Sie L'Esperance betreiben, L. EIN. Es wird Ihnen den gesamten Inhalt Ihres Verzeichnisses anzeigen, einschließlich der versteckten Dateien.
Versteckte Dateien sind diejenigen, vor denen doc steht.
Sie sehen jetzt, alle diese Dateien werden angezeigt.
Wenn ich einfach nur LSW will, L. EIN. , wird mir das versteckte Feld nicht angezeigt.
Um die versteckten Dateien anzuzeigen, muss ich Ellis minus L verwenden. EIN..
Gut.
Jetzt möchte ich dies in die gleiche Dateiliste ausgeben.
Ich könnte das ohne L tun. EIN. und eine einzige Weiterleitung zu Listings.
Wenn ich dies tue, werden die vorherigen Inhalte, die ich in der Auflistung hatte, verschwinden.
Wenn ich also diese Inhalte behalten und diese Inhalte hinzufügen möchte, muss ich verwenden, um sie umzuleiten.
Und jetzt, wenn Sie mit dieser Sache zu Cadd gehen, werden Sie eine Menge Ergebnisse sehen.
Das ist mehr der Bildschirm.
Gehen wir nach oben,
scrollen Sie nach oben, sehen Sie, der erste Inhalt ist noch da, der zweite Inhalt kommt genau hier, beide werden in eine einzige Datei ausgegeben, weil wir sie zum Umleiten verwenden.
Nehmen wir an, wenn ich zum Beispiel eine Weiterleitung verwende, verwende
ich weniger eine Weiterleitung, egal ob die Ausgabe so aussieht oder eine Weiterleitung zu Listings.
Und jetzt, wenn ich den Inhalt von Einträgen anzeigen möchte, sehen Sie, dass nur dieser Inhalt vorhanden ist.
Alles andere ist weg.
Aus diesem Grund ist
es wichtig, dass Sie anstelle einer Weiterleitung verwenden, wenn Sie den Inhalt der Datei nicht überschreiben möchten.
Ebenso haben wir Echo-Dateien.
Nehmen wir an, ich wollte Echo verwenden.
Hallo, Welt, die
sein wird, die das widerhallen wird, was ich schreibe, also Echo, wie die Welt widerhallen wird.
Welt, wenn ich es in meine Datei melden wollte, muss ich es verwenden, um umzuleiten.
Wenn ich nicht wieder möchte, wenn ich dieses Öl nicht
überschreiben möchte und den Pfad finde, drücken Sie dieselbe Datei, die ich verwende, die Eingabetaste.
Jetzt konnte ich Dukat Pat finden und du wirst sehen, dass es den Pfad hat, für den ich ihn benutzt habe.
Dies ist die Ausgabe von PWP und dies ist die Ausgabe von Eckermann.
Das ist also die Standardausgabe.
Kommen wir nun zu.
Eingabe, die die Standardeingabe und
die Deskriptordateien ist, das Skript dafür ist null Eingabe wird verwendet, wenn Dateien, Inhalte in eine Datei oder ein Skript eingegeben werden.
Nehmen wir beispielsweise an, wenn Sie den übelsten
Inhalt einer Dateiliste anzeigen oder anzeigen möchten, können Sie Cat Command tatsächlich verwenden und den Dateinamen angeben.
Aber in Wirklichkeit, wenn Sie es eigentlich nur schlecht füttern wollten, könnten Sie dies
auch tun, indem Sie die Katze mit einem schlechten Inhalt füttern.
Das Gleiche gilt, wenn
Sie das Mail-Programm zum Beispiel auf unserem Linux-Rechner verwenden wollten, würde uns mail diese Möglichkeit geben, um den Inhalt eines Memos oder einer Datei indirekt in dieses Programm zu bringen.
Zum Beispiel, wenn ich Mail minus verwende, als ob ich eine E-Mail mit dem Betreffzeilen-Büronotiz sende und
sie an alle Benutzer des Unternehmens, ABC dot com, sende.
Was wird nun der Inhalt dieses Briefes sein?
Dieser Inhalt des Briefes wird tatsächlich in die Mimolette geschrieben.
Ich könnte den gesamten Inhalt eingeben, aber es ist besser, den Inhalt einfach umzuleiten.
Das ist, was diese Eingabe kommt.
OK, also lass es mich
dir schnell noch einmal zeigen, indem ich hier zur Politikmaschine zurückkehre, ich habe Cat gefunden, oder?
Es zeigt mir, dass TBWA Output und der Echo-Befehl, den wir ausgeführt haben, der Inhalt jetzt drin ist.
Ich könnte auch Katzeneingaben machen, feines Haustier.
Und es würde mir die gleichen Informationen geben.
In Ordnung, gehen wir zum
dritten über, der der Fehler ist, also nur ein Standardfehler und er hat einen Dateideskriptor von zwei.
Wenn also ein Befehl
ausgeführt wird, verwenden wir eine Tastatur und das gilt auch als Standardeingabe, die Null ist.
Und diese Befehlsausgabe geht auf den Monitor und dieser Monitor ist die Standardausgabe.
Wenn der Befehl also einen Fehler auf dem Bildschirm erzeugt, wird er als Standardfehler betrachtet, den wir verwenden können.
Es leitet um, um diese Fehler vom Bildschirm aus zu rooten.
Wenn wir die Ausgabe eines Befehls
mit einem Fehler nicht sehen möchten, können wir ihn in eine andere Datei umleiten.
Nehmen wir zum Beispiel an, wenn ich tun möchte, was ist der Inhalt eines Stammverzeichnisses?
Nun gehört das Root-Verzeichnis natürlich Root, nicht einem normalen Benutzer.
Es wird einen Fehler erzeugen.
Ich könnte das in eine Datei rooten, aber ich muss angeben, wie liege ich falsch?
Ich leite nur den Standardfehler, nicht die gesamte Ausgabe.
Deshalb gebe ich zu kritisieren, zuordnen und den Dateinamen der Fehlerdatei an.
Ebenso könnte ich ein Programm wie Toweled Localhost und
seine Fehlermeldung verwenden, wenn es keine Verbindung zu diesem Host herstellen kann.
Das möchte ich nicht auf dem Bildschirm sehen.
Ich wollte nur auf den Fehler eingehen.
Nun, gehen wir zurück zu unserem Linux-Rechner und schauen wir uns schnell an, wie wir es könnten.
Verwenden Sie den Standardfehler.
In Ordnung, also
als erstes, sagen wir, wenn ich diese Minus-El-Slash-Route ausführen möchte, versucht dieser Befehl im Grunde, den Inhalt des Stammverzeichnisses aufzulisten.
Und ich bin eingeloggt als wer bin ich eingeloggt als ich absol.
Also versuche ich herauszufinden, was sich im Slagel-Verzeichnis befindet, das übrigens der Route gehört.
Mal sehen, ob ich diese Route selbst mache.
Sehen Sie, geben Sie mir die Erlaubnis verweigert.
Dies ist ein Standardfehler, der
auf dem Bildschirm angezeigte Fehler, der Ihnen sagt, was passieren würde, wenn Sie den Kommentar ausführen.
Wenn Sie diese Fehlermeldung nicht sehen möchten, können Sie dies tun.
Ich setze das ein.
Aerofoil, das
ist nur ein Dateiname, den ich jetzt gewählt habe,
da die Ausgabe dort hineingelangt ist die Fehlerdatei.
Jetzt würde ich zum Beispiel einen anderen Befehl verwenden.
Ich wollte sagen, dass localhost nur
ein kleines Programm ist, das es Ihnen ermöglicht, sich von einem Computer zu einem anderen zu verbinden, genau wie MSH, das übrigens später behandelt wird.
Also telnet localhost.
Das ist mein eigener Host, wenn ich die Eingabetaste drücke, werden Sie sehen, dass er es versucht.
Aber dann heißt es, hey, verbinden, um diese Verbindung zu adressieren, verweigern, also ist
dies tatsächlich die Fehlermeldung, dann heißt es, es versucht es erneut und es versucht es das zweite Mal mit dieser IP.
Es erzeugt die gleiche Nachricht, Verbindungsverweigerer.
Sie können sich nicht verbinden.
Dies bedeutet, dass wir aufgrund dieser Ausgabe im Moment zwei Fehler haben.
Diese wollte ich mir anschauen.
Ich möchte diese Fehler nicht auf dem Bildschirm sehen.
Dafür muss ich localhost lassen.
Ich möchte, dass der Standardfehler, der Dateideskriptor Nummer zwei ist, den Fehlerdateitreffer ausgibt.
Geben Sie jetzt auf dem Bildschirm ein Ich sehe
nur einen Versuch und Versuch eins siebenundzwanzig null null eins und eine Fehlermeldung.
Wo ist es zu Cat File gegangen.
Es ging in diese Datei.
Denken Sie also bitte an diese drei Eingabe- und Ausgabeumleitungen.
Diese sind sehr wichtig.
Sie werden sie
verwenden, wenn Sie Skripts erstellen müssen, die beim Erstellen von Skripten und Automatisieren von Aufgaben sehr nützlich sind.
Wir sehen uns in der nächsten Vorlesung.