8.10 Parancssori letöltések
Amikor letöltésekről beszélünk, a legtöbb felhasználó azonnal a böngészőkre (Firefox, Chrome) gondol. Azonban egy rendszergazda, vagy egy parancssorhoz szokott Power User pontosan tudja, hogy a böngésző grafikus letöltéskezelője sokszor inkább hátrány, mint előny.
Mi történik, ha egy távoli, grafikus felület nélküli szerverre kell átjuttatnod egy telepítőfájlt? Mi van, ha egy gigantikus, 40-50 Gigabájtos helyi mesterséges intelligencia modellt mentesz le, és a letöltés a 90%-nál megszakad? Vagy ha nem is egy konkrét fájlt akarsz letölteni, hanem egy weboldal válaszkódjait szeretnéd SEO szempontból elemezni, esetleg egy REST API-t akarsz megszólítani?
Ezekre a feladatokra a Linux két elképesztően erős, iparági standard eszközt biztosít: a wget-et és a curl-t. Bár első pillantásra hasonlónak tűnhetnek, a céljuk és a működési filozófiájuk eltér. Ebben az alfejezetben megtanuljuk mesteri szinten használni mindkettőt.
8.10.1 A megbízható igásló: wget
A wget (Web Get) a fájlok internetről történő letöltésének célprogramja. Fő erőssége a robusztusság: ha kell, a háttérben fut, újrapróbálkozik ha megszakad a kapcsolat, és kiválóan alkalmas komplett könyvtárstruktúrák, vagy akár egész weboldalak lementésére.
A legalapvetőbb használata pofonegyszerű: megadod az URL-t, a wget pedig letölti a fájlt abba a mappába, ahol éppen a terminálban tartózkodsz.
wget https://example.com/linux_telepito.iso
Megszakadt letöltések folytatása (-c)
Ez a wget legértékesebb funkciója. Képzeld el, hogy elindítasz egy több tíz gigabájtos GGUF fájl letöltését a Hugging Face-ről, de a kapcsolat megszakad. Ahelyett, hogy elölről kellene kezdened (ahogy sok böngésző tenné), a -c (continue) kapcsolóval a wget pontosan onnan folytatja a letöltést, ahol abbamaradt.
wget -c https://huggingface.co/valami/qwen-3.6-7b-instruct.Q4_K_M.gguf
Letöltés a háttérben (-b)
Ha egy nagyon hosszú letöltést indítasz (például egy gigantikus adatbázis-mentést húzol át egy távoli szerverről), és közben használni akarod a terminálodat, a -b (background) kapcsolóval a wget a háttérbe küldhető. Ilyenkor a kimenetet (a százalékos folyamatot) egy wget-log nevű fájlba fogja írni, amit te a korábban megismert tail -f wget-log paranccsal bármikor figyelemmel kísérhetsz.
wget -b -c https://example.com/hatalmas_adatbazis.sql.gz
Weboldalak "tükrözése" (-m)
A wget képes úgynevezett web crawler-ként (robotként) is működni. A -m (mirror) kapcsolóval megadhatsz egy weboldalt, és a wget letölti a főoldalt, majd végigmegy az összes hivatkozáson, és letölti a képeket, CSS fájlokat és aloldalakat is, egy tökéletesen működő, offline böngészhető másolatot hozva létre a gépeden.
wget -m https://example.com
8.10.2 A webes ezermester: curl
Míg a wget arra született, hogy fájlokat mentsen a merevlemezedre, a curl (Client URL) egy sokkal univerzálisabb adatátviteli eszköz. Alapértelmezés szerint a curl nem ment el semmit, hanem mindent a terminál képernyőjére (a standard kimenetre) tesz ki. Ez teszi tökéletessé tesztelésre, adatszűrésre és API hívásokra.
Alapvető letöltés curl segítségével (-o és -O)
Ha mégis fájlt akarsz letölteni vele, meg kell mondanod neki, hogy hova irányítsa az adatot.
- Kis
-o(output): Te határozod meg a mentett fájl nevét.
curl -o uj_nev.pdf https://example.com/dokumentum_2026.pdf
- Nagy
-O(Remote Name): A fájlt az eredeti nevén menti el (hasonlóan a wget-hez).
curl -O https://example.com/linux_telepito.iso
HTTP fejlécek vizsgálata SEO és diagnosztikai célokra (-I)
A curl egyik leggyakoribb felhasználási módja az IT és a technikai keresőoptimalizálás (SEO) világában a szerverválaszok ellenőrzése. Ha egy weboldal lassú, vagy egy átirányítás nem működik, a -I (Head) kapcsolóval lekérheted a weboldal "metaadatait" anélkül, hogy magát a hatalmas HTML tartalmat letöltenéd.
:~$ curl -I https://hup.hu
HTTP/2 200
date: Wed, 01 Jul 2026 05:07:05 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
cache-control: must-revalidate, no-cache, private
x-drupal-dynamic-cache: MISS
content-language: hu
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
expires: Sun, 19 Nov 1978 05:00:00 GMT
x-generator: Drupal 11 (https://www.drupal.org)
x-drupal-cache: MISS
strict-transport-security: max-age=15768000
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-status: DYNAMIC
speculation-rules: "/cdn-cgi/speculation"
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Mnrl2JSx1%2Fxe5nc6wWEaFA21bCfsEkjw2JnC06kKmEAFbNDQ8rl19aTtyLAVU5rpKDcPD0EinwUaa9DxLhMSCoLJV7b6Q1ZgJnnY4AjRXiDybpLCjP9NXCU%3D"}]}
cf-ray: a142e28caa16c31c-VIE
alt-svc: h3=":443"; ma=86400
A kimenetben azonnal látni fogod a HTTP státuszkódot (pl. HTTP/2 200 OK vagy 301 Moved Permanently), a szerver típusát (pl. nginx), és a gyorsítótárazási (cache) beállításokat.
API-k hívása és a POST kérések (A modern web lelke)
A curl igazi szuperereje, hogy képes bármilyen HTTP metódust (GET, POST, PUT, DELETE) használni, így a terminálodból közvetlenül tudsz kommunikálni modern webszolgáltatásokkal, vagy helyben futó alkalmazásokkal.
Tegyük fel, hogy a gépeden fut egy Ollama szolgáltatás, amely helyben hosztolja a Qwen 3.6 modellt. Egy egyszerű terminálparanccsal tudsz neki JSON formátumú adatot küldeni (egy promptot), és választ kérni tőle.
A -X kapcsolóval megadjuk a metódust (POST), a -H kapcsolóval a fejlécet (hogy JSON adatot küldünk), a -d (data) kapcsolóval pedig magát a tartalmat (a payloadot):
curl -X POST http://localhost:11434/api/generate \
-H "Content-Type: application/json" \
-d '{"model": "qwen:3.6", "prompt": "Írj egy SEO-fókuszált meta leírást egy PVC gumikesztyűről", "stream": false}'
(Megjegyzés: A \ jel a parancssorban csak a sortörést jelzi a jobb olvashatóság kedvéért, az egész valójában egyetlen hosszú parancs).
Ez a képesség teszi a curl-t minden bash szkript és automatizációs folyamat alappillérévé: ezzel az eszközzel a Linux terminálodból vezérelheted az okosotthonodat, lekérdezheted az árfolyamokat, vagy éppen generálhatsz e-kereskedelmi tartalmakat.
A néma üzemmód (-s)
Amikor a curl-t szkriptekben vagy folyamatokban (|) használod (például egy letöltött JSON fájlt egyből átküldesz a grep-nek), a folyamatjelző sáv csak összekuszálná a kimenetet. A -s (silent) kapcsolóval a curl teljesen némán végzi a dolgát, és kizárólag a letöltött nyers adatot adja vissza.
curl -s --request GET \
--url 'https://api.tomorrow.io/v4/weather/realtime?location=budapest&apikey=XXX' \
--header 'accept: application/json' | grep "temperature"