You are here
Home > posts

lftp: en bedre FTP-klient.

lftp: en bedre FTP-klient.

Hver sysadmin bor ha en anstendig kommandolinjeklient for overforing av filer (utover SCP selvfolgelig). Lftp programmet skrevet av Alexander Lukyanov kan handtere syv filtilgangsmetoder: FTP, FTPS, HTTP, HTTPS, HFTP, FISH og SFTP. Opensl-biblioteket kreves under kompileringstid for at FTPS og HTTPS skal fungere (FreeBSD-porten forsoker a inkludere dette biblioteket som standard).

HFTP er FTP-over-HTTP-proxy-protokoll. Den kan brukes i et proxy-scenario. FISH er en protokoll som fungerer over en SSH-forbindelse til en Unix-konto. SFTP er en protokoll som er implementert i SSH2 som sftp-undersystemet.

Jeg har funnet det verdt a l re lftp strengt for bruk som en FTP-klient. Denne papaeren er ment som en veiledning for nybegynnere som er utilfreds med Unix man sider; lftp er en kraftig klient og ikke alle funksjonene er dekket her. Det vil ogsa v re FTP-sentrisk.

grunnleggende bruk.

En kommandolinje FTP-klient bor ikke forarsake smerte hvis alt du vil gjore er a apne en tilkobling. lftp er ikke noe unntak her:

For a koble fra bruker du Lukk kommandoen. For a koble fra og stoppe LFTP, bruk enten Avslutt, Farvel eller Avslutt.

Standard oppforsel er a koble til bruker anonym og passord lftp @. A spesifisere legitimasjonsbeskrivelser eksplisitt:

All unodvendig tekst fra serveren blir undertrykt, med mindre vi slar pa feilsoking. Vi gjor dette med d-bryteren:

For a begynne a bli vant til lftps mate a gjore ting pa, ser vi na pa e og c-bryterne. Disse, henholdsvis, tillater lftp a pakalle en kommando og holde kontakten og a pakalle en kommando og deretter koble fra. Siden alt vi vet om, er det a koble til en server, la oss gjore det na ved hjelp av disse bryterne:

Hvis du har provd disse kommandoene, har du lagt merke til hvor raskt lftp forbinder. Egentlig har det ikke v rt i det hele tatt. Det ser bare ut slik. Lftp venter til du vil ha noe for det a faktisk koble til.

For a fa noe vi onsker, bruker vi flere kommandoer selvfolgelig, og mange av lftp-kommandoene avviker ikke fra de kjente: ls, cd, get, put, mget, mput, rm, mv og sa videre. Det er mange flere, men jeg vil nevne noen som kan v re nye for deg:

For a utstede en kommando lokalt prepend kommandoen med en! . Av en eller annen grunn virker dette ikke for alle lokale kommandoer. Jeg pleier bare a bruke den med kommandoen ls:! Ls. Ellers prepend kommandoen med sma bokstaver l: lpwd og lcd brukes ofte.

For a bytte feilsoking (og angi eventuelt niva og / eller utdatafil): feilsok [& lt; level & gt; | off] [-o & lt; file & gt;].

For a vise alle tilgjengelige kommandoer: hjelp.

Na for c-bryteren. Her kobler vi til (til en anonym server) og kobler fra. Ikke veldig nyttig:

Husk at ingenting gjores av lftp for vi vil ha noe slik at kommandoen ovenfor egentlig ikke gjor noe annet enn a lose serverens vertsnavn (hvis vi uttrykker det ved navn).

La oss na forklare forskjellen mellom nettsted og nettadresse. Et nettsted er ftp.kernel.org og en URL er ftp://ftp.kernel.org/pub/.

Nettadressen som er uttrykt ovenfor, inneholder protokollen som skal brukes. Som standard bruker lftp FTP, sa det er ikke nodvendig. Ikke desto mindre er det i dette skjemaet mulig a inkludere legitimasjonsbeskrivelser:

