১. Bash এর মৌলিক বিষয়
Bash শেল কী?
Bash (Bourne Again Shell) হল লিনাক্স ডিস্ট্রিবিউশনগুলিতে সবচেয়ে বেশি ব্যবহৃত কমান্ড-লাইন ইন্টারফেস। এই সহজ কিন্তু শক্তিশালী টুলটি ব্যবহারকারীদের সিস্টেমের সঙ্গে যোগাযোগের একটি প্ল্যাটফর্ম প্রদান করে, যা ফাইল অপারেশন, প্রোগ্রাম এক্সিকিউশন এবং টাস্ক ম্যানেজমেন্টের মতো গুরুত্বপূর্ণ কাজগুলি সম্পাদন করতে সক্ষম করে।
Bash এর সুবিধাসমূহ
- শক্তিশালী স্ক্রিপ্টিং ক্ষমতা : Bash ব্যবহারকারীদের শেল স্ক্রিপ্ট ব্যবহার করে জটিল কাজগুলো স্বয়ংক্রিয় করতে সক্ষম করে।
- ব্যাপক সমর্থন : এটি অধিকাংশ ইউনিক্স-ভিত্তিক অপারেটিং সিস্টেম এবং লিনাক্স ডিস্ট্রিবিউশন দ্বারা সমর্থিত।
- উচ্চ কাস্টমাইজেবিলিটি : ব্যবহারকারীরা এলিয়াস এবং শেল ফাংশন ব্যবহার করে তাদের কর্মপ্রবাহ অনুযায়ী পরিবেশ কাস্টমাইজ করতে পারেন।
# Simple Bash command example
echo "Hello, World!"
২. Bash এর মৌলিক কমান্ডসমূহ
ফাইল অপারেশন
নিচে Bash-এ সবচেয়ে বেশি ব্যবহৃত ফাইল অপারেশন কমান্ডগুলোর কিছু দেওয়া হল।
ls: একটি ডিরেক্টরির বিষয়বস্তু তালিকাভুক্ত করে।cd: ডিরেক্টরি পরিবর্তন করে।cp: ফাইল বা ডিরেক্টরি কপি করে।mv: ফাইল সরিয়ে দেয় বা নাম পরিবর্তন করে।rm: ফাইল মুছে দেয়।
# Display detailed contents of a directory
ls -l
# Move to the home directory
cd ~
# Copy a file
cp source.txt destination.txt
# Move a file
mv old_name.txt new_name.txt
# Delete a file
rm unwanted_file.txt
সিস্টেম তথ্য এবং প্রক্রিয়া ব্যবস্থাপনা
সিস্টেম তথ্য পরীক্ষা করা এবং প্রক্রিয়াগুলি পরিচালনা করা ও গুরুত্বপূর্ণ কাজ।
ps: সক্রিয় প্রক্রিয়াগুলি প্রদর্শন করে।top: প্রক্রিয়াগুলোর রিয়েল-টাইম তালিকা এবং সিস্টেমের সামগ্রিক দৃশ্য দেখায়।kill: একটি প্রক্রিয়া শেষ করার জন্য সিগন্যাল পাঠায়।
# Display active processes
ps aux
# Show system overview and process list
top
# Terminate process with ID 1234
kill 1234

