Como faço o download de uma pasta inteira por FTP no Terminal?

Resposta

mget é o mais próximo que você pode obter com o binário FTP incluído. Você deve mkdir e cd / lcd e, em seguida, obter todos os arquivos que correspondam a um padrão como *

O prompt alternar pode ser útil.

O FTP funciona em um diretório, não em diretórios como contêineres de arquivos. Se você realmente tivesse que fazer o trabalho e o ftp fosse a única ferramenta que você poderia usar – você poderia montar um expect script para conduzir o ftp para você.

Felizmente, existem alternativas como scp | rsync | wget para obter diretórios inteiros de arquivos.

Comentários

  • Ok … o que quero dizer é que posso ' t baixar uma pasta inteira de uma vez; Tenho que baixar os arquivos individuais, certo?
  • Sim. Todos não ' estariam mostrando wget, sftp, scp e rsync se ftp estivesse à altura da tarefa.
  • Obrigado … o SFTP permite o download de pastas?
  • Oops (desculpe) – não. sftp é a mesma sintaxe e limitações do ftp – apenas protegendo a conexão usando ssh em vez de autenticação ftp.
  • Se você ' for vinculado ao protocolo FTP, você pode use lftp para fazer um download recursivo de uma árvore de diretório. Solução da velha escola para este problema.

Resposta

Outra maneira é usar curl

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

Acho que está funcionando, ou arquivo por arquivo

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

Espero que tenha ajudado.

Comentários

  • OK, muito obrigado, mas existe uma maneira via FTP de fazer isso?
  • Incrível! Eu não sabia da tendência de curl ' s para FTP. Obrigado!
  • Sim … nem eu. Eu ' provavelmente vou usá-lo com mais frequência.
  • Eu ' estou tentando sua sugestão, mas obtendo esta: curl: (78) RETR response: 550
  • curl absolutamente não consigo lidar com isso . wget pode.

Resposta

Use scp (documentação) ou sftp (documentação)

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

Comentários

  • Isso ' não é o que eu ' estou perguntando. Minha pergunta é: Como faço para baixar uma pasta via FTP no Terminal? Em outras palavras, quais comandos no FTP eu uso para baixar uma pasta?
  • sftp é muito superior ao FTP +1
  • @bmike: sim, mas os servidores ftp mais antigos podem não oferecer suporte sftp.

Resposta

Tive que baixar mais de 22 “000 imagens da webcam do meu servidor web, que é um desafio para o Finder e para meu programa de FTP CyberDuck.

Então, fiz o seguinte (com base na resposta de @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 

Em seguida, os arquivos estão sendo baixados para a pasta desejada:

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) .... 

Resposta

Estou usando

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

Infelizmente wget não oferece suporte para downloads paralelos.

Resposta

siga esta instrução:

digite

ftp 

então você está no ftp parecido com

ftp> 

então você abre o ip do servidor

ftp> open xx.xxx.xxx.xx 

então será um sk para nome de usuário, você fornecerá

Name:(your ftp server): your_username 

e então pedirá a senha

Password: your_password 

então você deve estar logado e ver o ftp> shell novamente, você pode digitar “ls” para listar todos os arquivos e você pode navegar como no inix com cd

quando você encontrar seu nome de arquivo, você pode baixá-lo com

ftp> get filename 

et voila, o arquivo será baixado para o diretório que você abriu o shell localmente de

você não pode baixar diretórios, mas você pode navegar em seu diretório e baixar vários, por exemplo, todos os arquivos

Tarefa: Baixar vários arquivos

Você precisa usar o comando mget da seguinte maneira para copiar vários arquivos do servidor ftp remoto para o local sistema. Pode ser solicitado que você responda sim / não (S / N) antes de transferir cada arquivo (você pode desativar o prompt passando a opção -i para o cliente ftp). Para baixar todos os arquivos, digite: ftp> mget *

informações de http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ cheers

Comentários

  • A ferramenta ftp unix foi removida do OS X (no Sierra, eu acho?).

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *