logo

Curl parancs Linuxban példákkal

A Linux curl parancsa adatok letöltésére vagy feltöltésére szolgál a szerverre támogatott protokollokon, például HTTP, FTP, IMAP, SFTP, TFTP, IMAP, POP3, SCP stb. keresztül. Ez egy távoli segédprogram, így felhasználói beavatkozás nélkül működik.

Az egyik helyről a másikra történő adatátvitel a számítógépes rendszer egyik létfontosságú és leggyakrabban használt feladata. Az adatátvitelhez azonban számos grafikus felületi eszköz áll rendelkezésre. De amikor a parancssorban dolgozik, ez kissé bonyolulttá válik. A curl segédprogram lehetővé teszi az adatok átvitelét a parancssoron keresztül.

A Curl egy parancssori eszköz adatok, például URL-szintaxisú fájlok lekérésére és küldésére. Támogatja az összes protokollt, amelyet a libcurl támogat, mert a libcurl-t használja. A Curl támogatja a HTTPS-t, és végrehajtja az SSL-tanúsítvány-ellenőrzést, ha alapértelmezés szerint biztonságos protokollt említenek, például a HTTPS-t. A Curl elhozza a távoli kiszolgáló tanúsítványát, és ellenőrzi a CA-tanúsítványt, hogy megmentse a távoli kiszolgáló érvényességét, nehogy garantálja, hogy a távoli kiszolgálót kéri, amikor a curl HTTPS-en keresztül egy távoli kiszolgálóra hivatkozik.

Számos lehetőség van a CA-tanúsítvány meghatározására, pl --capath és --cacert . A --cacert opció használható a CA igazolás tároló fájl helyének megadására. Ha egy CA-tanúsítványfájl nem érhető el a Windows platformon, a curl az alábbi sorrendben keresi a „curl-ca-bundle.crt” CA-tanúsítványfájl nevét:

  • Könyvtár, amelyben a curl program található.
  • Jelenlegi munkakönyvtár.
  • Rendszerkönyvtár (Windows).
  • Könyvtár (Windows).
  • A könyvtárakat a %PATH% környezeti változók említik.

A Curl hibaüzenetet ad, ha a távoli kiszolgáló önaláírt tanúsítványt használ, vagy ha a távoli kiszolgáló tanúsítványa nincs aláírva a CA-tanúsítványfájlban említett CA-n keresztül. A --insecure vagy -k opció használható a tanúsítvány ellenőrzésének kihagyására. Ha a távoli kiszolgáló érvényes, a távoli CA-tanúsítvány bekerülhet a CA-tanúsítványtároló fájlba.

A Curl rengeteg hasznos trükköt kínál, mint például a fájlátviteli önéletrajz, a cookie-k, az SSL-kapcsolatok, a HTTP-posta, az FTP-feltöltés, a felhasználói hitelesítés, a proxy-támogatás stb. A curl-t a libcurl gépesíti minden átvitellel kapcsolatos szemponthoz.

Mi az a libcurl?

A libcurl egy kliensoldali ingyenes URL-átviteli könyvtár. Támogatja az SMB, SMTP, SCP, RTMP, RTSP, POP3, MQTT, LDAP, Kerberos, IMAP, HTTPS, HTTP proxy tunneling, HTTP PUT, HTTP POST, HTTP/1, Gopher, FTPS, FTP, DICT és cookie-kat. A könyvtár támogatja a felhasználó plusz jelszó hitelesítést, a proxykat, az LDAPS-t, a HTTPS-tanúsítványokat, a HTTP űrlap alapú feltöltést, az FTP-feltöltést, a fájlátvitel folytatását, a TFTP-t, a Telnetet, az SFTP-t és a fájl URL-sémát.

A libcurl kompakt. Egyformán több platformon hoz létre és működik, köztük Microsoft Windows, UnixWare, Ultrix, Tru64, Symbian, Solaris, RISC OS, QNX Neutrino, OS/2, OpenBSD, NetWare, NetBSD, macOS, Linux, IRIX, iOS, HURD, HP -UX, FreeBSD, DOS, Darwin, OpenVMS, BlackBerry 10, BlackBerry Tablet OS, BeOS, Android, AmigaOS és AIX.