Til slutt identifiseres en URL ved a inkludere en katalog pa serveren. Forskjellen kan v re en enkelt karakter:

ftp.kernel.org/ (dette er en URL)

ftp.kernel.org (dette er et nettsted)

Derfor er den mest eksplisitte form for tilkobling til en server dette:

Ovenfor nevnte jeg at lftp faktisk ikke gjor noe nar vi kobler sammen. Vel, dette er ikke sant nar vi kobler til ved hjelp av en URL siden implisitt i en URL er cd-kommandoen. Du vil forsta dette bedre hvis du jobber i feilsokingsmodus.

For a avslutte denne delen om grunnleggende bruk kan vi like godt laste ned noe. For a gjore dette kan vi koble til og deretter bruke kommandoen get or mget, men la oss utstede en kommando i stedet. Vi gjor det ved a bruke dette skjemaet:

Det er en nestet kommando der. Veldig fint.

Nedenfor laster vi ned det praktfulle lsof-programmet som ligger i a vente som en pakke pa en OpenBSD-server:

stotte filer.

lftp har noen filer du bor vite om:

/etc/lftp.conf: den globale konfigurasjonsfilen (kjor forst)

/.lftp/rc: konfigurasjonsfilen for hver bruker (kjor sekund, overstyrer global fil)

/.lftp/cwd_history: lagrer den siste cwd per nettsted.

/.lftp/rl_history: lagrer alle brukte kommandoer.

/.lftp-katalogen er opprettet forste gang programmet kjores. Formalet med cwd-filen er a tillate en a returnere til den siste cwd ved a koble til et tidligere besokt nettsted og utstede denne kommandoen: cd – Formalet med historikkfilen er a utstede kommandoer som ligner pa csh-utvidelsen. Dette er bare tilgjengelig hvis du angir cmd: csh-historien er slatt pa (se neste avsnitt om «kommandolinje» og «varia» for informasjon om innstillinger)

kommandobeskrivelse.

Sla pa kommandologgen i konfigurasjonsfilen per bruker:

Nar vi er koblet til et nettsted:

Begrepet bokmerker er ikke nytt. Det er en kortfattet mate a referere til nettsteder eller nettadresser. For en URL, koble til et nettsted og navigere til en katalog du finner deg selv tilbake til ofte. Bruke �bokmerke legg til & lt; name & gt;» vil bokmerke denne katalogen. For a vise eksisterende bokmerker type «bokmerkeliste».

Fra det oyeblikket du er tilkoblet, kan du nar som helst bruke et bokmerke ved a bruke «apent bokmerke». Du kan ogsa redigere bokmerkene med «bokmerke redigering». I sa fall vil lftp starte brukerens standardredigerer (ofte vi). Angi editoren din ved a definere EDITOR-variabelen i brukerprofilen din.

Vanligvis ville du ikke allerede v re tilkoblet (ikke ved lftp-sporringen) og vil bare apne en opprinnelig forbindelse ved hjelp av et bokmerke:

Naturligvis legg til legitimasjon hvis de er pakrevd:

Siden bokmerket vanligvis er en nettadresse, har du muligheten til a inkludere legitimasjonsinformasjon i den. Alle bokmerkene er lagret i.

/.lftp/bookmarks-filen. Rediger filen direkte (enten via shellprompt eller lftp-sporringen) hvis du ikke har noe imot a plassere brukernavn og passord pa disk.

Fra skallet kan du se eller redigere bokmerkingsfilen:

planlegging.

Ja, vi kan planlegge lftp hendelser. Dette er best forklart av eksempel.

Fra skallet venter vi til sent for a koble til (ved hjelp av et bokmerke) og laste ned en Slackware ISO-fil:

Dette er ikke den mest robuste metoden for planlegging av nedlasting. Du ville v re bedre a bruke systemet pa kommando. Det er bedre bruk for planlegging og bedre mater a ansette den pa.

Her er et annet trivielt eksempel. Fra lftp-sporringen denne gangen:

Et spor er til en levende tilkobling hva et bokmerke er til et statisk nettsted / URL. Nar flere spor er opprettet, kan vi bytte mellom tilkoblinger. Folgende interaktive okt demonstrerer dette:

V r oppmerksom pa hvordan tilkoblingen til ftp.kernel.org har sporet tildelt. Den forste sporkommandoen gjelder for denne innledende tilkoblingen. Deretter gjelder spaltekommandoer for pafolgende tilkoblinger.

Til slutt kan vi referere til (eller evaluere) et spor ved a bruke denne nomenklaturen: spor: & lt; name & gt; . Vi vil benytte seg av denne syntaksen i avsnittet «skript».

Pa dette tidspunktet vil jeg gjerne nevne en gripepose med viktige poeng.

Lftp kommer med mange justerbare innstillinger. Du kan vise gjeldende innstillinger pa denne maten:

Nar du laster ned et element, kan vi spesifisere malkatalogen ved a bruke «-O» -bryteren:

& Gt; mget -O / var / nedlastingselement *

Jeg har blitt fortalt at denne parameteren vil v re tilgjengelig som en innstilling i neste utgave.

lftp caches utgangen til ls kommandoene. Her er standardbufferrelaterte innstillinger:

Det er «ikke bruk hurtigbufferen!» kommandoer som svarer til ls og nlist. De er rels og renlistes henholdsvis («re» for «Real» kanskje).

Slik viser du statusen til hurtigbufferen:

Eller skriv bare «cache» ved lftp-sporringen.

Du kan definere et alias for en kommando som brukes ved lftp-sporringen. Du kan sette dem opp pa lftp-sporringen, men slike aliaser overlever ikke et programstart. Den beste maten er a redigere global eller brukerkonfigurasjonsfilen:

Dette er aliasene som er inkludert i sample config-filen som fulgte med FreeBSD-porten til lftp.

For a vise nav rende aliaser:

Eller skriv bare «alias» pa lftp-sporringen.

La oss sette opp en tilpasset lftp-sporring.

Legger til folgende i config-filen din (

/.lftp/rc) vil produsere sporringen gitt i bildet.

Nar en FTP-server blir overbelastet med foresporsler, blir en andre server ofte reist for a skille ut identiske ressurser. Den andre serveren sies a v re et speil av den forste og handlingen med duplisering av katalogtrener kalles speiling. Lftps speilegenskaper kan kjores i to moduser: a) speilreflekeren pa en fjerntliggende server ved a kopiere den til lokalhost (server A -> klient) eller b) speilvendes ved a kopiere den direkte til en annen ekstern server (server A -> ; server B).

Her er skjemaet som skal brukes pa shell-sporringen:

Hvor «remote_dir_path» er den komplette katalogbanen pa «remote_site» som skal kopieres.

For a forenkle kan du opprette et bokmerke til katalogen rett over den som skal kopieres:

Som et eksempel viser jeg hvordan den eksterne serveren ser ut med det formal a speile Changelogs-katalogen under mitt lokale katalog mirror_dir:

Sa her er hvordan vi kan bruke speilkommandoen:

Jeg kunne forbli koblet selvfolgelig og brukte folgende kommando pa lftp-sporringen:

I begge tilfeller sikrer slash pa slutten av mirror_dir at Changelogs-katalogen selv vil bli kopiert over i stedet for bare innholdet.

Det er mange alternativer tilgjengelig for speilkommandoen, inkludert logging av kommandoene som er utstedt under prosedyren, og logging av et torr lop der ingen filer faktisk overfores. Det jeg har funnet spesielt nyttig er evnen til a spesifisere hva som skal inkluderes eller utelukkes gjennom bruk av vanlige uttrykk eller glob monstre.

Med det siste eksempelet i tankene, la oss si at jeg vil utfore en ekte test, men jeg vil ikke kaste bort bandbredden min (eller tiden). Sa jeg forteller lftp a bare inkludere index.txt filen under Changelogs:

Nar speilingen gjores mellom to fjerntjenere, brukes filutvekslingsprotokollen. Apenbart ma begge servere stotte denne protokollen for at denne operasjonen skal lykkes.

Teknisk sett er FXP ikke en protokoll, men en forlengelse av FTP. Det brukes til a overfore data fra en ekstern server til en annen uten a dirigere disse dataene via klienten. Klienten sender og mottar kontrolldata for a fa alt til a fungere.

I en FXP-sesjon opprettholder klienten en standard FTP-tilkobling til begge serverne, og kan lede enten server til a koble til den andre for a starte en dataoverforing. Fordelen med a bruke FXP (server A -> server B) i stedet for (to ganger bruk) FTP (server A -> klient -> server B) er tydelig nar begge serverne har hoy bandbredde, men klienten har lav bandbredde .

Aktivering av FXP-stotte kan imidlertid gjore en server sarbar for et avslag pa tjenesten, kjent som FTP-studsangrepet. I et slikt scenario er «klienten» en kompromittert maskin som bombarderer server B.

FXP brukes ogsa ofte for handel med varer.

Pa grunn av disse overveiene er FXP ofte deaktivert som standard pa FTP-servere.

Forutsatt at FXP kan brukes, kan vi fra skjellproven bruke dette skjemaet:

Jeg glir i et bokmerke for server-A. Det ser ikke ut til a fungere nar jeg prover a ogsa bruke et bokmerke for server-B:

Hvis vi antar at vi ma autentisere oss pa begge serverne, vil jeg inkludere legitimasjonene mine i & lt; server-A_bookmark & gt; og skriv dem ut for & lt; server-B_url & gt ;.

Ved a bruke vart tidligere eksempel, men erstatte var lokale katalog med brukerens hjemmekatalog pa server ftp.blah.org kunne vi gjore dette:

Fra lftp-sporringen:

Nar vi vil utfore flere nedlastingsforesporsler, kan vi bruke en ko. Foresporingene vil bli lined opp og behandlet pa en ordnet mate. En overforingsforesporsel som er plassert i koen, kalles en jobb. lftp kan tildele en ko per tilkobling.

lftp gir koforvaltning:

Endring av jobbprioritet fjerner en jobb som stopper en bestemt ko som stopper alle koer som ser kostatus.

Folgende rekkefolge av kommandoer ved lftp-sporringen gir en oversikt over ko og koadministrasjon:

Selv om vi har avsluttet programmet, vil emacs-pakken fortsette a laste ned. I tillegg, som vi sa i eksemplet, stopper koen ikke jobber som er i gang (de er teknisk ikke lenger i koen).

Ved hjelp av lftp-kommandospraket kan vi skrive et skript. Et skript er inneholdt i en egen fil og paberopes pa denne maten:

Nedenfor er noen eksempler pa skript:

b) Nedlasting med mget.

Avslutningskommandoen er en finhet; det er ikke nodvendig. Nar du logger pa en fil, er det ingen utgang til skjermen.

c) Nedlasting med ko.

Merk at dette skriptet er effektivt det samme som forrige.

d) Mirroring (server A -> server B)

Merk at den forste sporet er tilordnet til neste tilkobling. Husk kommandolinjeproven hvor den opprinnelige sporet ble tildelt til den eksisterende tilkoblingen. Det er annerledes her fordi det ikke er noen eksisterende tilkobling nar man starter scriptet.

e) Flere koer.

Oppl ringen er avsluttet. Vennligst se lftp man siden for kommandoer og alternativer som ikke er dekket her.

Top

Hallo! Vil du spille i det mest populære kasinoet? Vi fant det for deg. Gå her nå!