৩. Bash স্ক্রিপ্ট লেখা
মৌলিক স্ক্রিপ্ট কাঠামো
একটি Bash স্ক্রিপ্ট হল একাধিক কমান্ড ধারণকারী একটি ফাইল। স্ক্রিপ্ট তৈরি করে আপনি অপারেশনের একটি সিরিজ স্বয়ংক্রিয় এবং চালাতে পারেন।
#!/bin/bash
# This line is called a shebang and specifies the shell interpreter for the script.
echo "Hello, World!" # Displays a string using the echo command
ভেরিয়েবল ব্যবহার
স্ক্রিপ্টের মধ্যে ডেটা সংরক্ষণ এবং পুনরায় ব্যবহার করার জন্য ভেরিয়েবল ব্যবহার করা যায়।
#!/bin/bash
message="Hello, Bash Scripting!"
echo $message
শর্তযুক্ত বিবৃতি এবং লুপ
শর্তযুক্ত বিবৃতি এবং লুপ জটিল লজিক এবং পুনরাবৃত্ত কাজগুলি পরিচালনা করতে সহায়তা করে।
#!/bin/bash
# Example of an if statement
if [ $1 -gt 100 ]
then
echo "The number is greater than 100."
else
echo "The number is 100 or less."
fi
# Example of a for loop
for i in 1 2 3 4 5
do
echo "Looping ... number $i"
done
৪. Bash দিয়ে কাজ স্বয়ংক্রিয় করা
কাজ স্বয়ংক্রিয়তার সারসংক্ষেপ
Bash স্ক্রিপ্ট ব্যবহার করে আপনি সিস্টেম ব্যাকআপ, ডেটা সিঙ্ক্রোনাইজেশন এবং রিপোর্ট জেনারেশন মতো রুটিন কাজগুলি দক্ষতার সঙ্গে স্বয়ংক্রিয় করতে পারেন, যা সিস্টেম প্রশাসনের জন্য প্রয়োজনীয় প্রচেষ্টা কমিয়ে দেয়।
স্বয়ংক্রিয় ব্যাকআপ স্ক্রিপ্ট
দৈনিক ডেটা সুরক্ষার জন্য, নিম্নলিখিত স্ক্রিপ্টটি নির্দিষ্ট ডিরেক্টরিটি নিয়মিতভাবে ব্যাকআপ করে।
#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
DATE=$(date +%Y%m%d)
# Create the backup directory if it doesn't exist
if [ ! -d "$DST_DIR" ]; then
mkdir -p "$DST_DIR"
fi
# Compress and back up the directory contents
tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .
echo "Backup completed successfully."
ক্রন জব ব্যবহার করে স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে চালানো
ক্রন ব্যবহার করে, আপনি উপরের ব্যাকআপ স্ক্রিপ্টটি প্রতিদিন সকাল ২ টায় চালানোর জন্য সময়সূচি নির্ধারণ করতে পারেন।
0 2 * * * /path/to/backup.sh
ত্রুটি হ্যান্ডলিং এবং নোটিফিকেশন
ব্যাকআপ প্রক্রিয়ার সময় ত্রুটি হ্যান্ডল করার জন্য, ত্রুটি সনাক্তকরণ যোগ করুন এবং সমস্যার উদ্ভব হলে প্রশাসককে নোটিফিকেশন পাঠান।
#!/bin/bash
SRC_DIR="/home/user/documents"
DST_DIR="/backup/documents"
LOG_FILE="/var/log/backup.log"
DATE=$(date +%Y%m%d)
if [ ! -d "$DST_DIR" ]; then
mkdir -p "$DST_DIR"
fi
if tar -czf "$DST_DIR/backup_$DATE.tar.gz" -C "$SRC_DIR" .; then
echo "Backup successful on $DATE" >> $LOG_FILE
else
echo "Backup failed on $DATE" | mail -s "Backup Failure" admin@example.com
fi

