348

コマンド ライン ftp クライアントを使用してフォルダーを ftp しようとしていますが、これまでのところ、個々のファイルを取得するために「get」しか使用できませんでした。

4

12 に答える 12

677

通常はftp getを適切に処理するwgetに頼ることができます(少なくとも私自身の経験では)。例えば:

wget -r ftp://user:pass@server.com/

-mミラーリングに適したものを使用することもできます。現在は と同等-r -N -l infです。

資格情報の詳細に特殊文字が含まれている場合は、--userおよび--password引数を指定して機能させることができます。特定の文字を使用したカスタム ログインの例:

wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/

@asmaier が指摘したように-r、再帰用であっても、デフォルトの最大レベルは 5 であることに注意してください。

-r
--recursive
    Turn on recursive retrieving.

-l depth
--level=depth
    Specify recursion maximum depth level depth.  The default maximum depth is 5.

サブディレクトリを見逃したくない場合は、ミラーリング オプションを使用することをお勧めします-m

-m
--mirror
    Turn on options suitable for mirroring.  This option turns on recursion and time-stamping, sets infinite
    recursion depth and keeps FTP directory listings.  It is currently equivalent to -r -N -l inf
    --no-remove-listing.
于 2008-09-22T09:01:46.213 に答える
181

Thibaut Barrèreの回答を補足するために。

使った

wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory

サーバー名の後の二重スラッシュに注意してください。余分なスラッシュを付けない場合、パスはユーザーのホーム ディレクトリからの相対パスになります。

  • -nHサーバー名にちなんで名付けられたディレクトリの作成を回避します
  • -nc宛先にすでに存在する場合、新しいファイルの作成を回避します(スキップされるだけです)
  • --cut-dirs=5 /absolute/path/to/directory の内容を取得して、wget を起動したディレクトリに配置できます。数値 5 は、パスの 5 つのコンポーネントを除外するために使用されます。二重スラッシュは、追加のコンポーネントを意味します。
于 2011-04-06T14:13:09.683 に答える
25
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
于 2008-09-22T09:02:23.417 に答える
23

lftpがマシンにインストールされている場合は、 を使用しますmirror dir。これで完了です。ディレクトリを再帰的にダウンロードする場合は、以下の Ciro のコメントを参照してください。

于 2012-12-08T18:20:37.157 に答える
17

scpの代わりに使用できる場合ftpは、-rオプションがこれを行います。FTP よりも最新のファイル転送メカニズムを使用できるかどうかを確認します。

于 2008-09-22T08:59:12.707 に答える
12

代わりに WGet を使用してください。HTTP および FTP プロトコルをサポートしています。

wget -r ftp://mydomain.com/mystuff

幸運を!

参照: http://linux.about.com/od/commands/l/blcmdl1_wget.htm

于 2008-09-22T09:05:07.407 に答える
7

Linuxにインストールできる「ncftp」があります。これは FTP プロトコルで動作し、ファイルとフォルダーを再帰的にダウンロードするために使用できます。Linuxで動作します。再帰的なフォルダ/ファイル転送に使用され、正常に動作しています。

このリンクを確認してください... http://www.ncftp.com/

于 2008-09-22T09:05:21.493 に答える
3

wget -r ftp://url

Redhat と Ubuntu で完璧に動作

于 2010-05-07T22:01:42.770 に答える
3

可能であれば、リモート マシンのディレクトリを作成することを強くお勧めしますtar。かなりのサイズのディレクトリのbzip場合gzip、圧縮/解凍する時間に見合った帯域幅の節約が得られるでしょう。

于 2008-09-22T09:02:44.197 に答える
3

コマンドライン FTP に固執したい場合は、NcFTP を試す必要があります。次に、 get -R を使用して再帰的にフォルダーを取得できます。完成度も上がります。

于 2008-09-22T09:07:45.247 に答える
-6

PROMPT コマンドでプロンプトを切り替えます。

使用法:

ftp>cd /to/directory    
ftp>prompt    
ftp>mget  *
于 2011-03-14T10:20:00.707 に答える