このシェルコマンドはどのように機能しますか?

このシェルコマンドはどのように機能しますか?

次のコマンドは、ローカルの内容をホスト上のファイルid_rsa.pubに格納します。authorized_keys

catしかし、この目標を達成するためにと がどのよう|に連携するのかよくわかりません。誰か説明してもらえますか?

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

答え1

コマンドcatはファイル の内容を出力します.ssh/id_rsa.pub|(パイプ) はこのテキスト出力を受け取り、テキストを に送信 (つまりパイプ) しますssh

次に、sshこのテキストをcat >> .ssh/authorized_keysコマンドの入力として使用します。

答え2

コマンドのcat場合、ファイル名が指定されていない場合は、stdin から取得されます。この場合、 の出力になります|

関連情報