ターミナルでFTPを介してフォルダ全体をダウンロードするにはどうすればよいですか?

回答

mgetは、含まれているFTPバイナリで取得できる最も近いものです。 mkdirとcd / lcdを実行してから、*

promptトグルが役立つ場合があります。

FTPは、ファイルのコンテナとしてのディレクトリではなく、ディレクトリ内で機能します。どうしても仕事を終わらせる必要があり、ftpが使用できる唯一のツールである場合は、expectスクリプトを組み合わせてftpを駆動できます。

ありがたいことに、scp | rsync | wgetのような代替手段がありますディレクトリ全体に相当するファイルを取得します。

コメント

  • わかりました…つまり、フォルダ全体を一度にダウンロードします。個々のファイルをダウンロードする必要がありますよね?
  • うん。 ' ftpがタスクに対応していれば、誰もがwget、sftp、scp、rsyncを表示しません。
  • ありがとう… SFTPはフォルダのダウンロードを許可しますか?
  • おっと(申し訳ありません)-いいえ。 sftpは、ftpと同じ構文と制限です。つまり、ftp認証の代わりにsshを使用して接続を保護するだけです。
  • ' FTPプロトコルにバインドしている場合は、次のことができます。 lftp を使用して、ディレクトリツリーを再帰的にダウンロードします。この問題に対する昔ながらの解決策。

回答

別の方法はcurlを使用することです

curl ftp://ftp.com/mp3/* --user login:password -o /myfolder/* 

これは機能していると思います、またはファイルごとに

curl ftp://ftp.com/mp3/mymusic.zip --user login:password -o mymusic.zip 

これがお役に立てば幸いです。

コメント

  • OK、ありがとうございますが、FTP経由でこれを行う方法はありますか?
  • すごい!私はcurl 'のFTP傾向に気づいていませんでした。ありがとう!
  • ええ…私もそうではありませんでした。私は'おそらくもっと頻繁に使用します。
  • I '提案を試みていますが、これを取得しています:curl: (78) RETR response: 550
  • curlは絶対にこれを処理できません。 wgetできます。

回答

scp (ドキュメント)またはsftp (ドキュメント)

scp -r login@myserverip:/remote/directory/path/ mylocaldirectory 

コメント

  • その'は私が'求めているものではありません。私の質問は:ターミナルでFTP経由でフォルダをダウンロードするにはどうすればよいですか?つまり、フォルダをダウンロードするためにFTPのどのコマンドを使用しますか?
  • sftpはFTP + 1よりもはるかに優れています
  • @bmike:はい、ただし古いftpサーバーはサポートしていない可能性がありますsftp。

回答

ウェブサーバーから22 “000以上のウェブサイトの写真をダウンロードする必要がありました。 Finderと私のFTPプログラムCyberDuckの両方にとって少し挑戦的でした。

それで私は次のことをしました(@bmikeの答えに基づいて):

mkdir ~/Desktop/image-dump-myserver ftp ftp://[email protected] # enter password # You"re now in the ftp console (where the world is still okay) # Set the local folder lcd ~/Desktop/image-dump-myserver # cd into the desired folder (`ls`, `pwd` etc. all work here) cd /httpdocs/images # Toggle the interactive mode prompt # Download the desired files (all the images in my case) mget *.jpg 

次に、ファイルが目的のフォルダーにダウンロードされます。

local: image1433509292_1582.jpg remote: image1433509292_1582.jpg 229 Entering Extended Passive Mode (|||50001|) 150 Opening BINARY mode data connection for image1433509292_1582.jpg (63626 bytes) 100% |***********************************| 63626 1.51 MiB/s 00:00 ETA 226 Transfer complete 63626 bytes received in 00:00 (0.98 MiB/s) local: image1427279963_0841.jpg remote: image1427279963_0841.jpg 229 Entering Extended Passive Mode (|||50053|) 150 Opening BINARY mode data connection for image1427279963_0841.jpg (67194 bytes) 100% |***********************************| 67194 1.64 MiB/s 00:00 ETA 226 Transfer complete 67194 bytes received in 00:00 (1.04 MiB/s) local: image1439798493_1783.jpg remote: image1439798493_1783.jpg 229 Entering Extended Passive Mode (|||50357|) 150 Opening BINARY mode data connection for image1439798493_1783.jpg (48876 bytes) 100% |***********************************| 48876 1.80 MiB/s 00:00 ETA 226 Transfer complete 48876 bytes received in 00:00 (996.81 KiB/s) .... 

回答

使用しています

wget -r -l 10 --ftp-user="FTP_USER" --ftp-password="FTP_PASSWORD" \ ftp://ftp.server.com/folder_to_download/* 

残念ながら、wgetは並列ダウンロードをサポートしていません。

回答

次の手順に従います:

タイプ

ftp 

次にFTPで次のようになります

ftp> 

次にサーバーのIPを開きます

ftp> open xx.xxx.xxx.xx 

その後、ユーザー名を求めてください。

Name:(your ftp server): your_username 

次に、パスワードを要求します

Password: your_password 

次に、ログインしてftpシェルを再度表示する必要があります。>「ls」と入力してすべてのファイルを一覧表示し、inixのようにcdを使用してナビゲートできます

ファイル名が見つかったら、ダウンロードできます

ftp> get filename 

et voilaを使用すると、ファイルはシェルをローカルで開いたディレクトリにダウンロードされます

ディレクトリをダウンロードすることはできませんが、ディレクトリに移動して、複数のファイル(例:すべてのファイル)をダウンロードできます

タスク:複数のファイルをダウンロード

リモートftpサーバーからローカルに複数のファイルをコピーするには、次のようにmgetコマンドを使用する必要がありますシステム。各ファイルを転送する前に、「はい/いいえ」(Y / N)の回答を求められる場合があります(ftpクライアントに-iオプションを渡すことでプロンプトを無効にできます)。すべてのファイルをダウンロードするには、次のように入力します。ftp> mget *

information from http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers

コメント

  • ftpunixツールがOSXから削除されました(Sierraではそう思いますか?)。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です