Uzak Dosyaları Komut Satırından İndirmek için cURL Kullanma

İçindekiler:

Anonim

Güçlü curl komut satırı aracı, herhangi bir uzak sunucudan dosya indirmek için kullanılabilir. Uzun süredir komut satırı kullanıcıları bunun çok çeşitli durumlar için yararlı olabileceğini bilirler, ancak işleri basit tutmak için çoğu kişi curl ile bir dosya indirmenin GUI tarafından bir web tarayıcısı veya FTP istemcisi kullanmaya göre genellikle daha hızlı bir alternatif olabileceğini görecektir. Mac OS X (veya Linux).Bu, yerel durumlar için yararlıdır, ancak SSH ile bağlandığınızda uzaktaki bir Mac'e bir şey indirmeniz gereken bir durumdaysanız özellikle değeri vardır.

Bu izlenecek yolun amaçları doğrultusunda, öncelikle yaygın olarak karşılaşılan iki HTTP ve SFTP protokolünden dosya indirmeye odaklanacağız, ancak cURL'nin daha birçok protokolü desteklediğine dikkat edilmelidir. Curl'ün kullanımı kolay olsa da, komut satırı hakkında biraz bilgi sahibi olmanız önerilir.

curl -O ile Tam Eşleşme Dosyalarını İndirin

curl ile büyük -O bayrağını kullanmak, dosyayı uzak sunucudan indirirken tam dosya adını korur, bunun için temel sözdizimi aşağıdaki gibidir:

kıvrılma -O

Bu, belirtilen URL dosyasının adı "sample.zip" ise "sample.zip" dosya adıyla indireceği ve dosyanın adı "LongExampleFileNameForOSXDaily-v- gibi çok büyük ve karmaşık bir şeyse" anlamına gelir. 1-3-51-revizyon-515b12-beni oku.txt”, yerel makinede tam olarak bu adla kaydedecektir. Daha uzun dosya adları, kısaca ele alacağımız -O yerine -o bayrağıyla daha iyi işlenir.

Sıradan okuyucular, gerçek ses içeriğinin bir m3u akış dosyasından nasıl çıkarılacağını açıklarken curl -O komutunu kullandığımızı hatırlayabilir.

Herhangi bir indirme işleminin curl ile başlatılması, aktarılan yüzdeyi, indirme için harcanan süreyi ve kalan süreyi ve aktarım hızını gösterir.

Ekran görüntüsü, aşağıdaki yapıştırılan örnekten daha iyi bir temsil sunar, ancak şöyle görünür:

% Toplam Alınan % Xferd Ortalama Hız Süre Süre Süre Geçerli Dload Karşıya Toplam Harcanan Sol Hız 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k

Aktarım hızı ile curl çıktısını /dev/null'a yönlendirebilir ve bunu internet bağlantı hızını test etmek için kullanabilirsiniz, ancak wget komutunun aktarım çubuğunu okuması ve takip etmesi daha kolay olduğundan wget daha iyidir bu görev için uygun.

Curl -o ile Uzak Dosyayı Farklı Bir Adla Kaydetme

Küçük harf -o bayrağı kullanmak, indirilen dosya için uzak sunucudaki adından farklı bir dosya adı belirtmenize olanak tanır. Bu, uzun dosya adlarını az altmak veya kendi başınıza bulmanızı kolaylaştırmak için bir şeyi etiketlemek için yararlı olabilir. Genel sözdizimi şöyle olur:

kıvrılma -o

Örneğin, Apple sunucularında listelendiğini bulduğunuz bir iOS IPSW dosyasını uzun tam adı olmadan kaydetmek istiyorsanız, aşağıdakini kullanabilirsiniz:

curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5, 3_7.0.4_11B554a_Restore.ipsw

Bu, “iPhone5, 3_7.0.4_11B554a_Restore.ipsw” dosyasını indirecek, ancak daha anlamlı olan “iPhone5C-704.ipsw” olarak daha kısa olarak adlandırılmıştır.

Dosyayı mevcut çalışma dizinine kaydetmek istemiyorsanız, dosya adının bir parçası olarak şu şekilde bir yol belirtin:

curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg

curl ile Aynı Anda Birden Fazla Dosya İndirme

cURL aynı anda birden fazla dosyayı kolayca indirebilir, tek yapmanız gereken birden fazla URL'yi şu şekilde belirtmek:

kıvrılma -O

Farklı adlara sahip veya farklı sunucularda ya da farklı dizin yollarında barındırılan dosyalar için tam URL'yi kullanın, örneğin:

curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ Lisanslar/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt

Öte yandan, indirilecek dosya adları artımlı adlandırma kullanıyorsa, indirme aralığını belirtmek için köşeli parantezler kullanabilirsiniz, örneğin:

curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1.txt

Bu, her bir benzersiz URL'yi belirtmek zorunda kalmadan fdl-1.1.txt, fd1-1.2.txt ve fd1-1.3.txt dosyalarını aynı anda alır. Elbette bu, yalnızca dosyalar aynı dizinde ve aynı etki alanındaysa işe yarar.

curl ile kimlik doğrulama

Ayrıca -u işaretini kullanarak cURL ile kimlik doğrulamasını da iletebilirsiniz:

curl -u user:pass -O ftp://remote_url/file-to-download.zip

Bir kullanıcı adı ve parola belirtilmiş olarak -u kullanıldığında bash geçmişinin parolayı düz metin olarak saklayacağını unutmayın, bu nedenle çoğu durumda bu önerilmez. 'Curl'un önüne bir boşluk koyarak bunu aşabilirsiniz.Komutun önüne eklemek için boşluk çubuğunu kullanmazsanız, muhtemelen daha sonra güvende olmak için komut geçmişini boş altmak isteyeceksiniz.

Desteklenen curl Protokolleri ve HTTP ve FTP Ötesinde Kullanım

Daha önce belirtildiği gibi, curl manuel sayfa girişi açıklamada ek protokollerden bahsettiği için cURL kullanımı HTTP ve FTP'nin çok ötesine geçer:

Ek olarak, curl'in PUT ve POST istekleri, tanımlama bilgileri, proxy'ler, tüneller, özgeçmiş indirmeleri ve hatta HTTP başlık bilgilerini alma veya bir kullanıcı aracısını değiştirme (etkili bir şekilde sahtecilik) için kullanılabileceğini göreceksiniz. özel bir web tarayıcısı kullanmaya gerek kalmadan.

Çoğu komut satırı yardımcı programında olduğu gibi, 'man curl' komutuyla uygun kılavuz sayfasını çağırarak curl hakkında çok daha fazla bilgi edinebilirsiniz.

Uzak Dosyaları Komut Satırından İndirmek için cURL Kullanma