Wie funktioniert dieser Shell-Befehl?

Wie funktioniert dieser Shell-Befehl?

Der folgende Befehl fügt den Inhalt der lokalen Datei id_rsa.pubin die authorized_keysDatei auf dem Host ein.

Aber ich verstehe nicht ganz, wie catund |wie dieses Ziel gemeinsam erreicht wird. Kann mir das jemand erklären?

cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'

Antwort1

Der catBefehl gibt den Inhalt der Datei aus .ssh/id_rsa.pub; die |(Pipe) empfängt diese Textausgabe und sendet (d. h. leitet) den Text dann an ssh.

Verwendet diesen Text dann sshals Eingabe für den cat >> .ssh/authorized_keysBefehl.

Antwort2

Wenn für catden Befehl kein Dateiname angegeben ist, wird dieser von stdin übernommen. In diesem Fall ist es die Ausgabe von |.

verwandte Informationen