A libcurl könyvtár IPv6-kompatibilis, szálbiztos és ingyenes. A kötések több mint 50 nyelvhez is elérhetők, beleértve a Pythont, a PHP-t, a Java-t és a C/C++-t.
A libcurl könyvtár támogatja az SChannel-t, a gskit-et IBM i-en, az NSS-t, az mbed TLS-t, a GnuTLS-t Windowson, a Secure Trasportot iOS-en és a macOS-en, a TLS/SSL-t OpenSSL-en keresztül, a rustls-t, a BearSSL-t, a wolfSSL-t, az AmiSSL-t, a libressl-t és a Boringssl-t.

Szintaxis:

A curl használatának alapvető szintaxisa a következő:

 curl [options] [URL...] 

A fenti szintaxisból

URL:

Az URL szintaxis egy általános protokollfüggő URL. Több URL-t is megadhatunk az alábbiak szerint:

 http://site.{one,two,three}.com 

Lehetőségek:

A curl parancs a következő parancssori beállításokat támogatja:

--absztrakt-unix-socket: Hálózat helyett absztrakt Unix tartományi socketen keresztül történő csatlakozásra szolgál.

--anyauth: Ez a curl parancs a metódus önmagában történő hitelesítéséhez a legbiztonságosabb módszer használatához. Ez a segédprogram egy opcionális '--basic, --digest, --ntlm, and negotiate' segédprogram, amely egy adott hitelesítési módszer beállítására szolgál.

-a, --hozzáfűzés: Fájlok feltöltésére szolgál. Felülírás helyett hozzáfűzi a fájlt. Ha az adott fájl nem létezik a szerveren, akkor létrehoz egyet.

loop bash számára

--alapvető: Meghatározza a HTTP alaphitelesítés használatát. Ez a curl parancs alapértelmezett beállítása. Hasznos az előző beállítások felülbírálásához.

--cacert: Az adott tanúsítványfájl használatához van megadva a társ ellenőrzésére. A fájlok több CA-tanúsítvánnyal is rendelkezhetnek. A tanúsítványok szabványos formátuma a PEM, tehát minden tanúsítványnak benne kell lennie.

--capath: Meg van adva, hogy az adott könyvtárat használja a peer ellenőrzésére. Több útvonalat is megadhatunk kettősponttal (:) elválasztva, például „útvonal: elérési út2:útvonal3”. A tanúsítványok szabványos formátuma a PEM, tehát minden tanúsítványnak benne kell lennie.

--cert-status: A szervertanúsítvány állapotának ellenőrzésére szolgál. Tanúsítványállapot-kérelmet vagy OCSP tűző TLS-t használ.

--cert-type: Meghatározza a megadott curl tanúsítvány típusát. Ezek a tanúsítványok PEM, DER és ENG formátumúak lehetnek. Az alapértelmezett érték a PEM. Ha többször meg van adva, akkor az utolsó értéket veszi fel a curl.

-E, --cert: Az ügyféltanúsítvány-fájl használatára van megadva, amikor egy fájlt bármely SSL-alapú protokollon, például HTTPS-en, FTPS-en stb.

--rejtjelek: A kapcsolat során használandó rejtjelek kiválasztására szolgál.

--tömörített-ssh: A beépített SSH-tömörítés engedélyezésére szolgál. Ezt az opciót a szerver kéri, így a szerver elfogadhatja vagy nem.

--tömörítve: Tömörített válasz kérésére szolgál a curl algoritmusok segítségével, és elmenti a tömörítetlen dokumentumot. Ez az opció jelentést küld a nem támogatott kódolási hullámokról.

-K, --config: A curl argumentumok olvasására szolgáló szövegfájl leírására szolgál. A curl a szövegfájl parancssori argumentumait fogja használni.

--csatlakozási időtúllépés: Arra szolgál, hogy megadja a hullámos csatlakozási időtúllépés maximális idejét másodpercben.

--kapcsolodni : Ez arra szolgál, hogy kérést hozzon létre az adott host és port párhoz; ellenkező esetben csatlakozik a következő párhoz. Ez az opció egy praktikus eszköz a közvetlen kérések egy adott szerveren történő indításához.

-C, --continue-at: Egy korábbi fájlátvitel folytatására vagy folytatására szolgál az adott eltolásnál.

-c, --cookie-jar: Egy adott fájl megadására szolgál, amelybe a sikeres művelet után az összes cookie-t szeretnénk írni.

-b, --cookie: Adatok továbbítására szolgál a HTTP-szervernek a Cookie fejlécben.

--create-dirs: A '-o? opciót, létrehozza a szükséges helyi címtárhierarchiát.

--crlf (FTP SMTP): A feltöltés során az LF-t CRLF-vé konvertálják. Ez egy praktikus eszköz az MVS-hez (OS/390).

