GNU/Linux >> Znalost Linux >  >> Linux

Výukový program příkazu Linux curl pro začátečníky (5 příkladů)

Zatímco webové prohlížeče jsou primárním médiem, přes které uživatelé stahují věci z internetu, existují některé příkazy Linuxu, které vám to také umožňují. Tyto nástroje se hodí na bezhlavých systémech, kde není GUI.

V tomto tutoriálu probereme jeden takový příkaz – curl - to vám mimo jiné umožňuje stahovat věci z webu. Vezměte prosím na vědomí, že příklady popsané v tomto článku jsou testovány na Ubuntu 16.04 LTS.

Příkaz Linux curl

Příkaz curl vám umožňuje stahovat i nahrávat data prostřednictvím příkazového řádku v Linuxu. Následuje jeho syntaxe:

curl [options] [URL...]

A zde je to, co o tomto příkazu říká manuálová stránka:

 curl is a tool to transfer data from or to a server, using one of the
supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS,
TELNET and TFTP). The command is designed to work without user inter?
action.

curl offers a busload of useful tricks like proxy support, user authen?
tication, FTP upload, HTTP post, SSL connections, cookies, file trans?
fer resume, Metalink, and more. As you will see below, the number of
features will make your head spin!

curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout lepší představu o tom, jak curl funguje.

Q1. Jak funguje příkaz curl?

Základní použití je poměrně jednoduché – stačí předat URL jako vstup do příkazu curl a přesměrovat výstup do souboru.

Například:

curl http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent > test.torrent

Všimněte si, že zde můžete také použít volbu -o.

-o, --output <file>
Write output to <file> instead of stdout.

Vrátíme-li se k našemu příkladu, zatímco data byla stažena do souboru 'test.torrent' v mém systému, na příkazovém řádku byl vytvořen následující výstup:

Zde je to, co říká manuálová stránka o tomto ukazateli průběhu, který se zobrazuje ve výstupu:

 curl normally displays a progress meter during operations, indicating
the amount of transferred data, transfer speeds and estimated time
left, etc.

curl displays this data to the terminal by default, so if you invoke
curl to do an operation and it is about to write data to the terminal,
it disables the progress meter as otherwise it would mess up the output
mixing progress meter and response data.

If you want a progress meter for HTTP POST or PUT requests, you need to
redirect the response output to a file, using shell redirect (>), -o
[file] or similar.

It is not the same case for FTP upload as that operation does not spit
out any response data to the terminal.

If you prefer a progress "bar" instead of the regular meter, -# is your
friend.

Q2. Jak zajistit, aby curl používal stejný název stahovaného souboru?

V předchozím příkladu vidíte, že jsme museli explicitně zadat název stahovaného souboru. Pokud však chcete, můžete přinutit curl použít název stahovaného souboru jako název místního souboru. To lze provést pomocí volby příkazového řádku -O.

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent

Takže v tomto případě byl ve výstupu na mém systému vytvořen soubor s názvem 'ubuntu-18.04-desktop-amd64.iso.torrent'.

Q3. Jak stáhnout více souborů pomocí curl?

To také není složité – stačí předat adresy URL následujícím způsobem:

curl -O [URL1] -O [URL2] -O [URL3] ...

Například:

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso.torrent

Zde je výše uvedený příkaz v akci:

Takže můžete vidět, jak se ve výstupu zobrazil průběh stahování pro obě adresy URL.

O4. Jak vyřešit „přesunutý“ problém?

Někdy, když předáte URL do příkazu curl, dostanete chyby jako "Přesunuto" nebo "Přesunuto trvale". K tomu obvykle dochází, když vstupní adresa URL přesměrovává na jinou adresu URL. Například otevřete webovou stránku, řekněme oneplus.com, a ta vás přesměruje na adresu URL vaší domovské země (jako oneplus.in), takže se zobrazí  chyba podobná následující:

Pokud chcete, aby curl následovalo přesměrování, použijte místo toho volbu -L příkazového řádku.

curl -L http://www.oneplus.com

O5. Jak obnovit stahování od bodu přerušení?

Někdy se mezi tím stahování přeruší. Takže přirozeně, abyste ušetřili čas a data, když to zkusíte znovu. můžete chtít, aby začal od bodu, ve kterém byl přerušen. Curl vám to umožňuje pomocí volby příkazového řádku -C.

Například:

 curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso

Následující snímek obrazovky ukazuje příkaz curl, který obnovuje stahování poté, co bylo přerušeno.

Závěr

Takže můžete vidět, že příkaz curl je užitečná pomůcka, pokud chcete stahovat věci přes příkazový řádek. Právě jsme zde poškrábali povrch, protože nástroj nabízí mnohem více funkcí. Jakmile si procvičíte možnosti příkazového řádku popsané v tomto tutoriálu, můžete přejít na manuálovou stránku curlingu, kde se o něm dozvíte více.


Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  3. Linux hostname Command Tutorial pro začátečníky (5 příkladů)

  1. Výuka příkazů Linux pro začátečníky (5 příkladů)

  2. Linux df Command Tutorial pro začátečníky (8 příkladů)

  3. Linux du Command Tutorial pro začátečníky (10 příkladů)

  1. Výukový program Linux echo Command pro začátečníky (5 příkladů)

  2. Linux env Command Tutorial pro začátečníky (5 příkladů)

  3. Návod k příkazu velikosti Linuxu pro začátečníky (6 příkladů)