لینکس کمانڈ لائن سے فائلیں ڈاؤن لوڈ کرنے کے لئے کس طرح curl استعمال کریں
لینکس curl
کمانڈ فائلوں کو ڈاؤن لوڈ کرنے کے علاوہ بھی بہت کچھ کرسکتا ہے۔ معلوم کریں کیا ہے curl
کے قابل ہے ، اور جب آپ کو اس کی بجائے استعمال کرنا چاہئے ویجٹ
.
curl vs. wget: کیا فرق ہے؟
لوگ اکثر ان کی نسبتہ طاقتوں کی نشاندہی کرنے کے لئے جدوجہد کرتے ہیں ویجٹ
اور curl
احکامات کمانڈوں میں کچھ فنکشنل اوورلیپ ہوتا ہے۔ وہ ہر ایک دور دراز کے مقامات سے فائلیں بازیافت کرسکتے ہیں ، لیکن یہی وہ مقام ہے جہاں مماثلت ختم ہوتی ہے۔
ویجٹ
مواد اور فائلیں ڈاؤن لوڈ کرنے کے لئے ایک بہترین ٹول ہے۔ یہ فائلیں ، ویب صفحات اور ڈائریکٹریز ڈاؤن لوڈ کرسکتے ہیں۔ اس میں ویب صفحات میں موجود لنکس کو عبور کرنے اور پوری ویب سائٹ پر بار بار مواد کو ڈاؤن لوڈ کرنے کے ذہین معمولات شامل ہیں۔ یہ کمانڈ لائن ڈاؤن لوڈ مینیجر کی حیثیت سے ناکام ہے۔
curl
پوری طرح سے مختلف ضرورت کو پورا کرتا ہے۔ ہاں ، یہ فائلیں بازیافت کرسکتا ہے ، لیکن مواد کو بازیافت کرنے کے ل looking تلاش کرنے والی ویب سائٹ پر یہ تعل .ق نہیں کرسکتا ہے۔ کیا curl
اصل میں آپ کو ان سسٹم سے درخواستیں کرنے ، اور بازیافت کرنے اور ان کے جوابات آپ کے سامنے ڈسپلے کرنے کے ذریعہ آپ کو ریموٹ نظام کے ساتھ تعامل کرنے دیں۔ یہ جوابات ویب پیج کا مواد اور فائلیں ہوسکتے ہیں ، لیکن ان میں curl کی درخواست کے ذریعہ پوچھے گئے "سوال" کے نتیجے میں ویب سروس یا API کے ذریعہ فراہم کردہ ڈیٹا بھی ہوسکتا ہے۔
اور curl
ویب سائٹ تک محدود نہیں ہے۔ curl
20 سے زیادہ پروٹوکول کی حمایت کرتا ہے ، بشمول HTTP ، HTTPS ، SCP ، SFTP ، اور FTP۔ اور بحث کی بات یہ ہے کہ لینکس پائپ کو اس کے بہتر طریقے سے ہینڈل کرنے کی وجہ سے ، curl
دوسرے احکامات اور اسکرپٹس کے ساتھ آسانی سے مربوط ہوسکتا ہے۔
کے مصنف curl
ایک ویب صفحہ ہے جس میں وہ اختلافات بیان کرتا ہے جو اس کے درمیان دیکھتا ہے curl
اور ویجٹ
.
کرلنگ انسٹال کرنا
اس مضمون کی تحقیق کے لئے استعمال ہونے والے کمپیوٹرز میں سے ، فیڈورا 31 اور مانجارو 18.1.0 کے پاس تھے curl
پہلے سے نصب ہے۔ curl
اوبنٹو 18.04 ایل ٹی ایس پر انسٹال کرنا پڑا۔ اوبنٹو پر ، اسے نصب کرنے کے لئے یہ کمانڈ چلائیں:
sudo apt-get انسٹال کرل
curl ورژن
--version
آپشن بناتا ہےcurl
اس کے ورژن کی اطلاع دیں۔ اس میں وہ تمام پروٹوکول بھی شامل ہیں جن کی وہ حمایت کرتا ہے۔
curl --version
ایک ویب صفحہ بازیافت کرنا
اگر ہم اشارہ کرتے ہیں curl
ایک ویب صفحے پر ، یہ ہمارے لئے اسے بازیافت کرے گا۔
curl //www.bbc.com
لیکن اس کا ڈیفالٹ ایکشن بطور سورس کوڈ ٹرمینل ونڈو پر ڈالنا ہے۔
ہوشیار رہنا: اگر آپ نہیں بتاتے curl
آپ فائل کے بطور کچھ محفوظ کرنا چاہتے ہو ، یہ ہوگا ہمیشہ اسے ٹرمینل ونڈو پر پھینک دیں۔ اگر فائل جس کی بازیافت کررہی ہے وہ بائنری فائل ہے تو ، نتیجہ غیر متوقع ہوسکتا ہے۔ شیل بائنری فائل میں بائٹ اقدار میں سے کچھ کو بطور کنٹرول حروف یا فرار کے انداز کی ترجمانی کرنے کی کوشش کرسکتا ہے۔
فائل میں ڈیٹا محفوظ کرنا
آؤ آؤٹ پٹ کو فائل میں ری ڈائریکٹ کرنے کے لئے کرل کو بتائیں:
curl //www.bbc.com> bbc.html
اس بار ہمیں بازیافت کردہ معلومات نظر نہیں آرہی ہیں ، یہ ہمارے لئے سیدھی فائل میں بھیجی گئی ہے۔ کیونکہ ڈسپلے کرنے کیلئے ٹرمینل ونڈو آؤٹ پٹ نہیں ہے ، curl
ترقی کی معلومات کا ایک مجموعہ برآمد کرتا ہے۔
اس نے پچھلی مثال میں ایسا نہیں کیا کیونکہ پیشرفت کی معلومات پورے ویب صفحے کے ماخذ کوڈ میں بکھر جاتی تھی curl
خود بخود دبا دیا۔
اس مثال میں ،curl
پتہ چلتا ہے کہ آؤٹ پٹ کو کسی فائل میں ری ڈائریکٹ کیا جارہا ہے اور یہ کہ پیشرفت سے متعلق معلومات پیدا کرنا محفوظ ہے۔
فراہم کردہ معلومات یہ ہے:
- ٪ کل: بازیافت کرنے کی کل رقم۔
- موصول ہوا: اعداد و شمار کی فی صد اور اصل قدریں اب تک بازیافت کی گئیں۔
- ایکسفرڈ: اگر اعداد و شمار اپ لوڈ کیے جارہے ہیں تو ، فیصد اور اصل بھیج دیا گیا۔
- اوسط اسپیڈ ڈول: اوسطا ڈاؤن لوڈ کی رفتار۔
- اوسطا تیز رفتار اپ لوڈ: اوسطا اپ لوڈ کی رفتار۔
- وقت کل: منتقلی کی تخمینہ کی کل مدت۔
- وقت گزارنا: اس منتقلی کے لئے اب تک کا وقت گزر گیا ہے۔
- وقت باقی ہے: منتقلی کے مکمل ہونے میں تخمینہ لگا ہوا وقت باقی ہے
- موجودہ رفتار: اس منتقلی کے لئے موجودہ منتقلی کی رفتار۔
کیونکہ ہم نے آؤٹ پٹ کو ری ڈائریکٹ کیا curl
ایک فائل میں ، اب ہمارے پاس ایک فائل ہے جسے "bbc.html" کہتے ہیں۔
اس فائل پر ڈبل کلک کرنے سے آپ کا ڈیفالٹ براؤزر کھل جائے گا تاکہ یہ بازیافت شدہ ویب صفحہ دکھائے۔
نوٹ کریں کہ براؤزر ایڈریس بار میں پتہ اس کمپیوٹر پر ایک مقامی فائل ہے ، دور دراز کی ویب سائٹ نہیں ہے۔
ہمارے پاس نہیں ہے ری ڈائریکٹ فائل بنانے کے لئے آؤٹ پٹ۔ ہم اس کا استعمال کرکے فائل تشکیل دے سکتے ہیں -o
(آؤٹ پٹ) آپشن ، اور بتانا curl
فائل بنانے کے لئے. یہاں ہم استعمال کررہے ہیں -o
آپشن اور فائل کا نام فراہم کرنا جو ہم "bbc.html" بنانا چاہتے ہیں۔
curl -o bbc.html //www.bbc.com
ڈاؤن لوڈز کی نگرانی کے لئے ایک پروگریس بار کا استعمال
متن پر مبنی ڈاؤن لوڈ کی معلومات کو ایک سادہ پروگریس بار سے تبدیل کرنے کے لئے ، استعمال کریں -#
(پروگریس بار) آپشن۔
curl -x -o bbc.html //www.bbc.com
ایک رکاوٹ ڈاؤن لوڈ کو دوبارہ شروع کرنا
کسی ڈاؤن لوڈ کو دوبارہ شروع کرنا آسان ہے جسے ختم یا مداخلت کی گئی ہے۔ آئیے ایک قابل فائل کی ڈاؤن لوڈ شروع کرتے ہیں۔ ہم اوبنٹو 18.04 کی تازہ ترین لانگ ٹرم سپورٹ بلڈ استعمال کریں گے۔ ہم استعمال کر رہے ہیں - آؤٹ پٹ
فائل کا نام بتانے کا اختیار جس میں ہم اسے محفوظ کرنا چاہتے ہیں: "ubuntu180403.iso."
کرل - آؤٹ پٹ ubuntu18043.iso //releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso
ڈاؤن لوڈ شروع ہوتا ہے اور تکمیل کی طرف اپنے کام کرتا ہے۔
اگر ہم زبردستی ڈاؤن لوڈ میں مداخلت کرتے ہیں Ctrl + C
، ہم کمانڈ پرامپٹ پر واپس آگئے ہیں ، اور ڈاؤن لوڈ ترک کردیا گیا ہے۔
ڈاؤن لوڈ کو دوبارہ شروع کرنے کے لئے ، استعمال کریں -سی
(جاری رکھیں) آپشن۔ اس کا سبب بنتا ہے curl
ڈاؤن لوڈ کو ایک مخصوص مقام پر دوبارہ شروع کرنے کے لئے یا آفسیٹ ٹارگٹ فائل کے اندر۔ اگر آپ ہائفن استعمال کرتے ہیں -
آفسیٹ کے طور پر ، curl
فائل کے پہلے ہی ڈاؤن لوڈ شدہ حصے کو دیکھیں گے اور اپنے لئے استعمال کرنے کے لئے صحیح آفسیٹ کا تعین کریں گے۔
curl -C - - آؤٹ پٹ ubuntu18043.iso //releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso
ڈاؤن لوڈ دوبارہ شروع ہو گیا ہے۔ curl
اس آفسیٹ کی اطلاع دیتا ہے جس پر یہ دوبارہ شروع ہو رہا ہے۔
HTTP ہیڈر بازیافت کرنا
کے ساتہ -میں
(ہیڈ) آپشن ، آپ صرف HTTP ہیڈر بازیافت کرسکتے ہیں۔ یہ ایک ویب سرور کو HTTP ہیڈ کمانڈ بھیجنے کے مترادف ہے۔
curl -I www.twitter.com
یہ حکم صرف معلومات بازیافت کرتا ہے۔ یہ کسی بھی ویب صفحات یا فائلوں کو ڈاؤن لوڈ نہیں کرتا ہے۔
متعدد یو آر ایل کو ڈاؤن لوڈ کرنا
استعمال کرنا xargs
ہم ایک ساتھ میں متعدد یو آر ایل کو ڈاؤن لوڈ کرسکتے ہیں۔ شاید ہم ویب صفحات کی ایک سیریز ڈاؤن لوڈ کرنا چاہتے ہیں جس میں ایک مضمون یا سبق تشکیل دیا گیا ہے۔
ان یو آر ایل کو ایڈیٹر میں کاپی کریں اور اسے "urls-to-download.txt" نامی فائل میں محفوظ کریں۔ ہم استعمال کرسکتے ہیں xargs
ٹیکسٹ فائل کی ہر لائن کے مواد کو پیرامیٹر کے طور پر ٹریٹ کرنا جس سے وہ کھائے گا curl
، باری میں.
// ٹیوٹوریلز.بونٹو // ٹیوٹوریل / ٹیوٹوریل- کریٹ- اے- یو ایس بی- اسٹک- آن- بونٹٹو ०0 // ٹیوٹوریلز.بونٹو / ٹیوٹوریل / ٹیوٹوریل- کریٹ- اے- یو ایس بی اسٹک۔ون- بونٹو#1 // ٹیوٹوریلز.بونٹو / ٹیوٹوریل / ٹیوٹوریل- کریٹ- اے- یو ایس بی- اسٹک۔ون- بونٹو # //t // ٹیوٹوریلز.بونٹو / ٹیوٹوریل / ٹیوٹوریل- سکریٹ- اے- یو ایس بی اسٹک۔ون- بونٹو#3 // ٹیوٹوریلز.بونٹو // ٹیوٹوریل / ٹیوٹوریل- کریٹ- اے- یو ایس بی- اسٹک۔ون- بونٹو#4 // اسٹوریئلز.بونٹو / ٹیوٹوریل / ٹیوٹوریل- کریٹ- اے- یو ایس بی اسٹک۔ون- بونٹو#5
یہ کمانڈ ہے جو ہمیں استعمال کرنے کی ضرورت ہے xargs
ان یو آر ایل کو پاس کریں curl
ایک وقت میں ایک:
xargs -n 1 curl -O <urls-to-download.txt
نوٹ کریں کہ یہ کمانڈ استعمال کرتا ہے -او
(ریموٹ فائل) آؤٹ پٹ کمانڈ ، جو اپر کیس "O." استعمال کرتا ہے اس آپشن کا سبب ہے curl
بازیافت شدہ فائل کو اسی نام سے محفوظ کرنا جس میں فائل کا ریموٹ سرور پر ہے۔
-ن 1
آپشن بتاتا ہے xargs
متنی فائل کی ہر لائن کو ایک ہی پیرامیٹر کی طرح سمجھنا۔
جب آپ کمانڈ چلاتے ہیں تو ، آپ کو ایک کے بعد ایک ، بہت سے ڈاؤن لوڈ شروع اور ختم ہوتے ہوئے نظر آئیں گے۔
فائل براؤزر میں جانچ پڑتال سے پتہ چلتا ہے کہ متعدد فائلیں ڈاؤن لوڈ ہوچکی ہیں۔ ریموٹ سرور پر ہر ایک کا نام ہے۔
متعلقہ:لینکس پر xargs کمانڈ کس طرح استعمال کریں
ایف ٹی پی سرور سے فائلیں ڈاؤن لوڈ کرنا
استعمال کرنا curl
فائل ٹرانسفر پروٹوکول (ایف ٹی پی) سرور کے ساتھ آسان ہے ، چاہے آپ کو صارف نام اور پاس ورڈ سے تصدیق کرنی پڑے۔ کے ساتھ ایک صارف نام اور پاس ورڈ کو منتقل کرنے کے لئے curl
کا استعمال کرتے ہیں -u
(صارف) کا اختیار ، اور صارف نام ، ایک بڑی آنت “:” ، اور پاس ورڈ ٹائپ کریں۔ بڑی آنت سے پہلے یا بعد میں جگہ نہ رکھیں۔
یہ ایک فری ٹیسٹنگ FTP سرور ہے جس کی میزبانی ریبیکس کرتی ہے۔ ٹیسٹ ایف ٹی پی سائٹ میں "ڈیمو" کا پہلے سے سیٹ صارف نام ہے ، اور پاس ورڈ "پاس ورڈ" ہے۔ اس طرح کے ضعیف صارف نام اور پاس ورڈ کو کسی پروڈکشن یا “حقیقی” ایف ٹی پی سرور پر استعمال نہ کریں۔
curl -u ڈیمو: پاس ورڈ ftp://test.rebex.net
curl
اعداد و شمار سے پتہ چلتا ہے کہ ہم اس کو ایف ٹی پی سرور کی طرف اشارہ کررہے ہیں ، اور فائلوں کی فہرست واپس کرتے ہیں جو سرور پر موجود ہیں۔
اس سرور کی واحد فائل ایک "readme.txt" فائل ہے جس کی لمبائی 403 بائٹس ہے۔ آئیے اسے بازیافت کریں۔ ایک ہی لمحے کی طرح اسی کمانڈ کا استعمال کریں ، اس میں فائل کا نام شامل کرنے کے ساتھ:
curl -u ڈیمو: پاس ورڈ ftp://test.rebex.net/readme.txt
فائل بازیافت کی گئی ہے اور curl
ٹرمینل ونڈو میں اس کے مندرجات دکھاتا ہے۔
تقریبا all تمام معاملات میں ، یہ آسان تر ہو گا کہ بازیافت شدہ فائل کو ہمارے لئے ڈسک پر محفوظ کیا جائے ، اس کے بجائے ٹرمینل ونڈو میں ظاہر کیا جائے۔ ایک بار پھر ہم استعمال کرسکتے ہیں -او
(ریموٹ فائل) آؤٹ پٹ کو حکم دیتا ہے کہ فائل کو ڈسک میں محفوظ کیا جائے ، اسی فائل نام کے ساتھ جو اس میں ریموٹ سرور پر ہے۔
curl -O -u ڈیمو: پاس ورڈ ftp://test.rebex.net/readme.txt
فائل بازیافت کی گئی ہے اور ڈسک پر محفوظ کی گئی ہے۔ ہم استعمال کرسکتے ہیں ls
فائل کی تفصیلات چیک کرنے کے ل. اس کا ایک ہی نام ہے جس کا نام ایف ٹی پی سرور پر فائل ہے ، اور اس کی لمبائی 403 بائٹس ہے۔
ls -hl readme.txt
متعلقہ:لینکس پر ایف ٹی پی کمانڈ کا استعمال کیسے کریں
ریموٹ سرورز کو پیرامیٹرز بھیجنا
کچھ ریموٹ سرور ان درخواستوں میں پیرامیٹرز کو قبول کریں گے جو انہیں بھیجی جاتی ہیں۔ پیرامیٹرز کو استعمال شدہ اعداد و شمار کو فارمیٹ کرنے کے لئے استعمال کیا جاسکتا ہے ، مثال کے طور پر ، یا وہ عین مطابق اعداد و شمار کو منتخب کرنے کے لئے استعمال کیا جاسکتا ہے جسے صارف بازیافت کرنا چاہتا ہے۔ ویب ایپلی کیشنگ پروگرامنگ انٹرفیس (APIs) کے استعمال سے بات چیت کرنا اکثر ممکن ہے curl
.
ایک سادہ مثال کے طور پر ، آئی پیفائٹ ویب سائٹ میں ایک API موجود ہے جس سے آپ کے بیرونی IP پتے کی تصدیق کی جاسکتی ہے۔
curl //api.ipify.org
شامل کرکے فارمیٹ
کمانڈ کا پیرامیٹر ، "json" کی قدر کے ساتھ ہم ایک بار پھر اپنے بیرونی IP ایڈریس کی درخواست کرسکتے ہیں ، لیکن اس بار واپس شدہ ڈیٹا کو JSON فارمیٹ میں انکوڈ کیا جائے گا۔
curl //api.ipify.org؟format=json
یہاں ایک اور مثال ہے جو گوگل API کا استعمال کرتی ہے۔ یہ JSON آبجیکٹ کو ایک کتاب کی وضاحت کرتا ہے۔ آپ کو جس پیرامیٹر کا فراہم کرنا لازمی ہے وہ ایک کتاب کا بین الاقوامی معیار کتاب نمبر (ISBN) نمبر ہے۔ آپ یہ اکثر کتابوں کے پچھلے سرورق پر پا سکتے ہیں ، عام طور پر ایک بار کوڈ کے نیچے۔ ہم یہاں جو پیرامیٹر استعمال کریں گے وہ ہے "0131103628"۔
curl //www.googleapis.com/books/v1/volume؟q=isbn:0131103628
لوٹا ہوا ڈیٹا جامع ہے:
کبھی curl ، کبھی ویجٹ
اگر میں کسی ویب سائٹ سے مواد ڈاؤن لوڈ کرنا چاہتا ہوں اور ویب سائٹ کے درخت کی ساخت کو اس مواد کے لئے بار بار تلاش کرنا چاہتا ہوں تو ، میں استعمال کروں گا۔ ویجٹ
.
اگر میں کسی ریموٹ سرور یا API کے ساتھ تعامل کرنا چاہتا ہوں اور ممکنہ طور پر کچھ فائلیں یا ویب صفحات ڈاؤن لوڈ کروں تو ، میں استعمال کروں گا curl
. خاص طور پر اگر پروٹوکول بہت سے لوگوں میں سے ایک تھا جس کی حمایت نہیں کی گئی تھی ویجٹ
.