--crlfile: A tanúsítvány visszavonási listával történő megadására szolgál (PEM formátumban).

--data-ascii: Ez egy álneve a ?-d? választási lehetőség.

--delegáció : A LEVEL beállítására szolgál, hogy nyugtázza a szervert, hogy mit delegálhat a felhasználói hitelesítési adatok tekintetében.

--megemészteni: A HTTP Digest hitelesítés engedélyezésére szolgál.

-q, --disable: Ha első argumentumként használja, figyelmen kívül hagyja a curlrc konfigurációs fájlt.

--dns-interfész: A kiszolgáló nyugtázására szolgál, hogy elküldje a kimenő DNS-kéréseket.

--dns-szerverek: Az alapértelmezett szerverek helyett a DNS-kiszolgálók megadására szolgál.

-f, --fail: Arra használják, hogy a curl csendesen meghiúsuljon szerverhibák esetén.

-F, --forma: A felhasználó által kitöltött űrlap emulálására szolgál.

-P, --ftp-port: Az alapértelmezett figyelői szerepkörök megfordítására szolgál FTP-csatlakozáskor.

--ftp-ssl-ccc-mode: A CCC mód beállítására szolgál.

-G, --get: Az adatok ?-d? opciót a HTTP GET kérésben kell használni a POST kérés helyett.

-h, --help: A súgó kézikönyvének megjelenítésére szolgál, amely rövid leírást tartalmaz a használati és támogatási lehetőségekről.

-0, --http1.0: A HTTP 1.0-s verzió használatához van megadva.

-- figyelmen kívül hagyja a tartalom hosszát: A Content-Length fejléc figyelmen kívül hagyására szolgál.

-i, --tartalmazza: A HTTP-válaszok fejléceinek szerepeltetésére szolgál.

-4, --ipv4: A nevek Ipv4-címekké alakítására szolgál.

-6, --ipv6: A nevek Ipv6-címekké alakítására szolgál.

A göndörítés protokolljai

A Curl számos protokollt támogat:

    DICT:Lehetővé teszi, hogy szavakat csak szótárakból keressünk.FTP (S):A Curl támogatja az FTP protokollt, sok karral és finomítással. TLS-sel vagy anélkül.FÁJL:Lehetővé teszi számunkra a helyi fájl írását és olvasását. A Curl nem teszi lehetővé a file://URL távoli elérését, de működik, ha aktív Microsoft Windows rendszeren a natív UNC megközelítéssel.GOFHER (S):Fájlokat kér le.HTTP (S):A Curl számos változattal és opcióval támogatja a HTTP-t. A 0.9, 1.0, 1.1, 2 és 3 HTTP-verziókat tudja beszélni a pontos parancssortól és a build opcióktól függően.IMAP (S):A Curl letölti számunkra az e-maileket a levélolvasási protokoll segítségével. TLS-sel vagy anélkül.LDAP (S):A Curl megvalósíthatja számunkra a címtárkeresést TLS használatával vagy anélkül.MQTT:A Curl támogatja az MQTT 3-as verzióját. A letöltés MQTT-n ugyanaz, mint 'Iratkozz fel' bármely témához, és a feladás/feltöltés ugyanaz, mint 'közzététel' bármilyen témában. TLS-en keresztül az MQTT nem támogatott.POP3 (S):A pop3-kiszolgálón keresztüli letöltés azt jelenti, hogy e-maileket kapunk TLS nélkül vagy azzal együtt.RTMP (S):Az RTMP-t vagy a Realtime Messaging Protocol-t főként a szerverek adatfolyamához használják.RTSP:A Curl támogatja az RTSP 1.0-s letöltését.SCP:A Curl támogatja az SCP két scp átviteli verzióját.SFTP:A Curl támogatja az SFTP-t az SSH 2-es verzióján keresztül.KKV (S):A Curl támogatja az SMB 1 verzióját a letöltéshez és a feltöltéshez.SMTP (S):A tartalom feltöltése bármely SMTP-kiszolgálóra azt jelenti, hogy az e-maileket TLS nélkül vagy azzal együtt továbbítjuk.TELNET:A curl tájékoztatása, hogy hozzon egy telnet URL-t, interaktív munkamenetet indít el, amelyben az olvasottakat átviszi az stdin-en keresztül, és azt eredményezi, amit a kiszolgáló továbbít.TFTP:A Curl képes végrehajtani a TFTP-fel- és letöltéseket.

