ターミナルで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 -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ではそう思いますか?)。