Próbuję pobrać folder ftp za pomocą klienta ftp z wiersza poleceń, ale do tej pory mogłem używać tylko polecenia „get”, aby uzyskać pojedyncze pliki.
linux
command-line
ftp
Charles Ma
źródło
źródło
mget
, to wcale nie jest rekurencyjne. odpowiedź z 22 września 08 o 9:01 Thibaut Barrère jest łatwiejszy do zrozumienia, ale musi dodać opcję,-l 0
jak wspomniano w komentarzachOdpowiedzi:
Możesz polegać na wget, który zwykle odpowiednio obsługuje ftp (przynajmniej z własnego doświadczenia). Na przykład:
Możesz także użyć
-m
odpowiedniego do tworzenia kopii lustrzanych. Obecnie jest to równoważne z-r -N -l inf
.Jeśli masz jakieś znaki specjalne w szczegółach poświadczeń, możesz podać argumenty
--user
i--password
argumenty, aby to zadziałało. Przykład niestandardowego logowania z określonymi znakami:EDYCJA Jak wskazał @asmaier, uważaj, że nawet jeśli
-r
dotyczy rekurencji, ma domyślny maksymalny poziom 5:Jeśli nie chcesz przegapić podkatalogów, lepiej skorzystaj z opcji dublowania
-m
:źródło
wget -m
(--mirror
).wget -r
domyślnie jest ograniczona do głębokości rekurencji wynoszącej 5.--user
i--password
na Red Hat. Mój wget brzmi:GNU Wget 1.11.4 Red Hat modified
zastanawiam się, czy to jest wersja, czy dystrybucja ...-l 0
, więc nie ma potrzeby używania tego,--mirror
co może mieć niepożądane skutki uboczne, takie jak pliki .listingwget --ask-password -rl 99 ftp://[email protected]
. W ten sposób hasło nie jest widoczneps
i nie pozostaje w historii. Oczywiście z natury ftp jest wysyłany niezaszyfrowany na serwer.$
), np.--user='user' --password='pa$$word'
Tylko w celu uzupełnienia odpowiedzi udzielonej przez Thibaut Barrère.
użyłem
Zwróć uwagę na podwójny ukośnik po nazwie serwera. Jeśli nie wstawię dodatkowego ukośnika, ścieżka jest względna do katalogu domowego użytkownika.
źródło
--ftp-user=USER
i--ask-password
.źródło
open ftp://USERNAME:PASSWORD@HOST
po uruchomieniu ncftp…wget
i szybszy również w trybie TAR. Dzięki!Jeśli
lftp
jest zainstalowany na twoim komputerze, użyjmirror dir
. I gotowe. Zobacz komentarz Ciro poniżej, jeśli chcesz rekurencyjnie pobrać katalog.źródło
mirror -R dir
czy rekursywne przesyłanie / aktualizacja katalogumirror ./
do pobrania wszystkich plików i folderów rekurencyjnie w bieżącej ścieżce.mirror
, dla bieżącego katalogu i jego podfolderów.Jeśli możesz użyć
scp
zamiastftp
,-r
opcja zrobi to za Ciebie. Sprawdziłbym, czy możesz użyć bardziej nowoczesnego mechanizmu przesyłania plików niż FTP.źródło
scp
nadal będzie próbował użyć ssh, co nie będzie działać, jeśli masz tylko poświadczenia FTP. Czuje się dziwnie reaguje na komentarz z 2008 roku mówią technologię utknąłem ze nie jest nowoczesny :( Dobry stary 2008, zwróciłem się w dniu 18 ty pisał komentarz.Zamiast tego użyj WGet. Obsługuje protokoły HTTP i FTP.
Powodzenia!
odniesienie: http://linux.about.com/od/commands/l/blcmdl1_wget.htm
źródło
Istnieje „ncftp”, który można zainstalować w systemie Linux. Działa na protokole FTP i może służyć do rekurencyjnego pobierania plików i folderów. działa na systemie Linux. Został użyty i działa dobrze w przypadku rekurencyjnego przesyłania folderów / plików.
Sprawdź ten link ... http://www.ncftp.com/
źródło
Jeśli możesz, zdecydowanie zalecam ci
tar
ibzip
(lubgzip
cokolwiek, co płynie twoją łodzią) katalog na zdalnej maszynie - w przypadku katalogu o znacznych rozmiarach, oszczędność przepustowości prawdopodobnie będzie warta czasu na skompresowanie / rozpakowanie.źródło
Jeśli chcesz trzymać się wiersza poleceń FTP, powinieneś wypróbować NcFTP. Następnie możesz użyć polecenia get -R, aby rekurencyjnie uzyskać folder. Otrzymasz również ukończenie.
źródło
wget -r ftp://url
Działa idealnie dla Redhat i Ubuntu
źródło
Nie powinieneś używać
ftp
. Jakbytelnet
nie korzystał z bezpiecznych protokołów, a hasła są przesyłane czystym tekstem. Dzięki temu osoby trzecie mogą bardzo łatwo przechwycić nazwę użytkownika i hasło.Aby skopiować zdalne katalogi zdalnie, te opcje są lepsze:
rsync
jest najlepszym narzędziem, jeśli można się zalogowaćssh
, ponieważ kopiuje tylko różnice i może łatwo zrestartować się w środku w przypadku zerwania połączenia.ssh -r
jest drugą najlepszą opcją do rekurencyjnego kopiowania struktur katalogów.Widzieć:
strona podręcznika rsync
strona podręcznika ssh
źródło
przełączać monit za pomocą polecenia PROMPT.
Stosowanie:
źródło