Jak stáhnu celou složku přes FTP v Terminálu?

Odpovědět

mget je nejbližší, co můžete získat pomocí přiloženého binárního souboru FTP. Musíte mkdir a cd / lcd a poté získat všechny soubory, než odpovídají vzoru jako *

prompt přepínání může přijít vhod.

FTP funguje v adresáři, nikoli v adresářích jako kontejnery souborů. Pokud jste práci museli absolutně zvládnout a ftp byl jediným nástrojem, který jste mohli použít – mohli byste vložit co nejdříve skript expect, který vám bude řídit ftp.

Naštěstí existují alternativy jako scp | rsync | wget získat celé adresáře v hodnotě souborů.

Komentáře

  • Dobře … takže spodní řádek je, že mohu ' t stáhnout celou složku najednou; Musím stáhnout jednotlivé soubory, že?
  • Jo. Každý by ' neukazoval wget, sftp, scp a rsync, pokud by ftp zvládly tento úkol.
  • Díky … povoluje SFTP stahování složek?
  • Jejda (omlouvám se) – ne. sftp je stejná syntaxe a omezení ftp – stačí zabezpečit připojení pomocí ssh místo ftp autentizace.
  • Pokud jste ' navázáni na protokol FTP, můžete použijte lftp k rekurzivnímu stažení adresářového stromu. Řešení tohoto problému ze staré školy.

Odpovědět

Další způsob je použít curl

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

Myslím, že to funguje, nebo soubor po souboru

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

Doufám, že to pomohlo.

Komentáře

  • Dobře, děkuji, ale existuje způsob, jak to udělat pomocí FTP?
  • Úžasné! Nevěděl jsem o sklonu curl ' s FTP. Díky!
  • Ano … ani já jsem to nebyl. Já ' jej pravděpodobně používám častěji.
  • Já ' zkouším váš návrh, ale získávám toto: curl: (78) RETR response: 550
  • curl to absolutně nezvládne . wget může.

Odpovědět

Použít scp (dokumentace) nebo sftp (dokumentace)

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

Komentáře

  • To ' není to, na co se ' ptám. Moje otázka zní: Jak stáhnu složku přes FTP v Terminálu? Jinými slovy, jaké příkazy na FTP používám ke stažení složky?
  • sftp je mnohem lepší než FTP +1
  • @bmike: ano, ale starší ftp servery nemusí podporovat sftp.

Odpověď

Musel jsem stáhnout 22 „000+ obrázků z webové kamery ze svého webového serveru, což je trochu výzva pro Finder i pro můj FTP program CyberDuck.

Takže jsem udělal následující (na základě odpovědi @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 

Pak se soubory stahují do požadované složky:

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

Odpovědět

Používám

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

Bohužel wget nepodporuje paralelní stahování.

Odpověď

postupujte podle těchto pokynů:

typ

ftp 

pak vypadáte v ftp

ftp> 

pak otevřete IP serveru

ftp> open xx.xxx.xxx.xx 

pak to bude a sk pro uživatelské jméno, uvedete

Name:(your ftp server): your_username 

a poté vás požádá o heslo

Password: your_password 

pak byste měli být přihlášeni a znovu vidět ftp> shell, můžete zadat „ls“ pro výpis všech souborů a můžete se pohybovat jako v inix s cd

když najdete svůj název souboru, můžete si jej stáhnout s

ftp> get filename 

et voila bude soubor stažen do adresáře, který jste otevřeli, lokálně z

nemůžete stahovat adresáře, ale vy mohl přejít do svého adresáře a stáhnout více, např. všechny soubory

Úkol: Stáhnout více souborů

Chcete-li zkopírovat více souborů ze vzdáleného serveru ftp na místní, musíte použít následující příkaz mget. Systém. Před přenosem každého souboru můžete být vyzváni k odpovědi ano / ne (ano / ne) (výzvu můžete deaktivovat předáním volby -i klientovi ftp). Chcete-li stáhnout všechny soubory, zadejte: ftp> mget *

informace z http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ na zdraví

Komentáře

  • Nástroj ftp unix byl odebrán z OS X (myslím v Sierře?).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *