Måske er din X-server krasjet. Eller du arbejder på et shell script. Eller du er SSHed i en hovedløs server. Af en eller anden grund, hvis du har brug for at hente en fil og en webbrowser er ikke en mulighed, kan du måske se på wget. Hvis du har brugt Linux-skalen meget og arbejdet med scripts eller pakkeinstallatører, er der en god chance for at du har set wget i aktion. På det enkleste niveau gør det bare hvad navnet antyder og får en fil fra internettet (eller FTP). Nedenfor er der dog nogle kloge funktionaliteter.

Det grundlæggende

Som nævnt ovenfor bruges wget mest til hurtigt at få fat i en fil fra et eller andet sted på nettet.

 wget http://mydomain.com/file.zip 

Det ville simpelthen tage fat på filen og gemme den til den aktuelle mappe.

Hvis du vil gemme til et andet filnavn eller en anden placering, bruger du -O-flag.

 #Tem det er en hovedstad "O" ikke nul eller lille "o" wget http://download.maketecheasier.com/Firefox_shortcut_keys.pdf -O Dokumenter / ffkeys.pdf 

Du kan downloade flere filer, i hvilket tilfælde du måske vil angive en placering for alle downloads. Brug blot -P- flag (eller -directory-prefix = LOCATION ) for at angive, hvor de skal hen.

Som du kan se, er der meget output. Lad os prøve -q mulighed for at rydde den op, hvilket gør den mere egnet til scripts.

 wget -q http://mydomain.com/file.zip 

På samme måde kan du bruge -nv- indstillingen til blot en lille udgang, men ikke så meget som standardværdien.

Fancy ting

Hvad hvis din download mislykkedes, og du vil genoptage? Hvad hvis filen allerede eksisterer, og du ikke vil overskrive den? Der er muligheder for at håndtere dem såvel som flere andre situationer.

For at genoptage en brudt download, vil du bruge -c flag (eller -kontinuere )

Hvis du har brug for at sikre, at din kommando (eller script) ikke overskriver nogen eksisterende filer, skal du bruge -nc- indstillingen (for no-clobber)

Der er tidspunkter, hvor du ikke kan være sikker på, om filnavne vil være sagerfølsomme i begge ender, men flagskæret vil udelukke dette problem.

For at begrænse downloadhastigheden skal du bruge indstillingen -limit-rate = RATE, som vist nedenfor.

 wget --limit-rate = 20000 http://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso 

FTP-indstillinger

Som tidligere nævnt understøtter wget også FTP. Hvis du blot angiver et FTP-websted, kan du lide

 wget ftp://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso 

wget vil antage du vil have et anonymt login. Hvis det ikke er tilfældet, kan du manuelt angive ting som brugernavn og adgangskode med følgende flag:

  • -ftp-user = USER Angiver brugernavn for login
  • -ftp-password = PASS Angiver adgangskode
  • -no-passiv-ftp Deaktiverer passiv overførselstilstand.

Samt nogle få andre til avancerede brugssager.

Timeouts, Retries og mislykkede downloads

Endelig kommer wget med flere muligheder i forbindelse med serverforbindelsesproblemer og timeouts. Ikke alle fejl kan naturligvis håndteres, men de følgende flag er alle beregnet til at hjælpe med at håndtere serverproblemer:

  • -tries = NUMBER Angiv antal gange for at prøve igen
  • -retry-connrefused Prøv igen, selvom forbindelsen afvises af serveren.
  • -continue Genoptager en ufuldstændig download, der bruges som -c ovenfor
  • -timeout = SECONDS Global indstilling - hvor lang tid skal vente før timeout
  • -wait = SECONDS Hvor lang tid skal vente mellem succesfulde downloads (hvis det gentages)

Konklusion

For et så enkelt, grundlæggende, indbygget værktøj har wget en overraskende mængde at tilbyde. Næste gang du finder dig selv at skrive et internet-bevidst shell script eller behøver at få den manglende driverfil på din ødelagte computer, skal du give dig et skud. Hvis du har nogle interessante historier om, hvordan wget har fået dig ud af en papirstop, så lad os vide det i kommentarerne nedenfor.