Ich habe gerade angefangen, UNIX zu lernen, daher scheint die Frage vielleicht etwas für Anfänger zu sein, aber ich wäre für eine Antwort dankbar, da ich bereits seit einer Stunde versuche, es mit der Hilfe von Google selbst herauszufinden, allerdings ohne Erfolg.
cat /etc/shadow 2>&1 | wc -l
Welchen Effekt hätte dieser Befehl? Ich vermute:
- Der Befehl drucktdie Zeilenanzahlvon „/etc/shadow“ wird bei einem Standardfehler dieser auf die Standardausgabe umgeleitet und die Fehlerzeilen gezählt.
- Der Befehl drucktdie Dateienvon „/etc/shadow“: Wenn ein Standardfehler auftritt, wird dieser auf die Standardausgabe umgeleitet und die Zeilen des Fehlers werden gezählt.
Antwort1
X>&Y
ist fürDateideskriptor-Umleitung: Dies bedeutet, dass die gesamte Ausgabe an X
fdGenau genommenWenn Sie in Y
. gehen 2>&1
, wird die Ausgabe von STDERR in STDOUT ausgegeben.
wc -l
schreibt die Anzahl der Eingabezeilen nach STDOUT.
Zusammengibt der Befehl cat /etc/shadow 2>&1 | wc -l
die Anzahl der Zeilen in zurück /etc/shadow
,sowiedie Anzahl der Fehlerzeilen.
Wenn dunichtmöchten Sie diese Fehlerzeilen zählen, verwenden Sie einfach cat /etc/shadow | wc -l
.
Antwort2
Dies ist keine direkte Antwort.
Was hält Sie davon ab, zu experimentieren?
Wenn Sie Experimente durchgeführt haben, haben Sie Ihre Frage möglicherweise selbst beantwortet.
Führen Sie verschiedene Kombinationen der Befehle aus.
cat /etc/shadow
cat /etc/shadows
cat /etc/shadow 2>&1
cat /etc/shadows 2>&1
und leiten Sie dann jedes weiter anwc
cat /etc/shadow | wc
usw. usw.