Ik probeer een map te ftpn met behulp van de opdrachtregel ftp-client, maar tot nu toe heb ik alleen ‘get’ kunnen gebruiken om individuele bestanden op te halen.
Antwoord 1, autoriteit 100%
Je zou kunnen vertrouwen op wget, dat normaal gesproken ftp get goed afhandelt (althans in mijn eigen ervaring). Bijvoorbeeld:
wget -r ftp://user:[email protected]/
Je kunt ook -m
gebruiken die geschikt is voor spiegelen. Het is momenteel gelijk aan -r -N -l inf
.
Als je speciale tekens in de gegevens van de inloggegevens hebt, kun je de argumenten --user
en --password
opgeven om het te laten werken. Voorbeeld met aangepaste login met specifieke tekens:
wget -r --user="user@login" --password="Pa$$wo|^D" ftp://server.com/
Zoals aangegeven door @asmaier, pas op dat zelfs als -r
voor recursie is, het een standaard maximaal niveau van 5 heeft:
-r --recursive Turn on recursive retrieving. -l depth --level=depth Specify recursion maximum depth level depth. The default maximum depth is 5.
Als u geen submappen wilt missen, kunt u beter de spiegeloptie gebruiken, -m
:
-m --mirror Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings. It is currently equivalent to -r -N -l inf --no-remove-listing.
Antwoord 2, autoriteit 27%
Als aanvulling op het antwoord van Thibaut Barrère.
Ik gebruikte
wget -r -nH --cut-dirs=5 -nc ftp://user:pass@server//absolute/path/to/directory
Let op de dubbele schuine streep achter de servernaam. Als je geen extra schuine streep plaatst, is het pad relatief ten opzichte van de homedirectory van de gebruiker.
-nH
vermijdt het aanmaken van een directory met de naam van de server-nc
vermijdt het maken van een nieuw bestand als het al bestaat op de bestemming (het wordt gewoon overgeslagen)--cut-dirs=5
staat toe om de inhoud van /absolute/path/to/directory te nemen en in de directory te plaatsen waar je wget start. Het getal 5 wordt gebruikt om de 5 componenten van het pad uit te filteren. De dubbele schuine streep betekent een extra component.
Antwoord 3, autoriteit 4%
ncftp -u <user> -p <pass> <server>
ncftp> mget directory
Antwoord 4, autoriteit 3%
Als lftp
op uw computer is geïnstalleerd, gebruik dan mirror dir
. En je bent klaar. Zie de opmerking van Ciro hieronder als je recursief een directory wilt downloaden.
Antwoord 5, autoriteit 3%
Als je scp
kunt gebruiken in plaats van ftp
, zal de optie -r
dit voor je doen. Ik zou eens kijken of je een moderner mechanisme voor bestandsoverdracht kunt gebruiken dan FTP.
Antwoord 6, autoriteit 2%
Gebruik in plaats daarvan WGet. Het ondersteunt HTTP- en FTP-protocollen.
wget -r ftp://mydomain.com/mystuff
Veel succes!
referentie: http://linux.about.com/od/commands/ l/blcmdl1_wget.htm
Antwoord 7
Er is ‘ncftp’ dat beschikbaar is voor installatie in linux. Dit werkt op het FTP-protocol en kan worden gebruikt om bestanden en mappen recursief te downloaden. werkt op linux. Is gebruikt en werkt prima voor recursieve map-/bestandsoverdracht.
Controleer deze link… http://www.ncftp.com/
Antwoord 8
Als je kunt, raad ik je ten zeerste aan om tar
en bzip
(of gzip
, wat je boot ook drijft) de directory op de externe machine te gebruiken —voor een directory van enige significante omvang zal de bandbreedtebesparing waarschijnlijk de tijd waard zijn om te zippen/unzippen.
Antwoord 9
Als je je aan de opdrachtregel FTP wilt houden, moet je NcFTP proberen. Dan kun je get -R gebruiken om recursief een map op te halen. Je krijgt ook voltooiing.
Antwoord 10
wget -r ftp://url
Werkt perfect voor Redhat en Ubuntu
Antwoord 11
U mag ftp
niet gebruiken. Net als telnet
gebruikt het geen veilige protocollen en worden wachtwoorden in leesbare tekst verzonden. Dit maakt het voor derden heel gemakkelijk om uw gebruikersnaam en wachtwoord vast te leggen.
Als u externe mappen op afstand wilt kopiëren, zijn deze opties beter:
-
rsync
is de meest geschikte tool als je kunt inloggen viassh
, omdat het alleen de verschillen kopieert en gemakkelijk in het midden kan herstarten voor het geval dat de verbinding wordt verbroken. -
ssh -r
is de op één na beste optie om mapstructuren recursief te kopiëren.
Zie:
Antwoord 12
schakel de prompt in met het PROMPT-commando.
Gebruik:
ftp>cd /to/directory
ftp>prompt
ftp>mget *