কমান্ড লাইন থেকে রিমোট ফাইল ডাউনলোড করতে cURL ব্যবহার করে

সুচিপত্র:

Anonim

শক্তিশালী কার্ল কমান্ড লাইন টুলটি প্রায় যেকোনো রিমোট সার্ভার থেকে ফাইল ডাউনলোড করতে ব্যবহার করা যেতে পারে। দীর্ঘকালীন কমান্ড লাইন ব্যবহারকারীরা জানেন যে এটি বিভিন্ন পরিস্থিতিতে উপযোগী হতে পারে, তবে জিনিসগুলি সহজ রাখতে, অনেকেই দেখতে পাবেন যে কার্ল সহ একটি ফাইল ডাউনলোড করা প্রায়শই GUI পাশ থেকে একটি ওয়েব ব্রাউজার বা FTP ক্লায়েন্ট ব্যবহার করার দ্রুত বিকল্প হতে পারে। ম্যাক ওএস এক্স (বা লিনাক্স)।এটি স্থানীয় পরিস্থিতির জন্য সহায়ক, তবে আপনি যদি এমন পরিস্থিতিতে থাকেন যেখানে SSH এর মাধ্যমে সংযুক্ত থাকাকালীন আপনাকে দূরবর্তী ম্যাকে কিছু ডাউনলোড করতে হবে তবে এর বিশেষ মূল্য রয়েছে৷

এই ওয়াকথ্রুটির উদ্দেশ্যে, আমরা সাধারণত দুটি HTTP এবং SFTP প্রোটোকল থেকে ফাইল ডাউনলোড করার উপর ফোকাস করব, যদিও এটি উল্লেখ করা উচিত যে cURL আরও অনেক প্রোটোকল সমর্থন করে। যদিও কার্ল ব্যবহার করা সহজ, কমান্ড লাইন সম্পর্কে কিছু জ্ঞান থাকা বাঞ্ছনীয়৷

কার্ল দিয়ে হুবহু ম্যাচ ফাইল ডাউনলোড করুন -O

বড় হাতের -O ফ্ল্যাগ ব্যবহার করে কার্লটি সঠিক ফাইলের নাম বজায় রেখে রিমোট সার্ভার থেকে ফাইল ডাউনলোড করে, এর জন্য মৌলিক সিনট্যাক্স নিম্নরূপ:

curl -O

এর মানে যদি নির্দিষ্ট ইউআরএল ফাইলটির নাম হয় "sample.zip" এটি ফাইলের নাম "sample.zip" দিয়ে ডাউনলোড হবে, এবং যদি ফাইলটির নাম দেওয়া হয় বিশাল এবং জটিল কিছু যেমন "LongExampleFileNameForOSXDaily-v- 1-3-51-রিভিশন-515b12-রিডমি।txt” রিমোট সার্ভারে, এটি স্থানীয় মেশিনে সেই সঠিক নাম দিয়ে সংরক্ষণ করবে। দীর্ঘ ফাইলের নামগুলি প্রায়ই -O-এর পরিবর্তে -o পতাকার সাথে ভালভাবে পরিচালনা করা হয়, যা আমরা শীঘ্রই সম্বোধন করব।

নিয়মিত পাঠকরা মনে করতে পারেন যে আমরা একটি m3u স্ট্রিমিং ফাইল থেকে প্রকৃত অডিও বিষয়বস্তু কীভাবে বের করতে হয় তা ব্যাখ্যা করার সময় কার্ল -O কমান্ড ব্যবহার করেছি৷

কার্ল দিয়ে যেকোনো ডাউনলোড শুরু করলে ট্রান্সফার করা শতাংশ, ডাউনলোড করার সময় ব্যয় করা এবং বাকি সময় এবং ট্রান্সফারের গতি দেখায়।

স্ক্রিনশটটি নীচে পেস্ট করা উদাহরণের চেয়ে একটি ভাল উপস্থাপনা অফার করে, তবে এটি দেখতে এরকম কিছু:

% মোট % প্রাপ্ত % Xferd গড় গতির সময় সময় বর্তমান ডোলোড আপলোড মোট ব্যয় করা বাম গতি 100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- ---:--:-- 142k

স্থানান্তর গতি দেখানোর সাথে আপনি কার্ল এর আউটপুটকে /dev/null এ রিডাইরেক্ট করতে পারেন এবং ইন্টারনেট সংযোগের গতি পরীক্ষা করতে এটি ব্যবহার করতে পারেন, তবে wget কমান্ডটি ট্রান্সফার বার পড়া এবং অনুসরণ করা সহজ তাই wget ভাল সেই কাজের জন্য উপযুক্ত।

curl -o দিয়ে একটি ভিন্ন নামে একটি দূরবর্তী ফাইল সংরক্ষণ করা হচ্ছে

ছোট হাতের -o পতাকা ব্যবহার করলে আপনি ডাউনলোড করা ফাইলের জন্য রিমোট সার্ভারে নামকরণের চেয়ে আলাদা ফাইলের নাম উল্লেখ করতে পারবেন। এটি দীর্ঘ ফাইলের নাম কমাতে বা কিছু লেবেল করতে সহায়ক হতে পারে যাতে এটি আপনার নিজের থেকে খুঁজে পাওয়া সহজ হয়। সাধারণ সিনট্যাক্স হবে:

