1. Bash මූලික කරුණු
Bash Shell යනු කුමක්ද?
Bash (Bourne Again Shell) යනු Linux බෙදාහැරීම් වල සාමාන්යයෙන් භාවිතා වන කමාන්ඩ්-ලයින් අතුරුමුහුණතයි. මෙම සරල නමුත් බලවත් මෙවලම පරිශීලකයන්ට පද්ධතිය සමඟ අන්තර්ක්රියා කිරීමට වේදිකාවක් සපයයි, ගොනු මෙහෙයුම්, වැඩසටහන් ක්රියාත්මක කිරීම, සහ කාර්ය කළමනාකරණය වැනි අත්යවශ්ය කාර්යයන් සිදු කිරීමට ඉඩ සලසයි.
Bash හි වාසි
- බලවත් ස්ක්රිප්ට් ලේඛන හැකියාවන් : Bash භාවිතා කරුවන්ට ශෙල් ස්ක්රිප්ට් භාවිතයෙන් සංකීර්ණ කාර්යයන් ස්වයංක්රීය කිරීමට ඉඩ සලසයි.
- විශාල සහය : එය බොහෝ Unix-අධාරිත මෙහෙයුම් පද්ධති සහ Linux බෙදාහැරීම් වලින් සහය දක්වයි.
- ඉහළ අභිරුචිකරණය : භාවිතා කරුවන්ට අලියාස් සහ ශෙල් ක්රියාකාරකම් භාවිතයෙන් තම වැඩපිළිවෙළට අනුව පරිසරය අභිරුි කරගත හැක.
# Simple Bash command example
echo "Hello, World!"
2. 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

3. 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
4. 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."
cron රැකියා සමඟ ස්ක්රිප්ට් ස්වයංක්රීයව ධාවනය කිරීම
cron භාවිතයෙන්, ඔබට ඉහත උපස්ථාපන ස්ක්රිප්ට් එක දිනපතා පෙ.ව. 2 ට ධාවනය වීමට කාලසටහන් කළ හැක.
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 දෝෂය
ඔබ ක්රියාත්මක කිරීමට උත්සාහ කරන විධානය පද්ධතියේ ස්ථාපිත නොවීම හෝ මාර්ගය නිවැරදිව සකසා නොමැති වීම නිසා මෙම දෝෂය සිදුවේ.
command not found
- Solution: විධානය ස්ථාපිත වී ඇතිදැයි පරීක්ෂා කර
$PATHපරිසර විචල්යය නිවැරදිව සකසා ඇති බව තහවුරු කරන්න.
Permission Denied දෝෂය
ගොනුවක් හෝ නාමාවලියක් ප්රවේශය සඳහා අවශ්ය අවසර නොමැති වීම නිසා මෙම දෝෂය සිදුවේ.
Permission denied
- Solution: සුදුසු පරිශීලක ගිණුමක් සමඟ මෙහෙයුම ක්රියාත්මක කරන්න හෝ
chmodහෝchownවිධාන භාවිතා කර ගොනු අවසර වෙනස් කරන්න.
Syntax දෝෂය
ස්ක්රිප්ට් එකේ වැරදි වාක්ය රචනා (syntax) ඇති විට මෙම දෝෂය සිදුවේ.
syntax error: unexpected end of file
- Solution: ස්ක්රිප්ට් එක අවධනයෙන්රීක්ෂා කර සියලු syntax දෝෂ සකස් කරන්න.
File Not Found දෝෂය
නිර්දේශිත ගොනුව නොමැති වීම නිසා මෙම දෝෂය සිදුවේ.
No such file or directory
- Solution: ගොනු මාර්ගය නිවැරදිදැයි තහවුරු කර ගොනුව පවතින බව සහතික කරන්න.
ඩිබග් කිරීමේ මෙවලම් භාවිතය
Bash ස්ක්රිප්ට් ඩිබග් කිරීමට set -xාවිතා කරන්න; එය ක්රියාත්මක වන විට එක් එක්ධාේ පියවර පෙන්වයි, එමඟින් දෝෂ හඳුනා ගැනීම පහසු වේ.
set -x # Enable script debugging
6. උසස් Bash තාක්ෂණ
ක්රියාකාරකම් (Functions) සමඟ වැඩ කිරීම
Bash ස්ක්රිප්ට් වල ක්රියාකාරකම් කේතය මොඩියුලර් කර ගැනීමට සහ නැවත භාවිතා කිරීමට උපකාරී වේ.
#!/bin/bash
# Define a function
greet() {
echo "Hello, $1!"
}
# Call the function with an argument
greet "Alice"
පරිශීලක ආදානය (User Input) හසුරවීම
Bash ස්ක්රිප්ට් පරිශීලකයන් සමඟ අණ පේළියෙන් ආදානය ලබාගෙන අන්තර්ක්රියා කළ හැක.
#!/bin/bash
echo "Enter your name:"
read name
echo "Hello, $name!"
අරේ (Arrays) සමඟ වැඩ කිරීම
Bash අරේ (arrays) සහය දක්වයි, ඒ මඟින් එක් විචල්යයක බහු අගයන් ගබඩා කළ හැක.
#!/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
නියමිත ප්රකාශ ( Expressions) සහ 문자열 (String) සැකසීම
Bash ස්ක්රිප්ට් නියමිත ප්රකාශ (regular expressions) භාවිතා කර 문자열 (strings) සැකසීමට සහ රටා (patterns) ගැළපීමට හැක.
#!/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 පාලනය කරගැනීමෙන් ඔබට පද්ධති කාර්යයන් කාර්යක්ෂමව කළමනාකරණය සහ ස්වයංක්රීය කිරීමේ හැකියාව ලැබේ.
අතිරේක ඉගෙනුම
- ප්රොසෙස් ප්රතිස්ථාපනය (process substitution) සහ නාමිත නල (named pipes) වැනි උසස් ස්ක්රිප්ට් තාක්ෂණ අධ්යයනය කරන්න.
- Python වැනි අනෙකුත් වැඩසටහන් භාෂා සමඟ Bash එකතු කිරීම ගැන ඉගෙන ගන්න.
- ඔබේ ස්ක්රිප්ට් කුසලතා වැඩිදියුණු කිරීම සඳහා සැබෑ ලෝක ස්වයංක්රීය කාර්යයන් සමඟ පරීක්ෂා කරන්න.
ඔබේ Bash කුසලතා නිතරම වර්ධනය කරගෙන යාමෙන් ඔබට වඩා දක්ෂ පද්ධති පරිපාලකයෙකු හෝ සංවර්ධකයෙකු විය හැක.



![[Ubuntu හි YUM භාවිතා කරන ආකාරය] RPM පැකේජ කළමනාකරණ පියවර සහ විකල්ප](https://www.linux.digibeatrix.com/wp-content/uploads/2024/10/1e7a7b81049dbc1b46e2b26b9fa7bed7-375x375.webp)