ファイル名のリストに基づいてSSH経由でファイルをダウンロードする

ファイル名のリストに基づいてSSH経由でファイルをダウンロードする

これが私がしたことです:

ファイルのリストを含むabc.txtという名前のファイルがあります。私はabc.txtを使ってこれらのファイルをフォルダに移動し、フォルダをtar処理し、最後にGNU / Linuxを実行しているサーバーから自分のローカルPCにtarをダウンロードしました。

リスト形式の手順は次のとおりです。

  1. abc.txt
  2. abc.txt(表示されたファイル) - >フォルダ
  3. フォルダ->Folder.tar
  4. フォルダ.tar - >ローカルPC。

abc.txtに2つのファイルが含まれている場合は、次のようになります。

example1.css
example2.css

abc.txtからローカルPCにこのファイルを個別にダウンロードする必要があります。

ftpまたはsftpをダウンロードするにはファイル名が必要なので、abc.txtからファイル名をどのように読みますか?

ベストアンサー1

ファイルにabc.txt以下に関連するファイル名のリストが含まれている場合/path/to/base

ssh user@server tar c -T /path/to/abc.txt -C /path/to/base | (cd /tmp; tar xv)

これは実際にどこにも保存せずに動的にタールボールを作成し、それをローカルシェルにパイプして抽出し、リストされたファイルを効果的にコピーします。

追加のヒント

ファイルにabc.txt絶対パスのリストが含まれている場合:

ssh user@server tar c -T /path/to/abc.txt | (cd /tmp; tar xv)

ファイルがabc.txtリモートシステムではなくローカルシステムにある場合:

ssh user@server tar c -T- < /path/to/abc.txt | (cd /tmp; tar xv)

圧縮を使用するにはgzip(デフォルトレベル6を使用):

ssh -C user@server tar c -T /path/to/abc.txt | (cd /tmp; tar xv)

gzip圧縮レベル9を使用するには:

ssh user@server 'tar c -T /path/to/abc.txt | gzip -9' | (cd /tmp; tar zxv)

おすすめ記事