লিনাক্স কমান্ড লাইন থেকে ফাইলগুলি ডাউনলোড করতে কার্ল কীভাবে ব্যবহার করবেন
লিনাক্স কার্ল
কমান্ড ফাইল ডাউনলোড করার চেয়ে আরও অনেক কিছু করতে পারে। খুজে দেখ কি কার্ল
সক্ষম, এবং যখন আপনি এটি পরিবর্তে ব্যবহার করা উচিত উইজেট
.
কার্ল বনাম উইজেট: পার্থক্য কী?
লোকেরা প্রায়শই এর তুলনামূলক শক্তি চিহ্নিত করতে সংগ্রাম করে উইজেট
এবং কার্ল
কমান্ড। কমান্ডগুলির কিছু কার্যকরী ওভারল্যাপ থাকে। তারা প্রত্যেকে প্রত্যন্ত অবস্থানগুলি থেকে ফাইলগুলি পুনরুদ্ধার করতে পারে তবে সাদৃশ্যটি এখানেই শেষ হয়।
উইজেট
সামগ্রী এবং ফাইলগুলি ডাউনলোড করার জন্য একটি দুর্দান্ত সরঞ্জাম। এটি ফাইল, ওয়েব পৃষ্ঠা এবং ডিরেক্টরি ডাউনলোড করতে পারে। এটিতে ওয়েব পৃষ্ঠাগুলিতে লিঙ্কগুলি অতিক্রম করতে এবং সম্পূর্ণ ওয়েবসাইট জুড়ে পুনরাবৃত্তভাবে সামগ্রী ডাউনলোড করার জন্য বুদ্ধিমান রুটিন রয়েছে। এটি একটি কমান্ড-লাইন ডাউনলোড ম্যানেজার হিসাবে সাফল্যযুক্ত।
কার্ল
সম্পূর্ণ ভিন্ন প্রয়োজন সন্তুষ্ট করে। হ্যাঁ, এটি ফাইলগুলি পুনরুদ্ধার করতে পারে তবে এটি পুনরুদ্ধার করে সামগ্রী পুনরুদ্ধার করার জন্য খুঁজছেন এমন কোনও ওয়েবসাইট নেভিগেট করতে পারে না। কি কার্ল
আসলে আপনাকে সেই সিস্টেমে অনুরোধ করে এবং আপনার কাছে তাদের প্রতিক্রিয়াগুলি উদ্ধার করে এবং প্রদর্শন করে দূরবর্তী সিস্টেমগুলির সাথে যোগাযোগ করতে দেওয়া হয়। এই প্রতিক্রিয়াগুলি ওয়েব পৃষ্ঠার সামগ্রী এবং ফাইলগুলি হতে পারে তবে কার্ল অনুরোধ দ্বারা জিজ্ঞাসিত "প্রশ্ন" এর ফলাফল হিসাবে সেগুলিতে একটি ওয়েব পরিষেবা বা এপিআইয়ের মাধ্যমে সরবরাহ করা ডেটা থাকতে পারে।
এবং কার্ল
ওয়েবসাইটগুলিতে সীমাবদ্ধ নয়। কার্ল
HTTP, HTTPS, SCP, SFTP, এবং FTP সহ 20 টিরও বেশি প্রোটোকল সমর্থন করে। এবং যুক্তিযুক্তভাবে, লিনাক্স পাইপগুলির উচ্চতর পরিচালনার কারণে, কার্ল
অন্যান্য কমান্ড এবং স্ক্রিপ্টগুলির সাথে আরও সহজেই সংহত করা যায়।
এর লেখক কার্ল
একটি ওয়েবপৃষ্ঠা রয়েছে যা তার মধ্যে পার্থক্যগুলি বর্ণনা করে describes কার্ল
এবং উইজেট
.
কার্ল ইনস্টল করা হচ্ছে
এই নিবন্ধটি গবেষণা করতে ব্যবহৃত কম্পিউটারগুলির মধ্যে ফেডোরা 31 এবং মাঞ্জারো 18.1.0 ছিল কার্ল
ইতিমধ্যে ইনস্টল. কার্ল
উবুন্টু 18.04 এলটিএসে ইনস্টল করতে হয়েছিল। উবুন্টুতে, এটি ইনস্টল করতে এই আদেশটিটি চালান:
sudo অ্যাপ্লিকেশন - কার্ল ইনস্টল করুন
কার্ল সংস্করণ
দ্য --version
বিকল্প তোলেকার্ল
এর সংস্করণ রিপোর্ট করুন। এটি সমর্থন করে এমন সমস্ত প্রোটোকলও তালিকাভুক্ত করে।
কার্ল - রূপান্তর
একটি ওয়েব পৃষ্ঠা পুনরুদ্ধার করা
যদি আমরা ইশারা করি কার্ল
একটি ওয়েব পৃষ্ঠায়, এটি আমাদের জন্য এটি পুনরুদ্ধার করবে।
কার্ল //www.bbc.com
তবে এর ডিফল্ট ক্রিয়া হ'ল উত্স কোড হিসাবে এটি টার্মিনাল উইন্ডোতে ফেলে দেওয়া।
সাবধান!: যদি আপনি না বলেন কার্ল
আপনি ফাইল হিসাবে সঞ্চিত কিছু চান, এটি হবে সর্বদা এটি টার্মিনাল উইন্ডোতে ফেলে দিন। এটি যে ফাইলটি পুনরুদ্ধার করছে তা যদি বাইনারি ফাইল হয় তবে ফলাফলটি অনাকাঙ্ক্ষিত হতে পারে। শেলটি বাইনারি ফাইলের কিছু বাইট মানগুলি নিয়ন্ত্রণের অক্ষর বা পালানোর ক্রম হিসাবে ব্যাখ্যা করার চেষ্টা করতে পারে।
একটি ফাইলে ডেটা সংরক্ষণ করা হচ্ছে
আসুন কার্লকে আউটপুটটিকে কোনও ফাইলে পুনর্নির্দেশ করতে বলি:
কার্ল //www.bbc.com> বিবিসি এইচটিএমএল
এবার আমরা পুনরুদ্ধার করা তথ্যটি দেখতে পাচ্ছি না, এটি আমাদের জন্য সরাসরি ফাইলটিতে প্রেরণ করা হয়। যেহেতু প্রদর্শন করার জন্য কোনও টার্মিনাল উইন্ডো আউটপুট নেই, কার্ল
অগ্রগতি তথ্যের একটি সেট আউটপুট দেয়।
এটি পূর্ববর্তী উদাহরণে এটি করেনি কারণ অগ্রগতির তথ্য ওয়েব পৃষ্ঠার উত্স কোডে ছড়িয়ে ছিটিয়ে থাকত কার্ল
স্বয়ংক্রিয়ভাবে এটি দমন।
এই উদাহরণে,কার্ল
আউটপুটটি কোনও ফাইলে পুনঃনির্দেশিত হচ্ছে এবং অগ্রগতির তথ্য উত্পন্ন করা নিরাপদ তা সনাক্ত করে।
প্রদত্ত তথ্য হ'ল:
- % মোট: মোট পরিমাণ উদ্ধার করতে হবে।
- % প্রাপ্ত: এখনও পর্যন্ত প্রাপ্ত তথ্যের শতাংশ এবং প্রকৃত মান।
- % এক্সফার্ড: শতাংশ এবং প্রকৃত প্রেরিত, যদি ডেটা আপলোড করা হয়।
- গড় গতি লোড: গড় ডাউনলোডের গতি।
- গড় গতি আপলোড: গড় আপলোডের গতি।
- সময় মোট: স্থানান্তরটির আনুমানিক মোট সময়কাল।
- সময় অতিবাহিত: এই স্থানান্তরটির জন্য এখনও অতিবাহিত সময়।
- সময় বাম: স্থানান্তর শেষ হতে আনুমানিক সময় বাকি
- বর্তমান গতি: এই স্থানান্তরটির জন্য বর্তমান স্থানান্তর গতি।
কারণ আমরা আউটপুটটি পুনঃনির্দেশিত করেছি কার্ল
একটি ফাইলে, আমাদের কাছে এখন "bbc.html" নামে একটি ফাইল রয়েছে।
সেই ফাইলটিতে ডাবল-ক্লিক করা আপনার ডিফল্ট ব্রাউজারটি খুলবে যাতে এটি পুনরুদ্ধার করা ওয়েব পৃষ্ঠাটি প্রদর্শন করে।
নোট করুন যে ব্রাউজারের ঠিকানা বারের ঠিকানাটি এই কম্পিউটারে একটি স্থানীয় ফাইল, কোনও দূরবর্তী ওয়েবসাইট নয়।
আমাদের দরকার নেই পুনঃনির্দেশ একটি ফাইল তৈরি করতে আউটপুট। আমরা এটি ব্যবহার করে একটি ফাইল তৈরি করতে পারি -ও
(আউটপুট) বিকল্প, এবং বলছে কার্ল
ফাইল তৈরি করতে। এখানে আমরা ব্যবহার করছি -ও
বিকল্প এবং আমরা যে ফাইলটি তৈরি করতে চাই তার নাম সরবরাহ করে "বিবিসিএইচটিএমএল"।
curl -o bbc.html //www.bbc.com
ডাউনলোডগুলি পর্যবেক্ষণ করতে একটি অগ্রগতি বার ব্যবহার করা
একটি সাধারণ অগ্রগতি বার দ্বারা টেক্সট-ভিত্তিক ডাউনলোডের তথ্য প্রতিস্থাপন করতে, ব্যবহার করুন -#
(অগ্রগতি বার) বিকল্প।
curl -x -o bbc.html //www.bbc.com
একটি বাধা ডাউনলোড পুনরায় চালু করা হচ্ছে
বন্ধ করা বা বাধা দেওয়া হয়েছে এমন একটি ডাউনলোড পুনরায় চালু করা সহজ। আসুন একটি আকারের ফাইল ডাউনলোড শুরু করি। আমরা উবুন্টু 18.04 এর সর্বশেষতম দীর্ঘমেয়াদী সমর্থন বিল্ডটি ব্যবহার করব। আমরা ব্যবহার করছি - আউটপুট
ফাইলটির নাম উল্লেখ করার জন্য বিকল্পটি আমরা এটিকে সংরক্ষণ করতে চাই: "উবুন্টু 180403.iso।"
কার্ল - আউটপুট ubuntu18043.iso //releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso
ডাউনলোড শুরু হয় এবং সমাপ্তির দিকে তার পথে কাজ করে।
আমরা যদি জোর করে ডাউনলোডের সাথে বাধা দেয় Ctrl + C
, আমরা কমান্ড প্রম্পটে ফিরে এসেছি এবং ডাউনলোডটি পরিত্যাগ করা হবে।
ডাউনলোডটি পুনরায় চালু করতে, ব্যবহার করুন -সি
(চালিয়ে যান) বিকল্পটি। এই জন্য কার্ল
একটি নির্দিষ্ট পয়েন্টে ডাউনলোড পুনরায় আরম্ভ করতে বা অফসেট লক্ষ্য ফাইলের মধ্যে। আপনি যদি হাইফেন ব্যবহার করেন -
অফসেট হিসাবে, কার্ল
ইতিমধ্যে ফাইলটির ডাউনলোড করা অংশটি দেখুন এবং নিজের জন্য সঠিক অফসেটটি নির্ধারণ করবেন।
কার্ল-সি - - আউটপুট উবুন্টু 18043.iso //releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso
ডাউনলোডটি আবার শুরু হয়েছে। কার্ল
এটি পুনরায় আরম্ভ হচ্ছে এমন অফসেটের প্রতিবেদন করে।
HTTP শিরোনাম পুনরুদ্ধার করা হচ্ছে
সাথে -আমি
(প্রধান) বিকল্পটি, আপনি কেবল HTTP শিরোনামগুলি পুনরুদ্ধার করতে পারেন। এটি ওয়েব সার্ভারে HTTP হেড কমান্ড প্রেরণের সমান।
কার্ল -আই www.twitter.com
এই কমান্ডটি কেবল তথ্য পুনরুদ্ধার করে; এটি কোনও ওয়েব পৃষ্ঠা বা ফাইল ডাউনলোড করে না।
একাধিক ইউআরএল ডাউনলোড করা হচ্ছে
ব্যবহার xargs
আমরা একসাথে একাধিক URL ডাউনলোড করতে পারি। সম্ভবত আমরা এমন একটি ওয়েব পৃষ্ঠাগুলি ডাউনলোড করতে চাই যা একটি একক নিবন্ধ বা টিউটোরিয়াল তৈরি করে।
এই URL গুলি কোনও সম্পাদককে অনুলিপি করুন এবং এটিকে "url-to-download.txt" নামক একটি ফাইলে সংরক্ষণ করুন। আমরা ব্যবহার করতে পারি xargs
পাঠ্য ফাইলের প্রতিটি লাইনের সামগ্রীর সাথে প্যারামিটার হিসাবে এটি খাওয়াবে treat কার্ল
পরিবর্তে।
// টিউটোরিয়াল.উবুন্টু / টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#0 // টিউটোরিয়ালস.বুন্টু :: টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#1 // টিউটোরিয়াল.উবুন্টু / টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#2 // টিউটোরিয়ালস.বুন্টু :: টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#3 // টিউটোরিয়াল.উবুন্টু / টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#4 // টিউটোরিয়ালস.বুন্টু :: টিউটোরিয়াল / টিউটোরিয়াল-create-a-usb-stick-on-ubuntu#5
এটি হ'ল কমান্ডটি আমাদের ব্যবহার করতে হবে xargs
এই ইউআরএল পাস কার্ল
একবারে একটি:
xargs -n 1 curl -O <urls-to-download.txt
নোট করুন যে এই কমান্ডটি ব্যবহার করে -ও
(রিমোট ফাইল) আউটপুট কমান্ড, যা একটি বড় হাতের অক্ষর "O" ব্যবহার করে এই বিকল্পের কারণ কার্ল
রিমোট করা ফাইলটি একই নামে ফাইলটি রিমোট সার্ভারে সংরক্ষণ করতে।
দ্য -এন 1
বিকল্প বলে xargs
পাঠ্য ফাইলের প্রতিটি লাইনকে একক প্যারামিটার হিসাবে বিবেচনা করতে।
আপনি যখন কমান্ডটি চালাবেন, আপনি একের পর এক একাধিক ডাউনলোড শুরু এবং শেষ দেখতে পাবেন।
ফাইল ব্রাউজারে চেক করলে দেখা যায় যে একাধিক ফাইল ডাউনলোড করা হয়েছে। প্রত্যেকে এর নামটি রিমোট সার্ভারে বহন করে।
সম্পর্কিত:লিনাক্সে কীভাবে xargs কমান্ড ব্যবহার করবেন
একটি এফটিপি সার্ভার থেকে ফাইলগুলি ডাউনলোড করা হচ্ছে
ব্যবহার কার্ল
ফাইল ট্রান্সফার প্রোটোকল (এফটিপি) সার্ভারের সাহায্যে আপনার পক্ষে ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে প্রমাণীকরণ করা সহজ। এর সাথে একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড পাস করতে কার্ল
ব্যবহার -উ
(ব্যবহারকারী) বিকল্পটি লিখুন এবং ব্যবহারকারীর নাম, একটি কলোন ":" এবং পাসওয়ার্ড টাইপ করুন। কোলনের আগে বা পরে কোনও স্থান রাখবেন না।
এটি একটি নিখরচায় পরীক্ষার জন্য এফটিপি সার্ভার যা রেবেক্স দ্বারা হোস্ট করা হয়েছে। পরীক্ষার এফটিপি সাইটটিতে একটি "ডেমো" এর প্রি-সেট ব্যবহারকারী নাম রয়েছে এবং পাসওয়ার্ডটি "পাসওয়ার্ড"। কোনও উত্পাদন বা "বাস্তব" এফটিপি সার্ভারে এই জাতীয় দুর্বল ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করবেন না।
কার্ল-ডেমো: পাসওয়ার্ড এফটিপি: // সর্বশেষ
কার্ল
আমরা এটি এফটিপি সার্ভারে দেখিয়ে দিচ্ছি এবং সার্ভারে উপস্থিত ফাইলগুলির একটি তালিকা ফিরিয়ে আনি figures
এই সার্ভারে কেবলমাত্র ফাইলটি 403 বাইট দৈর্ঘ্যের একটি "রিডমি. টেক্সট" ফাইল। আসুন এটি পুনরুদ্ধার করা যাক। মুহুর্তের আগে একই কমান্ডটি ফাইল ফাইল যুক্ত করে ব্যবহার করুন:
কার্ল-ডেমো: পাসওয়ার্ড ftp://test.rebex.net/readme.txt
ফাইলটি পুনরুদ্ধার করা হয়েছে এবং কার্ল
টার্মিনাল উইন্ডোতে এর বিষয়বস্তু প্রদর্শন করে।
প্রায় সব ক্ষেত্রেই টার্মিনাল উইন্ডোতে প্রদর্শিত না হয়ে পুনরুদ্ধার করা ফাইলটি আমাদের জন্য ডিস্কে সংরক্ষণ করা আরও সুবিধাজনক হতে চলেছে। আরও একবার আমরা ব্যবহার করতে পারেন -ও
(রিমোট ফাইল) আউটপুট কমান্ডকে ফাইলটি ডিস্কে সংরক্ষণ করতে হবে, একই ফাইলটির সাথে এটি দূরবর্তী সার্ভারে রয়েছে।
কার্ল-ও-ডেমো: পাসওয়ার্ড ftp://test.rebex.net/readme.txt
ফাইলটি পুনরুদ্ধার করা হয়েছে এবং ডিস্কে সংরক্ষণ করা হয়েছে। আমরা ব্যবহার করতে পারি ls
ফাইলের বিশদটি যাচাই করতে। এটির এফটিপি সার্ভারে ফাইলের মতো একই নাম রয়েছে এবং এটি একই দৈর্ঘ্য 403 বাইট।
ls -hl readme.txt
সম্পর্কিত:কীভাবে লিনাক্সে এফটিপি কমান্ড ব্যবহার করবেন
রিমোট সার্ভারগুলিতে প্যারামিটারগুলি প্রেরণ করা হচ্ছে
কিছু দূরবর্তী সার্ভার তাদের কাছে প্রেরিত অনুরোধগুলির মধ্যে পরামিতিগুলি গ্রহণ করবে। ফিরে আসা ডেটা ফর্ম্যাট করতে প্যারামিটারগুলি ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, বা সেগুলি ব্যবহারকারী পুনরুদ্ধার করতে চান এমন সঠিক ডেটা নির্বাচন করতে ব্যবহৃত হতে পারে। ওয়েব অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (এপিআই) ব্যবহার করে প্রায়শই ইন্টারঅ্যাক্ট করা সম্ভব কার্ল
.
একটি সাধারণ উদাহরণ হিসাবে, আইপিফাই ওয়েবসাইটটিতে আপনার বাহ্যিক আইপি ঠিকানা নির্ধারণের জন্য একটি এপিআই অনুসন্ধান করা যেতে পারে।
কার্ল //api.ipify.org
যোগ করে বিন্যাস
কমান্ডের প্যারামিটার, "জসন" এর মান সহ আমরা আবার আমাদের বাহ্যিক আইপি ঠিকানার জন্য অনুরোধ করতে পারি, তবে এবার ফেরত তথ্য জেএসএন ফর্ম্যাটে এনকোড করা হবে।
কার্ল //api.ipify.org?format=json
গুগল এপিআই ব্যবহার করে এমন আরেকটি উদাহরণ এখানে। এটি কোনও জাসন বস্তুকে একটি বই বর্ণনা করে দেয়। আপনার যে প্যারামিটারটি সরবরাহ করতে হবে তা হ'ল একটি বইয়ের আন্তর্জাতিক স্ট্যান্ডার্ড বুক নম্বর (আইএসবিএন) নম্বর। এগুলি বেশিরভাগ বইয়ের পিছনের কভারে আপনি সাধারণত বারকোডের নীচে খুঁজে পেতে পারেন below আমরা এখানে যে প্যারামিটারটি ব্যবহার করব তা হ'ল "0131103628" ”
কার্ল //www.googleapis.com/books/v1/volume?q=isbn:0131103628
ফিরে আসা ডেটা ব্যাপক:
কখনও কার্ল, কখনও উইজেট
যদি আমি কোনও ওয়েবসাইট থেকে সামগ্রী ডাউনলোড করতে এবং ওয়েবসাইটের গাছ-কাঠামোটি সেই সামগ্রীর জন্য পুনরাবৃত্তভাবে অনুসন্ধান করতে চাই, তবে আমি ব্যবহার করব উইজেট
.
আমি যদি কোনও রিমোট সার্ভার বা এপিআইয়ের সাথে যোগাযোগ করতে এবং কিছু ফাইল বা ওয়েব পৃষ্ঠাগুলি ডাউনলোড করতে চাইতাম তবে আমি ব্যবহার করব কার্ল
। বিশেষত যদি প্রোটোকলটি সমর্থিত নয় এমন অনেকের মধ্যে একটি ছিল উইজেট
.