BASH - Sowohl die Standardausgabe als auch den Standardfehler in derselben Datei umleiten

BASH - Sowohl die Standardausgabe als auch den Standardfehler in derselben Datei umleiten

Die Bash -Shell ist die beliebteste Shell auf Linux -Systemen. Um die Shell effizient zu verwenden, benötigen Sie ein wenig Kenntnisse über Bash Shell -Umleitung. Dies ist auch ein wesentlicher Schritt beim Lernen von Bash -Scripting.

In diesem Handbuch zeigen wir, wie Sie die Standardausgabe und den Standardfehler in dieselbe Datei in der Befehlszeile der Bash -Shell umleiten können. Dies umfasst mehrere Beispiele, sodass Sie die richtige Methode in jedem Szenario auswählen können.

In diesem Tutorial lernen Sie:

  • So leiten Sie die Standardausgabe und den Standardfehler in die gleiche Datei um
  • So leiten Sie die Standardausgabe und den Standardfehler zur Datei und zum Terminal um
  • So leiten Sie die Standardausgabe und den Standardfehler zu /dev /null um
Verschiedene Bash -Beispiele zum Umleiten der Standardausgabe und des Standardfehlers in dieselbe Datei Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Jede Linux -Distribution
Software Bash Shell
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl.
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Standardausgabe und Standardfehler umleiten



Lassen Sie uns zunächst abdecken, wie Sie die Standardausgabe in eine Datei umleiten können. Wenn Sie diese Bash -Grundlagen bereits im Stich lassen, können Sie sich gerne zu den Beispielbefehlen überspringen.

Sie verwenden normalerweise > Zur Umleitung und zur Anhaftung an eine vorhandene Datei würden Sie verwenden >>.

$ echo "Linuxconfig.org "> Neu-Datei.txt und $ echo "linuxconfig.org ">> vorhandene Datei.txt 

Mit diesen Befehlen würde die Standardausgabe in die Datei umgeleitet, und auf Ihrem Bildschirm wird ein Standardfehler angezeigt. Wenn Sie bei Linux neu sind, ist „Standardausgabe“ nur die übliche, erwartete Ausgabe aus Ausführen eines Befehls oder Skripts, und „Standardfehler“ sind alle Fehlermeldungen, die auftreten.

Um stattdessen Standardfehler umzuleiten, können wir verwenden 2>. Dadurch wird die Standardausgabe auf unserem Bildschirm angezeigt und alle Fehlermeldungen an eine Datei gesendet.

$ echo "Linuxconfig.org "2> Neu-File.txt 

Wenn die Grundlagen aus dem Weg geraten.

  1. Verwenden Sie die folgende Befehlssyntax, um die Standardausgabe und den Standardfehler in dieselbe Datei umzuleiten. Insbesondere anhängen 2> & 1 Bis zum Ende Ihres üblichen Befehls.
    $ echo "Linuxconfig.org "> Neu-Datei.txt 2> & 1 


  2. Ein etwas einfacherer Weg, um diese Funktionalität zu erreichen, ist mit dem &> Operator. Beachten Sie, dass dies in Bash und ZSH gut funktioniert, jedoch nicht in anderen Schalen. Verwenden Sie daher das vorherige Beispiel für maximale Kompatibilität mit anderen Systemen.
    $ echo "Linuxconfig.org "&> Neu-File.txt 
  3. Verwenden Sie die gleiche Syntax oben, aber mit dem Standard -Ausgangs- und Standardfehler an eine Datei, die bereits vorhanden ist, jedoch mit dem >> Umleitungsoperator.
    $ echo "Linuxconfig.org ">> vorhandene Datei.txt 2> & 1 
  4. Um die Standardausgabe und den Standardfehler von Ihrem Terminal aus zu unterdrücken und auch eine Datei zu generieren, können Sie beide zu ihnen umleiten /dev/null.
    $ echo "Linuxconfig.org "> /dev /null 2> & 1 
  5. Verwenden Sie die folgende Syntax, um die Standardausgabe in eine Datei umzuleiten und den Standardfehler in eine andere Datei umzuleiten.
    $ echo "Linuxconfig.org "2> std-fr.txt 1> std-out.txt 


  6. Wenn Sie die Standardausgabe und den Standardfehler in dieselbe Datei umleiten möchten und gleichzeitig beide in Ihrem Terminal sehen, können wir von der ein wenig Hilfe erhalten Tee Befehl.
    $ echo "Linuxconfig.org "2> & 1 | T-Shirt-Neu-Datei.txt 
  7. Wenn Sie Standardausgabe und Standardfehler auf Ihrem Bildschirm sehen möchten angehängt sie in derselben Datei können wir die verwenden -A (anhängen) Option mit Tee.
    $ echo "Linuxconfig.org "2> & 1 | Tee -a vorhandene Datei.txt 

Gedanken schließen

In diesem Handbuch haben wir gesehen. Dies beinhaltete mehrere verschiedene Bash -Operatoren, je nachdem, ob wir eine neue Datei erstellen oder an eine vorhandene Datei anhängen möchten. Wir haben auch gelernt, wie man das benutzt Tee Befehl, um die Standardausgabe und den Standardfehler an unserem Terminal zu sehen und gleichzeitig in eine Datei zu schreiben. Sie sind jetzt ein Experte, um die Standardausgabe und den Standardfehler in eine Datei in Bash umzuleiten, und sind der vollständigen Beherrschung der Shell so viel näher.

Verwandte Linux -Tutorials:

  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu installieren auf Ubuntu 20.04
  • Mastering -Bash -Skriptschleifen beherrschen
  • Verschachtelte Schleifen in Bash -Skripten
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Ubuntu 20.04 Leitfaden
  • Wie man Kali Linux und Windows 10 Dual -Boot -Start hat
  • Dinge zu installieren auf Ubuntu 22.04
  • GDB -Debugging -Tutorial für Anfänger