A curl parancs telepítése

A curl parancs a legtöbb Linux disztribúciók. De ha a rendszer alapértelmezés szerint nem hordozza a curl-et. Kézzel kell telepítenie. A curl telepítéséhez hajtsa végre a következő parancsokat:

Frissítse a rendszert a következő parancsok végrehajtásával:

 sudo apt update sudo apt upgrade 

Most telepítse a curl segédprogramot az alábbi parancs végrehajtásával:

 sudo apt install curl 

Ellenőrizze a telepítést az alábbi parancs végrehajtásával:

 curl -version 

A fenti parancs megjeleníti a curl parancs telepített verzióját.

Töltse le a megadott URL tartalmát

Egy adott URL tartalmának lekéréséhez hajtsa végre a curl parancsot, majd írja be az URL-t. Fontolja meg az alábbi parancsot:

 curl https://www.javatpoint.com/linux-tutorial 

A fenti parancs lekéri a megadott oldal oldaladatait. Tekintsük a kimenet alábbi képét:

Linux Curl parancs

A fenti kimenetből láthatjuk, hogy az adott URL oldaladatai kerülnek lekérésre. A végrehajtás leállításához nyomja meg a CTRL+C billentyűket.

Adatok mentése egy adott fájlba

Ha egy adott fájlba szeretné menteni az adatokat, adja meg a „-o” opciót, majd a könyvtárat, a fájlnevet és az URL-t az alábbiak szerint:

 curl -o / 

Fontolja meg az alábbi parancsot:

 curl -o /home/javatpoint/Documents/linux.html https://www.javatpoint.com/linux-tutorial 

A fenti parancs a 'linux.html' fájlba menti az oldaladatokat a ' /home/javatpoint/Documents/' könyvtárba. Vegye figyelembe az alábbi kimenetet:

Linux Curl parancs

A fenti parancsból láthatjuk a letöltött adatok teljes mennyiségét, a fogadott adatokat, az átlagos időt és néhány egyéb statisztikát az adatokról.

A letöltött adatok ellenőrzéséhez nyissa meg a fájlt a cat parancs végrehajtásával

 cd Documents cat linux.html 

Tekintsük az alábbi kimeneti pillanatot:

Linux Curl parancs

Fájl letöltése az internetről

A curl egyik érdekes és lenyűgöző felhasználási módja, hogy letölthetünk egy fájlt az internetről. Fájl internetről való letöltéséhez másolja ki a letöltési hivatkozást, és illessze be a curl paranccsal. Más érveket is átadhatunk, hogy pontosabbá tegyük. Például töltse le az ubuntu legújabb verzióját, másolja ki a letöltési link az ubuntu hivatalos webhelyéről, és illessze be a curl paranccsal az alábbiak szerint:

 curl -o /home/javatpoint/Documents/ubuntu20.04.iso https://ubuntu.com/download/desktop/thank-you?version=20.04&architecture=amd64 

A fenti parancs letölti az Ubuntu 20.04-et a megadott könyvtárba. Adja meg a megfelelő fájlkiterjesztést; ellenkező esetben a fájlt más formátumban tölti le. Vegye figyelembe az alábbi kimenetet:

Linux Curl parancs

A fenti kimenetről az ubuntu.iso fájl letöltése folyamatban van. Láthatjuk a letöltési időt, a fájlméretet, a letöltési sebességet és egyéb statisztikákat. A végrehajtás leállításához bármikor nyomja meg a CTRL+D billentyűket.

Folytassa a megszakított letöltéseket

Előfordulhat, hogy a letöltések valamilyen okból megszakadnak. A letöltést a curl paranccsal folytathatjuk. A megszakított fájl folytatásához adja át a '-C' opciót curl paranccsal az alábbiak szerint:

 curl -C 

A fenti parancs folytatja a megadott URL letöltését.

Több fájl letöltése

Több fájl letöltéséhez adja meg a több URL-címet szóközzel elválasztva az alábbiak szerint:

 curl -O 

A fenti parancs mindkét URL-ről letölti az adatokat.

HTTP-fejlécek lekérdezése

A HTTP fejlécek további információkat tartalmaznak; lehetővé teszi a webszerver számára ezen információk letöltését. A HTTP-fejlécek webhelyről történő lekérdezéséhez hajtsa végre a parancsot az '-I' opcióval az alábbiak szerint:

 curl -I www.javatpoint.com 

A fenti parancs az alábbi kimenetet produkálja:

Linux Curl parancs