Was macht diese Befehlszeile?

Was macht diese Befehlszeile?

Bitte erklären Sie mir das so, dass ich es verstehe:

ps ax >mytemp; more <mytemp … same as … ps ax | more
cat mytemp | grep barrymp … same as … ps ax | grep “barrymp”

Antwort1

Nehmen wir uns Zeile für Zeile vor und teilen jede Zeile in zwei Hälften:

ps ax >mytemp; more <mytemp

Nimmt die Ausgabe von ps axund legt sie in eine Datei namens ab mytemp. Das Semikolon markiert den Anfang eines separaten Befehls in derselben Zeile. Der zweite Befehl nimmt den Inhalt von mytempund gibt ihn an more(einen Pager, der die Datei Bildschirm für Bildschirm anzeigt). In Ihren Notizen steht dann, dass dies dasselbe ist wie ps ax | morewas wahr ist, außer dass keine temporäre mytempDatei erstellt wird. Beide nehmen effektiv die Ausgabe von ps axund machen sie schließlich zur Standardeingabe fürmore

Zweite Reihe:

cat mytemp | grep barrymp

Druckt den Inhalt einer aufgerufenen Datei mytempin stdout, die dann zur Standardeingabe für den Befehl umgeleitet wird , der zum Filtern der Ausgabe grepangegeben wurde .barrymp

In den Anmerkungen heißt es dann, es sei dasselbe wie ps ax | grep "barrymp". Ich gehe davon aus, dass dies daran liegt, dass es ab der ersten Zeile dasselbe sein soll mytemp. Die zweite Hälfte dieser Zeile überspringt ebenfalls die temporäre Datei und leitet die Befehlsausgabe direkt an die Pipe zu grep um.

Ich habe versucht, es so gut wie möglich aufzuschlüsseln. Wenn es immer noch unklar ist, sagen Sie mir Bescheid.

verwandte Informationen