cURLin käyttäminen etätiedostojen lataamiseen komentoriviltä
Sisällysluettelo:
- Lataa tarkan vastaavuuden tiedostot curlilla -O
- Etätiedoston tallentaminen eri nimellä käyttämällä curl -o
- Useiden tiedostojen lataaminen samanaikaisesti curlin kanssa
Tehokas curl-komentorivityökalu voidaan käyttää tiedostojen lataamiseen lähes mistä tahansa etäpalvelimesta. Pitkäaikaiset komentorivin käyttäjät tietävät, että tästä voi olla hyötyä monenlaisissa tilanteissa, mutta asioiden yksinkertaistamiseksi monet huomaavat, että tiedoston lataaminen curlilla voi usein olla nopeampi vaihtoehto verkkoselaimen tai FTP-asiakasohjelman käyttämiselle graafisen käyttöliittymän kautta. Mac OS X (tai linux).Tämä on hyödyllistä paikallisissa tilanteissa, mutta se on erityisen hyödyllistä, jos olet tilanteessa, jossa sinun on ladattava jotain etä-Maciin, kun se on yhdistetty SSH:n kautta.
Tässä esittelyssä keskitymme ensisijaisesti tiedostojen lataamiseen kahdesta yleisesti käytetystä HTTP- ja SFTP-protokollasta, vaikka on huomattava, että cURL tukee monia muita protokollia. Vaikka curl on helppokäyttöinen, komentorivin tunteminen on suositeltavaa.
Lataa tarkan vastaavuuden tiedostot curlilla -O
Isoja kirjaimia -O-lippua käyttämällä curl lataa tiedoston etäpalvelimelta säilyttäen samalla tarkan tiedostonimen. Tämän perussyntaksi on seuraava:
curl -O
Tämä tarkoittaa, että jos määritetyn URL-tiedoston nimi on "sample.zip", se ladataan tiedostonimellä "sample.zip", ja jos tiedoston nimi on v altava ja monimutkainen, kuten "LongExampleFileNameForOSXDaily-v- 1-3-51-versio-515b12-readme.txt" etäpalvelimelle, se tallentaa täsmälleen samalla nimellä paikalliseen koneeseen. Pidempiä tiedostonimiä käsitellään usein paremmin -o-lipulla kuin -O:lla, mitä käsittelemme pian.
Tavalliset lukijat saattavat muistaa, että käytimme curl -O -komentoa selittäessämme, kuinka todellinen äänisisältö puretaan m3u-suoratoistotiedostosta.
Latauksen alussa curl näyttää siirretyn prosentin, lataamiseen käytetyn ajan ja jäljellä olevan ajan sekä siirtonopeuden.
Kuvakaappaus tarjoaa paremman esityksen kuin alla oleva esimerkki, mutta se näyttää suunnilleen tältä:
% Yhteensä % Vastaanotettu % Xferd Keskimääräinen nopeus Aika Aika Nykyinen lataus Lataus Yhteensä käytetty Vasen nopeus 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k
Jos siirtonopeus näyttää, voit ohjata curlin tulosteen hakemistoon /dev/null ja käyttää sitä Internet-yhteyden nopeuden testaamiseen, mutta wget-komennolla on helpompi lukea ja seurata siirtopalkkia, joten wget on parempi sopii tähän tehtävään.
Etätiedoston tallentaminen eri nimellä käyttämällä curl -o
Käyttämällä pientä -o-lippua voit määrittää ladatulle tiedostolle eri tiedostonimen kuin se, jolla se on nimetty etäpalvelimessa. Tämä voi auttaa pienentämään pitkiä tiedostonimiä tai vain merkitsemään jotain, jotta se on helpompi löytää itse. Yleinen syntaksi olisi:
curl -o
Jos esimerkiksi haluat tallentaa iOS IPSW -tiedoston, jonka löysit Applen palvelimilta ilman pitkää koko nimeä, voit käyttää seuraavaa:
curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5, 3_7.0.4_11B554a_Restore.
Tämä lataa "iPhone5, 3_7.0.4_11B554a_Restore.ipsw"-tiedoston, mutta nimetään lyhyemmäksi merkityksellisemmäksi "iPhone5C-704.ipsw".
Jos et halua tallentaa tiedostoa nykyiseen työhakemistoon, määritä polku osaksi tiedoston nimeä seuraavasti:
curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg
Useiden tiedostojen lataaminen samanaikaisesti curlin kanssa
cURL voi helposti ladata useita tiedostoja samanaikaisesti. Sinun tarvitsee vain määrittää useampi kuin yksi URL-osoite seuraavasti:
curl -O
Jos tiedostot ovat eri nimillä tai joita isännöidään eri palvelimilla tai eri hakemistopoluilla, käytä täydellistä URL-osoitetta, esimerkiksi:
curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ Licenses/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt
Toisa alta, jos ladattavat tiedostojen nimet käyttävät inkrementaalista nimeämistä, voit määrittää latausalueen hakasulkeilla, esimerkiksi:
curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt
Tämä nappaa tiedostot fdl-1.1.txt, fd1-1.2.txt ja fd1-1.3.txt kaikki samaan aikaan ilman, että kutakin yksilöllistä URL-osoitetta tarvitsee määrittää. Tämä toimii tietysti vain, jos tiedostot ovat samassa hakemistossa yhdessä ja samalla toimialueella.
Todennus curlilla
Voit myös välittää todennuksen cURL-osoitteella käyttämällä -u-lippua:
curl -u user:pass -O ftp://remote_url/file-to-download.zip
Muista, että bash historia tallentaa salasanan pelkkänä tekstinä käytettäessä -u:ta käyttäjänimen ja salasanan kanssa, joten tätä ei suositella useimmissa tilanteissa. Voit kiertää sen asettamalla välilyönnin "kiharan" eteen.Jos et käytä välilyöntiä komennon etuliitteenä, haluat todennäköisesti tyhjentää komentohistorian jälkeenpäin varmuuden vuoksi.
Tuetut curl-protokollat ja käyttö HTTP:n ja FTP:n lisäksi
Kuten aiemmin mainittiin, cURL:n käyttö on paljon muutakin kuin HTTP:tä ja FTP:tä, sillä curl manuaalisen sivun kuvauksessa mainitaan lisäprotokollat:
Lisäksi huomaat, että curl-toimintoa voidaan käyttää myös PUT- ja POST-pyyntöihin, evästeisiin, välityspalvelimiin, tunneleihin, latausten jatkamiseen ja jopa HTTP-otsikkotietojen nappaamiseen tai käyttäjäagentin vaihtamiseen (todellisuudessa huijaus) ilman erillistä verkkoselainta.
Kuten useimmat komentorivin apuohjelmat, voit oppia paljon enemmän curlista kutsumalla oikean man-sivun "man curl" -komennolla.