لینکس کمانڈ لائن سے فائلیں ڈاؤن لوڈ کرنے کے لئے کس طرح 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. خاص طور پر اگر پروٹوکول بہت سے لوگوں میں سے ایک تھا جس کی حمایت نہیں کی گئی تھی ویجٹ.


$config[zx-auto] not found$config[zx-overlay] not found