GNU/Linux >> Znalost Linux >  >> Linux

wget vs curl:Jak stahovat soubory pomocí wget a curl

Otázka: Ke stahování souborů obvykle používám wget. Na některých systémech není wget nainstalován a je k dispozici pouze curl. Můžete mi vysvětlit jednoduchým příkladem, jak mohu stáhnout vzdálený soubor pomocí curl? Je nějaký rozdíl mezi curl a wget?

Odpověď: Na vysoké úrovni jsou wget i curl nástroje příkazového řádku, které dělají totéž.

  • Oba lze použít ke stahování souborů pomocí FTP a HTTP(s).
  • Požadavek HTTP POST můžete odeslat také pomocí curl a wget
  • Kulder však poskytuje rozhraní API, která mohou programátoři používat v rámci vlastního kódu. curl používá libcurl, což je multiplatformní knihovna.
  • wget je pouze nástroj příkazového řádku bez jakýchkoliv rozhraní API.
  • Curl také podporuje mnohem více protokolů, které wget nepodporuje. Například:SCP, SFTP, TFTP, TELNET, LDAP(S), FILE, POP3, IMAP, SMTP, RTMP a RTSP.
  • Používání wget má velkou výhodu. wget podporuje rekurzivní stahování, zatímco curl ne.

Příklady Wget

Následující příklad stáhne soubor a uloží jej pod stejným názvem jako vzdálený server.

wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Následující příklad stáhne soubor a uloží jej pod jiným názvem než vzdálený server. To je užitečné, když vzdálená adresa URL neobsahuje název souboru v adrese URL, jak je znázorněno v příkladu níže.

wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Další příklady wget:Průvodce stažením Ultimate Wget s 15 úžasnými příklady

Příklady kudrlin

$ curl -O http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 28 3762k   28 1085k    0     0  72771      0  0:00:52  0:00:15  0:00:37 54267

Možnost -O (velká písmena O) je důležitá. Bez toho curl začne ukládat stažený soubor na stdout. Pomocí -O stáhne soubory se stejným názvem jako vzdálený server. Ve výše uvedeném příkladu stahujeme strx25-0.9.2.1.tar.bz2, takže stahovaný soubor bude mít také stejný název.

Místo -O můžete zadat také „–vzdálené-jméno“, jak je uvedeno níže. Obě jsou stejné.

$ curl --remote-name http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Během stahování curl poskytuje následující užitečné informace:

  • % – celkové % stahování, které bylo dosud dokončeno. Když se dostane na 100%, stahování je dokončeno. Ve výše uvedeném příkladu stáhl pouze 28 % souboru.
  • Celkem – celková velikost souboru
  • Přijato – celková velikost souboru, který byl dosud stažen. Ve výše uvedeném příkladu si zatím stáhlo 1085 kB (z celkových 3762 kB)
  • Xferd – použije se při odesílání některých souborů na vzdálený server. Během nahrávání to bude indikovat celkovou velikost souboru, který byl dosud nahrán. Protože stahujeme soubor, v tomto příkladu je to 0.
  • Průměrná rychlost stahování – Udává průměrnou rychlost stahování.
  • Průměrná rychlost odesílání – Při odesílání souboru to bude indikovat průměrnou rychlost odesílání
  • Celková doba – Udává celkovou dobu, kterou bude trvat stažení (nebo nahrání) celého souboru na základě aktuální rychlosti stahování (nebo odesílání). V tomto příkladu bude stažení tohoto souboru trvat celkem přibližně 52 sekund.
  • Čas strávený – Čas, který dosud strávil stahováním (nebo nahráváním) souboru. V tomto příkladu to zatím strávilo 15 sekund.
  • Zbývající čas – vypočítává se na základě „celkového času“ – „času stráveného“.
  • Aktuální rychlost – Udává aktuální rychlost stahování/odesílání. Porovnejte tuto hodnotu s průměrnou rychlostí stahování/načítání, abyste viděli, jak rychle nebo pomalu se váš systém aktuálně stahuje.

Pokud chcete soubor stáhnout a uložit pod jiným názvem, než je název souboru na vzdáleném serveru, použijte -o (malá písmena o), jak je uvedeno níže. To je užitečné, když vzdálená adresa URL neobsahuje název souboru v adrese URL, jak je znázorněno v příkladu níže.

$  curl -o taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 50243  100 50243    0     0   170k      0 --:--:-- --:--:-- --:--:--  400k

Ve výše uvedeném příkladu není ve vzdálené adrese URL žádný název souboru, pouze volá php skript, který mu předá nějaký parametr. Soubor však bude stažen a uložen jako taglist.zip ve vašem místním systému. Místo -o můžete také zadat "–output".

Další příklady curl:15 praktických příkladů příkazů cURL pro Linux


Linux
  1. Jak stáhnu soubory z příkazového řádku pomocí příkazu wget?

  2. jak stáhnout soubory dropbox pomocí příkazu wget?

  3. Jak stáhnout soubor z URL v Linuxu

  1. Jak zjistit, zda je soubor stahován pomocí Wget?

  2. Jak odesílat a stahovat soubory pomocí Rsync

  3. 5 příkladů příkazů Wget ke stažení souborů v Linuxu.

  1. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  2. Jak sloučit dva soubory pomocí AWK?

  3. Jak stáhnout celý adresář a podadresáře pomocí wget?