5. সমস্যার সমাধান এবং সাধারণ ত্রুটি
Bash ত্রুটি বোঝা এবং পরিচালনা করা
Bash স্ক্রিপ্ট চালানোর সময় ত্রুটি দেখা সাধারণ বিষয়। এই বিভাগে কিছু সাধারণ ত্রুটি এবং সেগুলি কীভাবে সমাধান করা যায় তা ব্যাখ্যা করা হয়েছে।
কমান্ড না পাওয়া ত্রুটি
আপনি যে কমান্ডটি চালাতে চাইছেন তা সিস্টেমে ইনস্টল না থাকলে অথবা পাথ সঠিকভাবে সেট না থাকলে এই ত্রুটি ঘটে।
command not found
- সমাধান: কমান্ডটি ইনস্টল আছে কিনা পরীক্ষা করুন এবং
$PATHপরিবেশ ভেরিয়েবলটি সঠিকভাবে সেট করা আছে কিনা নিশ্চিত করুন।
অনুমতি অস্বীকৃত ত্রুটি
ফাইল বা ডিরেক্টরিতে প্রবেশের জন্য প্রয়োজনীয় অনুমতি না থাকলে এই ত্রুটি ঘটে।
Permission denied
- সমাধান: উপযুক্ত ব্যবহারকারী অ্যাকাউন্ট দিয়ে অপারেশনটি চালান অথবা
chmodবাchownকমান্ড ব্যবহার করে ফাইলের অনুমতি পরিবর্তন করুন।
সিনট্যাক্স ত্রুটি
স্ক্রিপ্টে ভুল সিনট্যাক্স থাকলে এই ত্রুটি ঘটে।
syntax error: unexpected end of file
- সমাধান: স্ক্রিপ্টটি মনোযোগ দিয়ে পর্যালোচনা করুন এবং যেকোনো সিনট্যাক্স ত্রুটি ঠিক করুন।
ফাইল না পাওয়া ত্রুটি
নির্দিষ্ট ফাইলটি না থাকলে এই ত্রুটি ঘটে।
No such file or directory
- সমাধান: ফাইলের পাথ সঠিক কিনা যাচাই করুন এবং ফাইলটি আছে কিনা নিশ্চিত করুন।
ডিবাগিং টুল ব্যবহার করা
Bash স্ক্রিপ্ট ডিবাগ করতে set -x ব্যবহার করুন, যা প্রতিটি কমান্ডের ধাপ কার্যকর হওয়ার সঙ্গে সঙ্গে দেখায়, ফলে ত্রুটি সনাক্ত করা সহজ হয়।
set -x # Enable script debugging
6. উন্নত Bash কৌশল
ফাংশন ব্যবহার করা
Bash স্ক্রিপ্টে ফাংশন কোডকে মডুলার করতে এবং পুনরায় ব্যবহারযোগ্য করতে সাহায্য করে।
#!/bin/bash
# Define a function
greet() {
echo "Hello, $1!"
}
# Call the function with an argument
greet "Alice"
ব্যবহারকারীর ইনপুট পরিচালনা
Bash স্ক্রিপ্ট কমান্ড লাইন থেকে ইনপুট গ্রহণ করে ব্যবহারকারীর সঙ্গে যোগাযোগ করতে পারে।
#!/bin/bash
echo "Enter your name:"
read name
echo "Hello, $name!"
অ্যারে ব্যবহার করা
Bash অ্যারে সমর্থন করে, যা একক ভেরিয়েবলে একাধিক মান সংরক্ষণ করতে দেয়।
#!/bin/bash
fruits=("Apple" "Banana" "Cherry")
# Accessing elements
echo "First fruit: ${fruits[0]}"
# Looping through an array
for fruit in "${fruits[@]}"; do
echo "Fruit: $fruit"
done
রেগুলার এক্সপ্রেশন এবং স্ট্রিং ম্যানিপুলেশন
Bash স্ক্রিপ্ট রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিং ম্যানিপুলেট এবং প্যাটার্ন মেলাতে পারে।
#!/bin/bash
text="Bash scripting is fun!"
# Extract a substring
echo "${text:0:4}" # Output: Bash
# Replace a word
echo "${text//fun/exciting}" # Output: Bash scripting is exciting!
7. উপসংহার
সারসংক্ষেপ
এই গাইডে মৌলিক Bash কমান্ড থেকে স্ক্রিপ্টিং, অটোমেশন এবং সমস্যার সমাধান পর্যন্ত সবকিছু কভার করা হয়েছে। Bash-এ পারদর্শী হয়ে আপনি সিস্টেমের কাজগুলো দক্ষতার সঙ্গে পরিচালনা ও অটোমেট করতে পারবেন।
অধিক শিখন
- প্রক্রিয়া প্রতিস্থাপন এবং নামযুক্ত পাইপের মতো উন্নত স্ক্রিপ্টিং কৌশলগুলি অন্বেষণ করুন।
- Python-এর মতো অন্যান্য প্রোগ্রামিং ভাষার সঙ্গে Bash একীভূত করা সম্পর্কে শিখুন।
- বাস্তব জগতের অটোমেশন কাজের সঙ্গে পরীক্ষা-নিরীক্ষা করে আপনার স্ক্রিপ্টিং দক্ষতা বাড়ান।
আপনার Bash দক্ষতা ক্রমাগত উন্নত করে আপনি আরও দক্ষ সিস্টেম অ্যাডমিনিস্ট্রেটর বা ডেভেলপার হতে পারবেন।



![[কিভাবে Ubuntu-তে YUM ব্যবহার করবেন] RPM প্যাকেজ ম্যানেজমেন্টের ধাপ এবং বিকল্পসমূহ](https://www.linux.digibeatrix.com/wp-content/uploads/2024/10/1e7a7b81049dbc1b46e2b26b9fa7bed7-375x375.webp)