Filtern der Betriebsbefehlsausgabe
Mit dem Pipe-Symbol |
können Sie (der Netzwerkadministrator) die Befehlsausgabe sowohl im Betriebs- als auch im Konfigurationsmodus filtern.
Informationen zur Verwendung der Pipe ( | ) Ausgabe des Befehls "Symbol zum Filtern"
Sie können die Befehlsausgabe filtern, indem Sie bei der Eingabe des Befehls das Pipe-Symbol ( |
) hinzufügen.
Beispiel:
user@host> show rip neighbor ?
Possible completions:
<[Enter]> Execute this command
<name> Name of RIP neighbor
instance Name of RIP instance
logical-system Name of logical system, or 'all'
| Pipe through a command
Im folgenden Beispiel sind die Filter aufgeführt, die Sie mit dem Pipe-Symbol ( | ) verwenden können:
user@host> show interfaces | ?
user@host> show interfaces | ?
Possible completions:
append Append output text to file
count Count occurrences
display Show additional kinds of information
except Show only text that does not match a pattern
find Search for first occurrence of pattern
hold Hold text without exiting the --More-- prompt
last Display end of output only
match Show only text that matches a pattern
no-more Don't paginate output
refresh Refresh a continuous display of the command
request Make system-level requests
resolve Resolve IP addresses
save Save output text to file
tee Write to standard output and file
trim Trim specified number of columns from start of line
Nur für den show configuration
Befehl können Sie das Pipe-Symbol und das Fragezeichen kombinieren, um einen zusätzlichen Vergleichsfilter anzuzeigen:
user@host> show configuration | ?
Possible completions:
compare Compare configuration changes with prior version
...
Sie können jeden der Rohrfilter in Kombination eingeben. Zum Beispiel:
user@host>command | match regular-expression | save filename
In diesem Thema werden nur die Filter beschrieben, die Sie für die Ausgabe von Befehlen im Betriebsmodus verwenden können.
Beispiel: Verwenden Sie reguläre Ausdrücke mit dem senkrechten Strich ( | ) Ausgabe des Befehls "Symbol zum Filtern"
Sie verwenden die except
Filter , find
und match
mit dem Pipe-Symbol, um reguläre Ausdrücke zum Filtern der Ausgabe zu verwenden. Juniper Networks verwendet die regulären Ausdrücke, wie sie in POSIX 1003.2 definiert sind. Wenn ein regulärer Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie den Ausdruck in Anführungszeichen ein.
Operator |
Funktion |
---|---|
|
Gibt an, dass es sich bei einer Übereinstimmung um einen der beiden Begriffe auf beiden Seiten der Pipe handeln kann. |
|
Wird am Anfang eines Ausdrucks verwendet, um anzugeben, wo eine Übereinstimmung beginnen soll. |
|
Wird am Ende eines Ausdrucks verwendet, um anzugeben, dass ein Begriff bis zum Punkt des $-Zeichens genau übereinstimmen muss. |
|
Gibt einen Bereich von Buchstaben oder Ziffern an, die übereinstimmen sollen. Um den Anfang und das Ende eines Bereichs zu trennen, verwenden Sie einen Bindestrich ( |
|
Gibt eine Gruppe von Begriffen an, die übereinstimmen sollen. |
Wenn ein Befehl z. B. die folgende Ausgabe erzeugt:
user@host> show chassis hardware Hardware inventory: Item Version Part number Serial number Description Chassis JN0000000AJD JNP10003-160C [PTX10003-160C] Routing Engine 0 Control Board FPC 1 BUILTIN BUILTIN FPC-JNP10003-LOGICAL PIC 0 BUILTIN BUILTIN 4x400G/10x200G/20x100G Xcvr 0 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 1 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 2 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 3 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 4 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 5 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 6 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 7 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 8 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 9 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 PIC 1 BUILTIN BUILTIN 4x400G/10x200G/20x100G Xcvr 0 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 1 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 2 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 3 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 4 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 5 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 6 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 7 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 8 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 9 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 SIB 0 BUILTIN BUILTIN SIB-JNP10003 SIB 1 BUILTIN BUILTIN SIB-JNP10003
Ein Pipe-Filter von | match "PIC"
zeigt die folgende Ausgabe an:
PIC 0 BUILTIN BUILTIN 4x400G/10x200G/20x100G PIC 1 BUILTIN BUILTIN 4x400G/10x200G/20x100G
Ein Pipe-Filter von | except "PIC"
zeigt die folgende Ausgabe an:
Hardware inventory: Item Version Part number Serial number Description Chassis JN0000000AJD JNP10003-160C [PTX10003-160C] Routing Engine 0 Control Board FPC 1 BUILTIN BUILTIN FPC-JNP10003-LOGICAL Xcvr 0 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 1 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 2 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 3 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 4 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 5 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 6 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 7 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 8 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 9 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 0 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 1 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 2 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 3 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 4 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 5 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 6 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 7 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 8 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 Xcvr 9 REV 01 740-058732 1DJQA042004 QSFP-100GBASE-LR4 SIB 0 BUILTIN BUILTIN SIB-JNP10003 SIB 1 BUILTIN BUILTIN SIB-JNP10003
Beispiel: Pipe ( | ) Filterfunktionen in der Befehlszeilenschnittstelle
In diesem Thema werden die Pipe-Filterfunktionen ( | ) beschrieben und Beispiele dafür bereitgestellt, die von der Junos OS Evolved CLI unterstützt werden.
- Beispiele für Konfigurationen und ihre Unterschiede im Text
- Beispiele für Konfigurationen und ihre Unterschiede in XML
- Beispiel für das Zählen der Anzahl der Ausgabezeilen
- Beispiel für eine Ausgabe, die im XML-Tag-Format angezeigt wird
- Beispiel für die Anzeige statischer Konfigurationsdaten
- Beispiel für die Anzeige der Ausgabe im JSON-Format
- Beispiel für die Anzeige der Konfiguration mit angewendeten YANG-Übersetzungsskripten
- Beispiel für die Anzeige der RPC-Tags für einen Befehl
- Beispiel für das Ignorieren einer Ausgabe, die nicht mit einem regulären Ausdruck übereinstimmt
- Beispiel für die Anzeige der Ausgabe der ersten Übereinstimmung eines regulären Ausdrucks
- Beispiel für die Beibehaltung der Ausgabe nach dem letzten Bildschirm
- Beispiel für die Anzeige der Ausgabe beginnend mit den letzten Einträgen
- Beispiel für die Anzeige einer Ausgabe, die einem regulären Ausdruck entspricht
- Beispiel für das Verhindern der Paginierung der Ausgabe
- Beispiel für das Senden einer Befehlsausgabe an andere Benutzer
- Beispiel für das Auflösen von IP-Adressen
- Beispiel für das Speichern der Ausgabe in einer Datei
- Beispiel für das Anhängen der Ausgabe an eine Datei
- Beispiel für die Anzeige der Ausgabe auf dem Bildschirm und das Schreiben in eine Datei
- Beispiel für das Kürzen der Ausgabe durch Angeben der Startspalte
- Beispiel für das Aktualisieren der Ausgabe eines Befehls
Beispiele für Konfigurationen und ihre Unterschiede im Text
Der compare
Filter vergleicht die Kandidatenkonfiguration entweder mit der aktuellen festgeschriebenen Konfiguration oder mit einer Konfigurationsdatei. Außerdem werden die Unterschiede zwischen den beiden Konfigurationen mit Textzeichen angezeigt.
Um Konfigurationsdateien zu vergleichen, geben Sie nach dem Pipe-Symbol ( | ) Folgendes ein compare
:
show | compare [rollback n | filename]
Die rollback
n Variable ist der Index in der Liste der zuvor festgeschriebenen Konfigurationen. Die zuletzt gespeicherte Konfiguration ist 0. Wenn Sie keine Argumente angeben, wird die Kandidatenkonfiguration mit der aktiven Konfigurationsdatei (/config/juniper.conf) verglichen, was dem Vergleich mit rollback
Index 0 entspricht.
Der vollständige Pfad (oder URL) zu einer Konfigurationsdatei lautet filename.
Für die Vergleichsausgabe werden die folgenden Konventionen verwendet:
-
Anweisungen, die sich nur in der Kandidatenkonfiguration befinden, wird ein Pluszeichen (+) vorangestellt.
-
Anweisungen, die nur in der Vergleichsdatei enthalten sind, wird ein Minuszeichen (–) vorangestellt.
-
Anweisungen, die unverändert bleiben, wird ein einzelnes Leerzeichen ( ) vorangestellt.
Beispiel:
user@host> show configuration system | compare rollback 9
[edit system]
+ host-name device;
+ backup-router 192.168.71.254;
- ports {
- console log-out-on-disconnect;
- }
[edit system name-server]
+ 172.17.28.11;
172.17.28.101 { ... }
[edit system name-server]
172.17.28.101 { ... }
+ 172.17.28.100;
+ 172.17.28.10;
[edit system]
- scripts {
- commit {
- allow-transients;
- }
- }
+ services {
+ ftp;
+ rlogin;
+ rsh;
+ telnet;
+ }
Wir haben die Ausgabe des show | compare
Befehls verbessert, um Konfigurationsänderungen genauer widerzuspiegeln. Diese Erweiterung beinhaltet eine intelligentere Handhabung von Auftragsänderungen in Listen. Betrachten Sie z. B. Gruppennamen, die wie folgt neu angeordnet sind:
[edit groups] - group_xmp; - group_cmp; - group_grp;
In früheren Versionen sah die Ausgabe des show | compare
Befehls wie folgt aus:
[edit groups] - group_xmp; - group_cmp; - group_grp; + group_xmp; + group_grp; + group_cmp;
Die Ausgabe des show | compare
Befehls sieht nun wie folgt aus:
[edit groups] group_xmp {...} ! group_grp {...}
Beispiele für Konfigurationen und ihre Unterschiede in XML
Der compare | display xml
Filter vergleicht die Kandidatenkonfiguration mit der aktuellen festgeschriebenen Konfiguration und zeigt die Unterschiede zwischen den beiden Konfigurationen in XML an. Um Konfigurationen zu vergleichen, geben Sie nach dem Pipe-Symbol ( | ) entweder im Betriebs- oder Konfigurationsmodus ein compare | display xml
.
Beispiel im Betriebsmodus:
user@host> show configuration | compare | display xml
Beispiel im Konfigurationsmodus:
[edit]
user@host# show | compare | display xml
Sie können eine bestimmte Konfigurationshierarchie eingeben, bevor Sie den | compare
Befehl verwenden. Im Konfigurationsmodus können Sie zu einer Hierarchie navigieren, auf die der Befehl angewendet wird.
Beispiel für das Zählen der Anzahl der Ausgabezeilen
Um die Anzahl der Zeilen in der Befehlsausgabe zu zählen, geben Sie nach dem Pipe-Symbol ( | ) ein count
. Zum Beispiel:
user@host> show configuration | count
Count: 269 lines
Beispiel für eine Ausgabe, die im XML-Tag-Format angezeigt wird
Um die Befehlsausgabe im XML-Tag-Format anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein display xml
.
Im folgenden Beispiel wird die show cli directory
Befehlsausgabe als XML-Tags angezeigt:
user@host> show cli directory | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/21.2R0/junos">
<cli>
<working-directory>/var/home/regress</working-directory>
</cli>
<cli>
<banner></banner>
</cli>
</rpc-reply>
Wenn die Konfigurationsdaten oder die Befehlsausgabe Zeichen enthalten, die außerhalb des 7-Bit-ASCII-Zeichensatzes liegen, zeigt die CLI die entsprechende UTF-8-Dezimalzeichenreferenz für diese Zeichen in der XML-Ausgabe an.
Beispiel für die Anzeige statischer Konfigurationsdaten
Sie können die geerbten Konfigurationsdaten und Informationen über die Quellgruppe, von der die Konfiguration geerbt wurde, in Bezug auf die statische Konfigurationsdatenbank anzeigen. Um diese Daten anzuzeigen, geben Sie den show configuration | display inheritance
Befehl ab.
user@host> show configuration | display inheritance
## Last commit: 2018-03-29 15:54:17 PDT
version 16.2R2;
system {
...
}
Beispiel für die Anzeige der Ausgabe im JSON-Format
Sie können die Konfigurations- oder Befehlsausgabe im JSON-Format (JavaScript Object Notation) anzeigen, indem Sie nach dem Pipe-Symbol ( | ) eingeben display json
.
Im folgenden Beispiel wird die show cli directory
Befehlsausgabe im JSON-Format angezeigt:
user@host> show cli directory | display json
{
"cli" : [
{
"working-directory" : [
{
"data" : "/var/home/username"
}
]
}
]
}
Wenn die Ausgabe des Betriebsbefehls Zeichen enthält, die außerhalb des 7-Bit-ASCII-Zeichensatzes liegen, zeigt die CLI die entsprechende UTF-8-Dezimalzeichenreferenz für diese Zeichen in der JSON-Ausgabe an.
Beispiel für die Anzeige der Konfiguration mit angewendeten YANG-Übersetzungsskripten
Sie können YANG-Module auf Geräte laden, auf denen Junos OS Evolved ausgeführt wird, um die Konfigurationshierarchie mit Datenmodellen zu erweitern, die Junos OS Evolved nicht nativ unterstützt. Junos OS Evolved unterstützt die Übersetzung dieser Modelle. Die aktiven Konfigurationen und Kandidatenkonfigurationen enthalten die Konfigurationsdaten für nicht-native YANG-Datenmodelle in der Syntax, die durch dieses Modell definiert ist. In diesen Konfigurationen wird die entsprechende übersetzte Junos OS Evolved-Syntax nicht explizit angezeigt, für die ein Commit für eine vorübergehende Änderung ausgeführt wird.
Der | display translation-scripts
Filter zeigt die vollständige Konfiguration nach der Vererbung an, wobei die übersetzten Konfigurationsdaten aus allen aktivierten Übersetzungsskripten explizit in der Ausgabe enthalten sind. Um die Konfiguration mit allen aktivierten angewendeten YANG-Übersetzungsskripten anzuzeigen, hängen Sie den | display translation-scripts
Filter an den show configuration
Befehl im Betriebsmodus oder den show
Befehl im Konfigurationsmodus an. Zum Beispiel:
user@host> show configuration | display translation-scripts
Um nach der Übersetzung nur die nicht nativen Konfigurationsdaten anzuzeigen, verwenden Sie den | display translation-scripts translated-config
Filter entweder im Betriebsmodus oder im Konfigurationsmodus.
user@host> show configuration | display translation-scripts translated-config
Im Konfigurationsmodus können Sie nur die Konfigurationsunterschiede in den Hierarchien anzeigen, die nicht-nativen YANG-Datenmodellen entsprechen, bevor oder nachdem Übersetzungsskripte angewendet werden. Um diese Unterschiede anzuzeigen, fügen Sie dem Befehl das Schlüsselwort show | display translation-scripts
, translated-config
bzwtranslated-delta
. anconfigured-delta
. In diesen Fällen werden in der XML-Ausgabe die gelöschten Konfigurationsdaten, gefolgt von den neuen Konfigurationsdaten, angezeigt.
user@host# show | display-translation-scripts (configured-delta | translated-config | translated-delta)
Das folgende Beispiel zeigt eine Beispielkonfiguration mit und ohne angewendete Übersetzungsskripts. Der show
Befehl zeigt die Konfiguration an, die die nicht nativen Konfigurationsdaten in der Syntax enthält, die das YANG-Datenmodell definiert. Der | display translation-scripts
Filter zeigt die nicht nativen Konfigurationsdaten sowohl in der durch das YANG-Datenmodell definierten Syntax als auch in der übersetzten Junos OS Evolved-Syntax an. Beide Befehle zeigen die gesamte Konfiguration an, die in diesem Beispiel aus Gründen der Kürze abgeschnitten wurde. Der show
Befehl gibt jedoch die Konfiguration vor der Inhärtitanz zurück, während der show | display translation-scripts
Befehl die Konfiguration nach der Vererbung zurückgibt.
user@host# show
...
myint:intconfig {
interfaces {
interface et-0/0/0 {
config {
description test;
}
}
}
}
...
user@host# show | display translation-scripts
...
interfaces {
et-0/0/0 {
description test;
gigether-options {
no-flow-control;
}
}
}
...
myint:intconfig {
interfaces {
interface et-0/0/0 {
config {
description test;
}
}
}
}
...
Beispiel für die Anzeige der RPC-Tags für einen Befehl
Um die XML-Tags für den Remoteprozeduraufruf (Remote Procedure Call, RPC) für einen Betriebsmodusbefehl anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein display xml rpc
.
Im folgenden Beispiel werden die RPC-Tags für den show route
Befehl angezeigt:
user@host> show route | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.1I0/junos">
<rpc>
<get-route-information>
</get-route-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>
Beispiel für das Ignorieren einer Ausgabe, die nicht mit einem regulären Ausdruck übereinstimmt
Um Text zu ignorieren, der mit einem regulären Ausdruck übereinstimmt, geben Sie den except
Befehl nach dem senkrechten Strichsymbol ( | ) an. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.
Im folgenden Beispiel werden alle Benutzer angezeigt, die am Router angemeldet sind, mit Ausnahme des Benutzers root
:
user@host> show system users | except root
8:28PM up 1 day, 13:59, 2 users, load averages: 0.01, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE WHAT
user p0 device1.example.com 7:25PM - cli
Beispiel für die Anzeige der Ausgabe der ersten Übereinstimmung eines regulären Ausdrucks
Um die Ausgabe ab dem ersten Vorkommen von Text anzuzeigen, der einem regulären Ausdruck entspricht, geben Sie nach dem Pipe-Symbol ( | ) ein find
. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.
Im folgenden Beispiel werden die Routen in der Routingtabelle ab IP-Adresse 208.197.169.0
angezeigt:
user@host> show route | find 208.197.169.0
208.197.169.0/24 *[Static/5] 1d 13:22:11
> to 192.168.4.254 via et-3/0/0.0
224.0.0.5/32 *[OSPF/10] 1d 13:22:12, metric 1
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
47.0005.80ff.f800.0000.0108.0001.1921.6800.4015.00/160
*[Direct/0] 1d 13:22:12
> via lo0.0
Das folgende Beispiel zeigt den ersten CCC-Eintrag in der Weiterleitungstabelle:
user@host> show route forwarding-table | find ccc
Routing table: ccc
MPLS:
Interface.Label Type RtRef Nexthop Type Index NhRef Netif
default perm 0 rjct 3 1
0 user 0 recv 5 2
1 user 0 recv 5 2
32769 user 0 ucst 45 1 et-0/0/0.534
et-0/0/0. (CCC) user 0 indr 44 2
10.0.16.2 Push 32768, Push
Beispiel für die Beibehaltung der Ausgabe nach dem letzten Bildschirm
Sie können die Ausgabe beibehalten und scrollen oder durchsuchen, indem Sie sie gedrückt halten, anstatt sofort zur CLI-Eingabeaufforderung zurückzukehren, nachdem Sie den letzten Ausgabebildschirm angezeigt haben. Um die Ausgabe beizubehalten, geben Sie nach dem Pipe-Symbol ( | ) ein hold
. Im folgenden Beispiel wird verhindert, dass Sie zur CLI-Eingabeaufforderung zurückkehren, nachdem Sie den letzten Bildschirm der Ausgabe des show
log log-file-1
Befehls angezeigt haben:
user@host> show log log-file-1 | hold
Beispiel für die Anzeige der Ausgabe beginnend mit den letzten Einträgen
Sie können Protokolldateien anzeigen, in denen das Ende der Datei die neuesten Einträge enthält. Um den Text ab dem Ende der Ausgabe anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) ein last <
lines
>
.
Im folgenden Beispiel werden die letzten Einträge in der Datei log-file-1 angezeigt:
user@host> show log log-file-1 | last
Wenn die Anzahl der angeforderten Zeilen kleiner ist als die Anzahl der Zeilen, die die Einstellung für die Bildschirmlänge zulässt, gibt das System eine Teilmenge zurück. Das System gibt so viele Zeilen zurück, wie es die eingestellte Bildlänge zulässt. Das heißt, wenn Ihre Bildlänge auf 20 Zeilen eingestellt ist und Sie nur die letzten 10 Zeilen angefordert haben, gibt das System die letzten 19 Zeilen statt der letzten 10 Zeilen zurück.
Beispiel für die Anzeige einer Ausgabe, die einem regulären Ausdruck entspricht
Um eine Ausgabe anzuzeigen, die einem regulären Ausdruck entspricht, geben Sie nach dem Pipe-Symbol ( | ) ein match
regular-expression
. Wenn der reguläre Ausdruck Leerzeichen, Operatoren oder Platzhalterzeichen enthält, schließen Sie ihn in Anführungszeichen ein.
Das folgende Beispiel stimmt mit allen 10-Gigabit-Ethernet-Schnittstellen (xe) in der Konfiguration überein:
user@host> show configuration | match xe-
xe-2/1/0 {
xe-2/1/1 {
xe-2/2/0 {
xe-5/2/0 {
xe-5/3/0 {
Beispiel für das Verhindern der Paginierung der Ausgabe
Wenn die Ausgabe länger als die Länge des Terminalbildschirms ist, erhalten Sie standardmäßig eine ---(more)---
Meldung, um die verbleibende Ausgabe anzuzeigen. Um die verbleibende Ausgabe anzuzeigen, drücken Sie die Leertaste.
Um zu verhindern, dass die Ausgabe paginiert wird, geben Sie nach dem Pipe-Symbol ( | ) ein no-more
.
Im folgenden Beispiel wird die Ausgabe des show configuration
Befehls auf einmal angezeigt:
user@host> show configuration | no-more
Diese Funktion ist nützlich, wenn Sie die gesamte Ausgabe kopieren und in eine E-Mail-Nachricht einfügen möchten.
Beispiel für das Senden einer Befehlsausgabe an andere Benutzer
Um die Befehlsausgabe auf dem Terminal eines bestimmten Benutzers, der an Ihrem Router angemeldet ist, oder auf den Terminals aller an Ihrem Router angemeldeten Benutzer anzuzeigen, geben Sie nach dem Pipe-Symbol ( | ) einrequest
terminal
message (all | user
@
account
)
.
Wenn Sie eine Fehlerbehebung an Ihrem Router durchführen und mit einem Kundendienstmitarbeiter telefonieren, können Sie die Befehlsausgabe freigeben. Sie verwenden den request message
Befehl, um Ihrem Support-Techniker die Befehlsausgabe zu senden, die Sie gerade auf Ihrem Terminal anzeigen.
Im folgenden Beispiel wird die Ausgabe des Befehls, den show interfaces
Sie in Ihrem Terminal eingeben, an das Terminal des Benutzers root@ttyp1
gesendet:
user@host> show interfaces | request message user root@ttyp1
Dem Benutzer root@ttyp1
wird die folgende Ausgabe auf dem Terminalbildschirm angezeigt:
Message from user@host on /dev/ttyp0 at 10:32 PST... Physical interface: dsc, Enabled, Physical link is Up Interface index: 5, SNMP ifIndex: 5 Type: Software-Pseudo, MTU: Unlimited...
Beispiel für das Auflösen von IP-Adressen
Wenn die Ausgabe eines Befehls nur im Betriebsmodus eine nicht aufgelöste IP-Adresse anzeigt, können Sie nach dem Befehl den Namen eingeben | resolve
, der der IP-Adresse zugeordnet ist. Der resolve
Filter ermöglicht es dem System, einen Reverse-DNS-Lookup der IP-Adresse durchzuführen. Wenn DNS nicht aktiviert ist, schlägt die Suche fehl, und es wird keine Ersetzung durchgeführt.
Um eine Reverse-DNS-Suche einer nicht aufgelösten IP-Adresse durchzuführen, geben Sie nach dem Pipe-Symbol ( | ) ein resolve <full-names>
. Wenn Sie die full-names
Option nicht angeben, wird der Name gekürzt, damit er den für die IP-Adresse geltenden Einschränkungen der Feldbreite entspricht.
Im folgenden Beispiel wird eine DNS-Suche für alle nicht aufgelösten IP-Adressen in der Ausgabe des show ospf neighbors
Befehls durchgeführt:
user@host> show ospf neighbors | resolve
Beispiel für das Speichern der Ausgabe in einer Datei
Wenn die Befehlsausgabe lang ist, wenn Sie die Ausgabe speichern oder analysieren müssen oder wenn Sie die Ausgabe in einer E-Mail-Nachricht oder per FTP senden müssen, können Sie die Ausgabe in einer Datei speichern. Standardmäßig wird die Datei in Ihrem Home-Verzeichnis auf dem Router abgelegt.
Um die Befehlsausgabe in einer Datei zu speichern, geben Sie nach dem Pipe-Symbol ( | ) ein save
filename
.
Im folgenden Beispiel wird die Ausgabe des request support information
Befehls in einer Datei mit dem Namen my-support-info.txt gespeichert:
user@host> request support information | save my-support-info.txt
Wrote 1143 lines of output to ‘my-support-info.txt’
Beispiel für das Anhängen der Ausgabe an eine Datei
Wenn die Befehlsausgabe angezeigt wird, können Sie die Ausgabe entweder in einer Datei speichern, wodurch der vorhandene Inhalt dieser Datei überschrieben wird, oder Sie können den Ausgabetext an eine bestimmte Datei anhängen.
Um die Befehlsausgabe an die Datei anzuhängen, geben append filename
Sie nach dem Pipe-Symbol ( | ) ein.
Im folgenden Beispiel wird die Ausgabe des request support information
Befehls an eine Datei mit dem Namen my-support-info.txt angehängt:
user@host> request support information | append my-support-info.txt
Wrote 2247 lines of output to 'my-support-info.txt'
Beispiel für die Anzeige der Ausgabe auf dem Bildschirm und das Schreiben in eine Datei
Wenn die Befehlsausgabe angezeigt wird, können Sie die Ausgabe auch in eine Datei schreiben. Um die Ausgabe anzuzeigen und in eine Datei zu schreiben, geben Sie nach dem Pipe-Symbol (|) ein tee filename
.
Im folgenden Beispiel wird die Ausgabe des show interfaces et-* terse
Befehls (mit Informationen zum Status der Gigabit-Ethernet-Schnittstellen auf dem Gerät) angezeigt und die Ausgabe in eine Datei mit dem Namen et-interfaces.txt umgeleitet:
user@host> show interfaces et-* terse | tee et-interfaces.txt
Interface Admin Link Proto Local Remote
et-0/1/0 up down
et-0/1/1 up up
et-0/1/2 up down
et-0/1/3 up up
Im Gegensatz zum UNIX-Befehl tee
wird nur eine Fehlermeldung angezeigt, wenn die Datei nicht geöffnet werden kann (anstatt die Ausgabe und dann die Fehlermeldung anzuzeigen).
user@host> show interfaces et-* terse | tee /home/user/test.txt
error: tee failed: file /home/user/test.txt could not be opened
user@host>
Beispiel für das Kürzen der Ausgabe durch Angeben der Startspalte
Die Ausgabe wird auf dem Terminalbildschirm in Form von Zeilen und Spalten angezeigt. Das erste alphanumerische Zeichen, das auf der linken Seite des Bildschirms beginnt, befindet sich in Spalte 1, das zweite Zeichen in Spalte 2 usw. Um die Ausgabe ausgehend von einer bestimmten Spalte anzuzeigen (und damit den äußersten linken Teil der Ausgabe zu trimmen), geben Sie nach dem Pipe-Symbol ( | ) ein trim columns
. Der trim
Filter ist nützlich, um das Datum und die Uhrzeit vom Anfang von Systemprotokollmeldungen zu kürzen.
Im folgenden Beispiel wird die Ausgabe des show system storage
Befehls angezeigt, wobei die ersten 10 Spalten herausgefiltert werden:
user@host> show system storage | trim 11
Der trim
Befehl akzeptiert keine negativen Werte.
Beispiel für das Aktualisieren der Ausgabe eines Befehls
Sie können einen Betriebsmodusbefehl mit der | refresh
Pipe-Option ausführen, um die auf dem Bildschirm angezeigte Ausgabe regelmäßig zu aktualisieren. Die Standardaktualisierung erfolgt jede Sekunde. Sie können jedoch auch explizit ein Aktualisierungsintervall zwischen 1 und 604.800 Sekunden angeben. Wenn Sie z. B. die Ausgabe des show interfaces
Befehls alle 5 Sekunden aktualisieren möchten, führen Sie den folgenden Befehl aus:
user@host> show interfaces | refresh 5
Verwenden Sie den Suppress-Zero-Filter mit der Pipe ( | ) Symbol zum Filtern von Nullwerten in der Befehlsausgabe
Junos OS unterstützt suppress-zero
Filter zum Ausschließen von Zeilen mit "0"-Werten für jedes der Felder in einer bestimmten Zeile. Diese Funktion ist für alle operativen show-Befehle verfügbar. Für die CLI-Ausgabe von show-Befehlen können Zeilen mit der Ausgabe von '0'-Werten maskiert werden. Die Ausgabezeilen mit Werten ungleich Null werden angezeigt. Sie können dies verwenden, um die Werte von Nullzählern zu maskieren. Wenn eine Zeile Werte ungleich Null zusammen mit '0'-Werten in einer Zeile enthält, wird sie nicht maskiert. Wenn "0" in einem Beschreibungs- oder Zeichenfolgenfeld angezeigt wird, wird es nicht maskiert und in der CLI-Ausgabe ausgegeben.
Diese Funktion gilt nur für CLI-Betriebsbefehle. Der suppress-zeros
Filter gilt nicht für Befehle, die kein Rendering verwenden. Beispiel: show configuration
, traceroute
und ping
andere Monitorbefehle.
Hier sind ein paar Beispiele für die show-Befehle mit suppress-zeroes
Filter:
-
Wenn ein Befehl z. B. die folgende Ausgabe erzeugt:
user@host> show interfaces vtep Physical interface: vtep, Enabled, Physical link is Up Interface index: 133, SNMP ifIndex: 517 Type: Software-Pseudo, Link-level type: VxLAN-Tunnel-Endpoint, MTU: Unlimited, Speed: Unlimited Device flags : Present Running Interface flags: SNMP-Traps Link type : Full-Duplex Link flags : None Last flapped : Never Input packets : 0 Output packets: 0
Ein Pipe-Filter von
| suppress-zeros
zeigt die folgende Ausgabe an:user@host> show interfaces vtep | suppress-zeros Physical interface: vtep, Enabled, Physical link is Up Interface index: 133, SNMP ifIndex: 517 Type: Software-Pseudo, Link-level type: VxLAN-Tunnel-Endpoint, MTU: Unlimited, Speed: Unlimited Device flags : Present Running Interface flags: SNMP-Traps Link type : Full-Duplex Link flags : None Last flapped : Never
In diesem Beispiel werden die Felder "Eingabepakete" und "Ausgabepakete" maskiert, da diese Felder ganzzahlige Werte vom Typ "0" enthalten.
-
Wenn ein Befehl die folgende Ausgabe erzeugt:
user@host> show interfaces fxp0 Physical interface: fxp0, Enabled, Physical link is Up Interface index: 8, SNMP ifIndex: 1 Description: 0 Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps Device flags : Present Running Interface Specific flags: Internal: 0x100000 Interface flags: SNMP-Traps Link type : Full-Duplex Link flags : 0x4 Current address: 54:04:0a:dd:85:8d, Hardware address: 54:04:0a:dd:85:8d Last flapped : 2023-11-15 19:02:00 IST (21:40:35 ago) Input packets : 1530766 Output packets: 13469 Logical interface fxp0.0 (Index 5) (SNMP ifIndex 13) Flags: Up SNMP-Traps 0x4000000 Encapsulation: ENET2 Input packets : 1528251 Output packets: 13481 Protocol inet, MTU: 1500 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 186, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Sendbcast-pkt-to-re, Is-Primary Addresses, Flags: Is-Preferred Is-Primary Destination: 10.221.128/18, Local: 10.221.133.141, Broadcast: 10.221.191.255
Ein Pipe-Filter von
| suppress-zeros
zeigt die folgende Ausgabe an:user@host> show interfaces fxp0 | suppress-zeros Physical interface: fxp0, Enabled, Physical link is Up Interface index: 8, SNMP ifIndex: 1 Description: 0 Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps Device flags : Present Running Interface Specific flags: Internal: 0x100000 Interface flags: SNMP-Traps Link type : Full-Duplex Link flags : 0x4 Current address: 54:04:0a:dd:85:8d, Hardware address: 54:04:0a:dd:85:8d Last flapped : 2023-11-15 19:02:00 IST (21:40:35 ago) Input packets : 1530766 Output packets: 13469 Logical interface fxp0.0 (Index 5) (SNMP ifIndex 13) Flags: Up SNMP-Traps 0x4000000 Encapsulation: ENET2 Input packets : 1528251 Output packets: 13481 Protocol inet, MTU: 1500 Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 186, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Sendbcast-pkt-to-re, Is-Primary Addresses, Flags: Is-Preferred Is-Primary Destination: 10.221.128/18, Local: 10.221.133.141, Broadcast: 10.221.191.255
In diesem Beispiel wird das
Description
Feld in der Ausgabe nicht maskiert, da es sich um einen Zeichenfolgentyp und eine Nicht-Ganzzahl handelt. DieMax nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 186, Curr new hold cnt: 0, NH drop cnt: 0
Zeile ist nicht maskiert, da sie ganzzahlige Zählerwerte ungleich Null enthält.