マンスロットルコマンドの例では、「-」は何ですか?

マンスロットルコマンドの例では、「-」は何ですか?

初心者のように聞こえたらすみません。パイプがスロットルとどのように連動するかを調べるために、スロットルのマニュアルページを確認していました。そのため、マニュアルページの例を確認しながら、以下のコマンドに「-」を残しました。例セクションのマニュアルページでは、最初の例は次のとおりです。

   To limit the bandwidth of a tar back-up to a remote server to 1 Mbit/s, type:

   $ tar czf - . | throttle -m 1 | ssh host 'tar xzf - -C /bak'

ここで、czfの後ろの「-」とxzfの後ろの「-」を理解したいと思います。質問が明確であれば、コマンド全体を喜んで理解します。

よろしくお願いします。

ベストアンサー1

コマンドをいくつかの部分に分けて1つずつ説明します。

tar czf - .

このコマンドは、tar現在のディレクトリからアーカイブを生成し、引数で指定された-fファイルに出力を保存するように指示します。ここでファイルは-標準出力を意味します。

役割|は左コマンドの標準出力を取得し、右コマンドに標準入力として渡します。

この場合、出力はtar入力に渡され、最後のthrottle -m 1コマンドに出力が与えられます。

ssh host 'tar xzf - -C /bak'

出力は、SSHを介してパイプとしてSSHを使用してtar実行されるコマンドに送信されます。hostこのパラメータは、標準入力からアーカイブを読み取って抽出することをxzf -意味します。tar抽出する前にディレクトリをtar変更してください/bak

要約すると、アーカイブを作成するとき、-f -tarは結果を標準出力(stdout)に出力することを意味します。

アーカイブを抽出するとき、-f -tarは標準入力(stdin)から入力アーカイブを読み取ることを意味します。

おすすめ記事