curl -o

উদাহরণস্বরূপ, যদি আপনি একটি iOS IPSW ফাইল সংরক্ষণ করতে চান যা আপনি দীর্ঘ পূর্ণ নাম ছাড়াই Apple সার্ভারে তালিকাভুক্ত পেয়েছেন, তাহলে আপনি নিম্নলিখিতগুলি ব্যবহার করতে পারেন:

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

এটি "iPhone5, 3_7.0.4_11B554a_Restore.ipsw" ফাইলটি ডাউনলোড করবে তবে আরও অর্থবহ "iPhone5C-704.ipsw" হিসাবে সংক্ষিপ্ত নামকরণ করা হবে৷

আপনি যদি বর্তমান ওয়ার্কিং ডিরেক্টরিতে ফাইলটি সংরক্ষণ না করতে চান, তাহলে ফাইলের নামের অংশ হিসাবে একটি পাথ নির্দিষ্ট করুন:

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

কার্ল দিয়ে একসাথে একাধিক ফাইল ডাউনলোড করা হচ্ছে

cURL সহজে একই সময়ে একাধিক ফাইল ডাউনলোড করতে পারে, আপনাকে যা করতে হবে তা হল একাধিক ইউআরএল উল্লেখ করুন যেমন:

curl -O

বিভিন্ন নামের ফাইলের জন্য, বা বিভিন্ন সার্ভারে হোস্ট করা, বা বিভিন্ন ডিরেক্টরি পাথের মধ্যে, সম্পূর্ণ URL ব্যবহার করুন, উদাহরণস্বরূপ:

curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/ লাইসেন্স/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt

অন্যদিকে, ডাউনলোড করা ফাইলের নামগুলি যদি ক্রমবর্ধমান নামকরণ ব্যবহার করে, আপনি একটি ডাউনলোড পরিসীমা নির্দিষ্ট করতে বন্ধনী ব্যবহার করতে পারেন, যেমন:

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

এটি প্রতিটি অনন্য URL নির্দিষ্ট না করেই একই সময়ে fdl-1.1.txt, fd1-1.2.txt এবং fd1-1.3.txt ফাইলগুলি দখল করবে৷ অবশ্যই এটি শুধুমাত্র তখনই কাজ করে যখন ফাইলগুলি একই ডিরেক্টরিতে এবং একই ডোমেনে থাকে৷

কার্ল দিয়ে প্রমাণীকরণ করা হচ্ছে

আপনি -u পতাকা ব্যবহার করেও কার্ল দিয়ে প্রমাণীকরণ পাস করতে পারেন:

curl -u ব্যবহারকারী:pass -O ftp://remote_url/file-to-download.zip

মনে রাখবেন যে ব্যাশ ইতিহাস -u ব্যবহার করার সময় একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড নির্দিষ্ট করে পাসওয়ার্ড সংরক্ষণ করবে, তাই বেশিরভাগ পরিস্থিতিতে এটি সুপারিশ করা হয় না। আপনি 'কার্ল'-এর সামনে একটি স্থান রেখে এটির কাছাকাছি যেতে পারেন।আপনি যদি কমান্ডের উপসর্গের জন্য স্পেসবার ব্যবহার না করেন, তাহলে আপনি সম্ভবত পরবর্তীতে নিরাপদ থাকার জন্য কমান্ডের ইতিহাস খালি করতে চাইবেন।

HTTP এবং FTP এর বাইরে সমর্থিত কার্ল প্রোটোকল এবং ব্যবহার

আগেই উল্লিখিত হিসাবে, কার্ল ব্যবহার HTTP এবং FTP এর থেকে অনেক বেশি, কারণ কার্ল ম্যানুয়াল পৃষ্ঠা এন্ট্রি বিবরণে অতিরিক্ত প্রোটোকল উল্লেখ করে:

অতিরিক্ত, আপনি দেখতে পাবেন যে কার্লটি PUT এবং POST অনুরোধ, কুকিজ, প্রক্সি, টানেল, সারসংকলন ডাউনলোড এবং এমনকি HTTP হেডারের তথ্য দখল বা ব্যবহারকারীর এজেন্ট পরিবর্তন করার জন্যও ব্যবহার করা যেতে পারে (কার্যকরভাবে স্পুফিং) একটি ডেডিকেটেড ওয়েব ব্রাউজার ব্যবহার করার প্রয়োজন ছাড়া।

অধিকাংশ কমান্ড লাইন ইউটিলিটির মতো, আপনি ‘ম্যান কার্ল’ কমান্ডের সাথে উপযুক্ত ম্যান পৃষ্ঠাটি তলব করে কার্ল সম্পর্কে আরও অনেক কিছু জানতে পারবেন।

কমান্ড লাইন থেকে রিমোট ফাইল ডাউনলোড করতে cURL ব্যবহার করে