Jak pobrać cały folder przez FTP w Terminalu?

Odpowiedź

mget to najbliższa wartość, jaką można uzyskać dzięki dołączonemu plikowi binarnemu FTP. Musisz użyć mkdir i cd / lcd, a następnie pobrać wszystkie pliki, a następnie dopasować do wzorca, takiego jak *

prompt przełącznik może się przydać.

FTP działa w katalogu, a nie w katalogach jako kontenerach plików. Gdybyś absolutnie musiał wykonać swoją pracę, a ftp byłby jedynym narzędziem, którego mógłbyś użyć – możesz połączyć razem skrypt expect, który będzie sterował ftp za Ciebie.

Na szczęście istnieją alternatywy, takie jak scp | rsync | wget aby pobrać całe katalogi plików.

Komentarze

  • Ok … więc najważniejsze jest to, że mogę ' t pobieranie całego folderu na raz; Muszę pobrać poszczególne pliki, prawda?
  • Tak. Nikt nie ' nie pokazywałby wget, sftp, scp i rsync, gdyby ftp wykonał zadanie.
  • Dzięki … czy SFTP zezwala na pobieranie folderów?
  • Ups (przepraszam) – nie. sftp ma tę samą składnię i ograniczenia co ftp – wystarczy zabezpieczyć połączenie za pomocą ssh zamiast uwierzytelniania ftp.
  • Jeśli ' ponownie powiązany z protokołem FTP, możesz użyj lftp , aby wykonać cykliczne pobieranie drzewa katalogów. Klasyczne rozwiązanie tego problemu.

Odpowiedź

Innym sposobem jest użycie curl

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

Myślę, że to działa, lub plik po pliku

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

Mam nadzieję, że to pomogło.

Komentarze

  • OK, dziękuję bardzo, ale czy jest na to sposób przez FTP?
  • Super! Nie byłem świadomy skłonności do curl ' z FTP. Dzięki!
  • Tak … ja też nie. I ' Prawdopodobnie będę go częściej używać.
  • Ja ' m próbuję twojej sugestii, ale otrzymuję to: curl: (78) RETR response: 550
  • curl absolutnie nie mogę tego obsłużyć . wget can.

Answer

Użyj scp (dokumentacja) lub sftp (dokumentacja)

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

Komentarze

  • Że ' nie jest tym, o co pytam '. Moje pytanie brzmi: jak pobrać folder przez FTP w terminalu? Innymi słowy, jakich poleceń FTP mam użyć do pobrania folderu?
  • sftp jest znacznie lepszy od FTP +1
  • @bmike: tak, ale starsze serwery ftp mogą nie obsługiwać sftp.

Odpowiedź

Musiałem pobrać ponad 22 „000 zdjęć z kamery internetowej z mojego serwera internetowego, czyli trochę wyzwaniem zarówno dla Findera, jak i mojego programu FTP CyberDuck.

Zrobiłem więc co następuje (na podstawie odpowiedzi @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 

Następnie pliki są pobierane do wybranego folderu:

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

Odpowiedź

Używam

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

Niestety wget nie obsługuje równoległego pobierania.

Odpowiedź

postępuj zgodnie z poniższą instrukcją:

wpisz

ftp 

to masz ftp wyglądający jak

ftp> 

wtedy otwierasz adres IP serwera

ftp> open xx.xxx.xxx.xx 

to będzie plik sk jako nazwę użytkownika, podasz

Name:(your ftp server): your_username 

następnie poprosi o hasło

Password: your_password 

wtedy powinieneś być zalogowany i ponownie zobaczyć powłokę ftp> możesz wpisać „ls” aby wyświetlić wszystkie pliki i możesz nawigować jak w inix za pomocą cd

kiedy znajdziesz nazwę swojego pliku możesz go pobrać z

ftp> get filename 

et voila, plik zostanie pobrany do katalogu, z którego lokalnie otworzyłeś powłokę

Nie możesz pobrać katalogów, ale może przejść do twojego katalogu i pobrać wiele np. wszystkich plików

Zadanie: Pobierz wiele plików

Aby skopiować wiele plików ze zdalnego serwera ftp na lokalny, musisz użyć polecenia mget jak poniżej system. Możesz zostać poproszony o odpowiedź tak / nie (T / N) przed przesłaniem każdego pliku (możesz wyłączyć monit, przekazując opcję -i do klienta ftp). Aby pobrać wszystkie pliki, wprowadź: ftp> mget *

informacje z http://www.cyberciti.biz/faq/linux-unix-ftp-commands/ okrzyki

Komentarze

  • Narzędzie ftp unix zostało usunięte z OS X (chyba w Sierra?).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *