ncftp -u <user> -p <pass> <server>
ncftp> mget directory
Thibaut Barrère の回答を補足するために。
使った
wget -r -nH --cut-dirs=5 -nc ftp://user:[email protected]//absolute/path/to/directory
サーバー名の後の二重スラッシュに注意してください。スラッシュを追加しない場合、パスはユーザーのホーム ディレクトリからの相対パスになります。
-nH
サーバー名にちなんで名付けられたディレクトリの作成を回避します-nc
宛先に既に存在する場合、新しいファイルの作成を回避します (単にスキップされます)--cut-dirs=5
/absolute/path/to/directory の内容を取得して、wget を起動したディレクトリに配置できます。数値 5 は、パスの 5 つのコンポーネントを除外するために使用されます。二重スラッシュは追加のコンポーネントを意味します。
通常はftp getを適切に処理するwgetに頼ることができます(少なくとも私自身の経験では)。例:
wget -r ftp://user:[email protected]/
-m
も使用できます ミラーリングに適しています。現在は -r -N -l inf
と同等です .
資格情報の詳細に特殊文字が含まれている場合は、--user
を指定できます そして --password
それを機能させるための引数。特定の文字を使用したカスタム ログインの例:
wget -r --user="[email protected]" --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.
lftp
の場合 がマシンにインストールされている場合は、mirror dir
を使用します .これで完了です。ディレクトリを再帰的にダウンロードする場合は、以下の Ciro のコメントを参照してください。