পাইথন লিনাক্স সিস্টেমে সিস্টেম অ্যাডমিনিস্ট্রেশনের কাজগুলি স্বয়ংক্রিয় করার জন্য একটি দুর্দান্ত প্রোগ্রামিং ভাষা। বিভিন্ন লাইব্রেরির বিস্তৃত নির্বাচনের সাথে, তাদের অনেকগুলি বিভিন্ন কাজের দক্ষতা উন্নত করতে ব্যবহার করা যেতে পারে। নীচের উদাহরণগুলি ব্যবহার করে, আপনি সহজেই লিনাক্স সিস্টেম কমান্ড চালাতে পারেন, ফাইল এবং ডিরেক্টরিগুলির সাথে কাজ করতে পারেন, নেটওয়ার্কিং কাজগুলি সম্পাদন করতে পারেন এবং মাত্র কয়েক সেকেন্ডের মধ্যে প্রমাণীকরণ প্রক্রিয়াগুলি স্বয়ংক্রিয় করতে পারেন৷
পাইথন কি?
পাইথনকে একটি সাধারণ-উদ্দেশ্য প্রোগ্রামিং ভাষা হিসাবে সর্বোত্তমভাবে বর্ণনা করা যেতে পারে। এটি 1980-এর দশকের শেষের দিকে এবং 1990-এর দশকের গোড়ার দিকে গুইডো ভ্যান রসাম নামে একজন ডাচ কম্পিউটার বিজ্ঞানী দ্বারা একটি গতিশীল-টাইপ করা প্রোগ্রামিং ভাষা এবং "ABC" প্রোগ্রামিং ভাষার উত্তরসূরি হিসাবে তৈরি করা হয়েছিল৷
ওয়েব ডেভেলপমেন্ট থেকে শুরু করে জটিল গণিত এবং বৈজ্ঞানিক গণনা পর্যন্ত ব্যবহারের ক্ষেত্রে এটিকে বর্তমানে বিশ্বের অন্যতম জনপ্রিয় প্রোগ্রামিং ভাষা হিসেবে বিবেচনা করা হয়। এটি এর মার্জিত সিনট্যাক্স এবং শিখতে তুলনামূলকভাবে সহজ হওয়ার জন্যও প্রশংসিত৷
লিনাক্সে পাইথন ইনস্টল করা হচ্ছে
অনেক লিনাক্স ডিস্ট্রিবিউশনে ডিফল্টরূপে পাইথন ইনস্টল করা আছে। আপনার সিস্টেমে Python 3 ইনস্টল করা আছে কিনা তা পরীক্ষা করতে, আপনি python3
চালাতে পারেন --version
সহ কমান্ড পতাকা:
python3 --version
পাইথন ইনস্টল করা থাকলে, কমান্ডটি আপনার পাইথন কনফিগারেশনের সংস্করণ প্রদর্শন করবে।
উবুন্টু এবং ডেবিয়ান সিস্টেমে পাইথন ইনস্টল করতে:
sudo apt আপডেট &&sudo apt upgrade -ysudo apt python3.10 ইনস্টল করুন
বিকল্পভাবে, পাইথনকে একটি “.tgz” বা “.xz” ফাইল হিসেবেও ডাউনলোড করা যেতে পারে।
"os" মডিউল ব্যবহার করা
লিনাক্স সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য সেরা পাইথন লাইব্রেরিগুলির মধ্যে একটি হল "OS" মডিউল। আপনি এটিকে বিভিন্ন ধরণের কাজের অটোমেশনের জন্য ব্যবহার করতে পারেন, যেমন ডিরেক্টরি এবং ফাইলগুলি পরিচালনা করা। এটি সিস্টেম কমান্ডও চালাতে পারে৷
উদাহরণ হিসেবে, আপনি একটি নতুন ডিরেক্টরি তৈরি করতে মডিউলটি ব্যবহার করতে পারেন:
#আমদানি করুন OS moduleimport os #Name of the new directorydir_name ="example" চেষ্টা করুন:#নতুন ডিরেক্টরি তৈরি করে os.mkdir(dir_name) #ফলাফল প্রিন্ট করে, যদি ডিরেক্টরিটি সফলভাবে প্রিন্ট(f"Directory'{) তৈরি করা হয় dir_name}' সফলভাবে তৈরি করা হয়েছেআপনি মডিউল ব্যবহার করে একটি ডিরেক্টরি মুছে ফেলতে পারেন:
#ইমপোর্ট করুন OS moduleimport os #deletdir_name করার জন্য ডিরেক্টরিটির নাম ="example" চেষ্টা করুন:#Deletes the Directory os.rmdir(dir_name) #ফলাফল প্রিন্ট করে, যদি ডিরেক্টরিটি সফলভাবে মুছে ফেলা হয় মুদ্রণ(f"Directory') {dir_name}' সফলভাবে মুছে ফেলা হয়েছেআপনি ফাইল এবং ডিরেক্টরির নাম পরিবর্তন করতে পারেন:
#ওএস মডিউল আমদানি করুন #ডাইরেক্টরির বর্তমান নাম বা ফাইলের বর্তমান নাম ="উদাহরণ" new_name ="example2.0" চেষ্টা করুন:# ডিরেক্টরি বা ফাইলের বিষয়বস্তুর নাম পরিবর্তন করুন =os.rename(current_name, new_name) # বিষয়বস্তু প্রিন্ট করে ডিরেক্টরি প্রিন্টের (f"ডিরেক্টরি/ফাইল '{current_name}' সফলভাবে '{new_name}'" এ নামকরণ করা হয়েছে) #ত্রুটির বার্তাটি মুদ্রণ করুন, যদি FileNotFoundError ব্যতীত ডিরেক্টরি বা ফাইলটি বিদ্যমান না থাকে:print(f"Directory/File '{current_name}' বিদ্যমান নেই")মডিউল ব্যবহার করে ফাইলগুলি সহজেই অপসারণযোগ্য:
#ইমপোর্ট করুন OS মডিউল import os # ফাইলটির নাম মুছে ফেলার জন্য ফাইলের নাম ="example.txt" চেষ্টা করুন:# ফাইলটি মুছে দিন os.remove(file_name) # ফলাফলটি মুদ্রণ করে, যদি ফাইলটি সফলভাবে মুছে ফেলা হয় প্রিন্ট(f") ফাইল '{file_name}' সফলভাবে মুছে ফেলা হয়েছেবর্তমান কার্যকারী ডিরেক্টরিটি সহজেই মুদ্রণযোগ্য:
#ওএস মডিউল আমদানি করুন OS চেষ্টা করুন:#বর্তমান কার্যরত ডিরেক্টরিটি পান প্রিন্ট ("একটি ত্রুটি ঘটেছে")একটি ডিরেক্টরির বিষয়বস্তু, যেমন ফাইল এবং সাবডিরেক্টরি, সহজেই চেক করা যায়:
#ওএস মডিউল আমদানি করুন OS #Directordir_name এর নাম ="example" চেষ্টা করুন:#Directory content এর বিষয়বস্তু পান =os.listdir(dir_name) #ডিরেক্টরি প্রিন্ট (সামগ্রী) এর বিষয়বস্তু মুদ্রণ করে #ত্রুটিটি মুদ্রণ করে , যদি FileNotFoundError ব্যতীত ডিরেক্টরিটি বিদ্যমান না থাকে:print(f"Directory '{dir_name}' বিদ্যমান নেই")বর্তমান ব্যবহারকারীকে প্রিন্ট করতে মডিউলটি ব্যবহার করুন:
#ওএস মডিউল আমদানি করুন import os চেষ্টা করুন:#বর্তমান ব্যবহারকারী ব্যবহারকারীর নাম পান =os.getlogin() #বর্তমান ব্যবহারকারীর নাম মুদ্রণ করে(ব্যবহারকারী) #একটি ত্রুটি বার্তা প্রিন্ট করে, যদি এটি ঘটে থাকে:প্রিন্ট ছাড়া ("একটি ত্রুটি ঘটেছে")এছাড়াও মডিউল ব্যবহার করে লিনাক্স শেল কমান্ড চালান:
#OS moduleimport os আমদানি করুন #runcommand করার শেল কমান্ড ="sudo apt update &&sudo apt upgrade -y" চেষ্টা করুন:# সিস্টেম কমান্ডের ফলাফল চালান =os.system(command) # কমান্ড প্রিন্টের ফলাফল প্রিন্ট করে (ফলাফল) #একটি ত্রুটির বার্তা প্রিন্ট করে, যদি একটি ত্রুটি ঘটে তবে তা ছাড়া:প্রিন্ট("একটি ত্রুটি ঘটেছে")“সকেট” মডিউল ব্যবহার করে নেটওয়ার্কিং কাজ সম্পাদন করা
পাইথনের একটি মডিউল রয়েছে যা বিভিন্ন নেটওয়ার্কিং কাজ সম্পাদন করতে এবং পোর্ট স্ক্যানার এবং ভিডিও গেম সার্ভারের মতো জটিল নেটওয়ার্কিং-সম্পর্কিত ইউটিলিটি তৈরি করতে তৈরি করা হয়েছে। এতে অবাক হওয়ার কিছু নেই যে "সকেট" মডিউলটি আপনার সিস্টেমে সাধারণ এবং মৌলিক নেটওয়ার্কিং কাজগুলি সম্পাদন করতেও ব্যবহার করা যেতে পারে৷
আপনি, উদাহরণস্বরূপ, আপনার সিস্টেমের আইপি ঠিকানা এবং হোস্টনাম চেক করতে পারেন:
#সকেট মডিউল ইমপোর্ট সকেট ইমপোর্ট করার চেষ্টা করুন:#হোস্টনেম হোস্ট পাওয়া =socket.gethostname() #হোস্টের IP ঠিকানা ip =socket.gethostbyname(হোস্ট) #প্রিন্ট করে আইপি ঠিকানা প্রিন্ট(f"আইপি ঠিকানা:{ip}") #হোস্টনাম প্রিন্ট করেআপনি একটি ওয়েবসাইটের আইপি ঠিকানা চেক করতে মডিউলটি ব্যবহার করতে পারেন:
#সকেট মডিউল আমদানি করুন সকেট চেষ্টা করুন:#ডোমেন চেক করতে হবে ডোমেইন ="duckduckgo.com" #ডোমেনের আইপি ঠিকানা পাওয়া ip =socket.gethostbyname(ডোমেন) #আইপি ঠিকানা মুদ্রণ (f"আইপি ঠিকানাটি প্রিন্ট করে) :{ip}") #একটি ত্রুটির বার্তা প্রিন্ট করে, যদি একটি ত্রুটি ঘটে তবে:প্রিন্ট("একটি ত্রুটি ঘটেছে")এসএসএইচ সার্ভারে লগ ইন করার জন্য প্যারামিকো ব্যবহার করা এবং কমান্ড চালানো হচ্ছে
আপনি যদি একটি SSH সার্ভার সেটআপে লগ ইন করার প্রক্রিয়াটিকে স্বয়ংক্রিয় করতে চান এবং সেখানে কমান্ডগুলি চালাতে চান, তাহলে একটি "Paramiko" পাইথন লাইব্রেরি অত্যন্ত কার্যকর হবে৷
প্রথমে পাইথনের
pip3
ব্যবহার করে লাইব্রেরিটি ডাউনলোড করুন প্যাকেজ ম্যানেজার:pip3 প্যারামিকো ইনস্টল করুনএকটি SSH সার্ভারে লগ ইন করতে এবং কমান্ড চালাতে মডিউলটি ব্যবহার করুন:
#Paramiko library importing paramiko #IP এবং credentialsip নির্দিষ্ট করা ='127.0.0.1'port =22user ='example'password ='example' কমান্ড ="uname -a" চেষ্টা করুন:#Paramiko ক্লায়েন্ট ssh =paramiko শুরু করুন .SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #SSH সার্ভারের সাথে সংযোগ করা হচ্ছে ssh.connect(ip, port, user, password) # সিস্টেমে একটি কমান্ড চালানো হচ্ছে stdin, stdout, stderr =ssh.exec_command(command) ) #প্রিন্ট কমান্ডের ফলাফল প্রিন্ট করেপ্রায়শই জিজ্ঞাসিত প্রশ্ন
1. এই মডিউল এবং লাইব্রেরিগুলি ব্যবহার করার জন্য আমার কি পাইথন 3 দরকার?
যদিও এই লাইব্রেরি এবং মডিউলগুলির বেশিরভাগই পাইথন 2 এর সাথে কাজ করে, সিনট্যাক্সে একটি পার্থক্য রয়েছে এবং এই কোড স্নিপেটগুলি চলবে না। কিছু পরিবর্তনের সাথে, আপনি সেগুলিকে Python 2-এ চালানোর জন্য মানিয়ে নিতে পারেন। যাইহোক, Python 2 পুরানো, তাই আপনার Python 3 ব্যবহার করা উচিত।
2. আমার কি “os” এবং “সকেট” মডিউল ইনস্টল করতে হবে?
সাধারণত, না. পাইথনের বেশিরভাগ ইনস্টলেশন সরাসরি বাক্সের বাইরে এই মডিউলগুলির সাথে আসে৷
3. আমি কি অ-ইউনিক্স সিস্টেমে লগ ইন করতে প্যারামিকো ব্যবহার করতে পারি?
প্যারামিকোর বিকাশকারীর মতে, এই সময়ে লাইব্রেরিটি SSH-এর সাথে নন-ইউনিক্স সিস্টেমে লগ ইন করতে ব্যবহার করা যাবে না।