Kanske har din X-server kraschat. Eller du arbetar på ett skalskript. Eller du är SSHed i en huvudlös server. Av en eller annan anledning, om du behöver hämta en fil och en webbläsare inte är ett alternativ, kanske du vill titta på wget. Om du har använt Linux-skalet mycket och arbetat med skript eller paketinstallatörer, finns det en bra chans att du har sett wget i åtgärd. På den enklaste nivån gör det bara vad namnet antyder och får en fil från webben (eller FTP). Under det är det dock en del smart funktion.

Det grundläggande

Som nämnts ovan används wget oftast för att snabbt ta tag i en fil från någonstans på webben.

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

Vilket skulle bara ta tag i filen och spara den till den aktuella katalogen.

Om du vill spara till ett annat filnamn eller annan plats, använder du -O-flaggan.

 #Remember att det är en huvudstad "O" inte noll eller liten "o" wget http://download.maketecheasier.com/Firefox_shortcut_keys.pdf -O Dokument / ffkeys.pdf 

Du kan hämta flera filer, i vilket fall du kanske vill ange en plats för alla nedladdningar. Använd bara -P- flaggan (eller -katalog-prefix = LOCATION ) för att ange var de går.

Som du kan se är det mycket output. Låt oss försöka -q- alternativet att städa upp det, vilket gör det mer lämpligt för skript.

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

På samma sätt kan du använda -nv- alternativet för en liten utmatning, men inte lika mycket som standard.

Fina grejer

Vad händer om din nedladdning misslyckades, och du vill fortsätta? Vad händer om filen redan finns och du inte vill skriva över den? Det finns alternativ för att hantera dem såväl som flera andra situationer.

För att återuppta en bruten nedladdning, använder du -c- flaggan (eller -kontinuerlig )

Om du behöver se till att ditt kommando (eller skript) inte skriver över några befintliga filer, använd -nc- alternativet (för icke-klokare)

Det finns tillfällen då du inte kan vara säker på om filnamn kommer att vara skiftlägeskänsliga i båda ändarna, men flaggan -ignore-case kommer att negera det problemet.

För att begränsa nedladdningshastigheten, använd alternativet -limit-rate = RATE, vilket visas nedan.

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

FTP-alternativ

Som tidigare noterat stödjer wget också FTP. Om du bara anger en FTP-webbplats, som

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

wget antar att du vill ha en anonym inloggning. Om så inte är fallet kan du manuellt ange saker som användarnamn och lösenord med följande flaggor:

  • -ftp-user = USER Anger användarnamnet för inloggning
  • -ftp-password = PASS Anger lösenord
  • -no-passiv-ftp Inaktiverar passivt överföringsläge.

Förutom några andra för avancerade användningsfall.

Timeouts, retries och misslyckade nedladdningar

Slutligen kommer wget med flera alternativ som relaterar till problem med serverns anslutning och timeouts. Inte alla misslyckanden kan naturligtvis hanteras, men följande flaggor är alla avsedda att hjälpa till att hantera serverproblem:

  • -tries = NUMBER Ange antal gånger för att försöka ladda ner igen
  • -retry-connrefused Försök ladda ner även om anslutningen nekas av servern.
  • -continue Återupptar en ofullständig nedladdning, som används som -c ovan
  • -timeout = SECONDS Global inställning - hur lång tid ska vänta före timeout
  • -wait = SECONDS Hur länge ska vänta mellan framgångsrika nedladdningar (om det upprepas)

Slutsats

För ett så enkelt, grundläggande, inbyggt verktyg har wget en överraskande mängd att erbjuda. Nästa gång du hittar dig själv att skriva ett internet-medvetet skalskript eller att behöva få den saknade drivrutinsfilen på din trasiga dator, ger wget ett skott. Om du har några intressanta historier om hur wget har fått dig ur en sylt, låt oss veta i kommentarerna nedan.