معرفی و آموزش کامل Bash در لینوکس (Bourne Again Shell)

Bash یا Bourne Again Shell یکی از محبوبترین و پرکاربردترین پوستههای خط فرمان (Shell) در سیستمعاملهای لینوکس (Linux) و یونیکس (Unix) است. پوسته Bash به کاربران اجازه میدهد از طریق خط فرمان با سیستمعامل تعامل کنند، دستورات را اجرا نمایند و حتی فرآیندها را بهصورت خودکار انجام دهند.
این پوسته بهعنوان نسخهی پیشرفتهتر Bourne Shell (sh) توسعه داده شد و امروزه در اغلب توزیعهای لینوکس مانند Ubuntu، CentOS و Debian بهصورت پیشفرض نصب است.
در این مقاله از Orderhost، به معرفی کامل Bash، ویژگیهای آن و نحوه استفاده از Bash در لینوکس میپردازیم تا بتوانید با تسلط بر این ابزار، سرورهای خود را با کارایی بالاتر و کنترل دقیقتر مدیریت کنید.
Bash چیست و چه کاربردی دارد؟
Bash یک محیط تعاملی است که دستورات را از کاربر دریافت کرده و به هستهی سیستمعامل (Kernel) ارسال میکند تا اجرا شوند. اما قدرت واقعی Bash در اسکریپتنویسی (Bash Scripting) نهفته است. با نوشتن اسکریپتهای Bash، میتوانید چندین دستور را در یک فایل ذخیره کرده و کارهای تکراری یا پیچیده را بهصورت خودکار انجام دهید.
این قابلیت Bash را به یکی از ابزارهای اصلی مدیران سرور (Server Administrators) و توسعهدهندگان (Developers) در لینوکس تبدیل کرده است.
Bash مخفف Bourne Again Shell است و به عنوان جایگزینی برای Bourne Shell (sh) توسعه داده شد.
این پوسته در اغلب توزیعهای لینوکس مانند Ubuntu، Debian، CentOS و Fedora بهصورت پیشفرض نصب شده و نقش مهمی در اجرای دستورات سیستم دارد.
در محیط Bash میتوانید دستورات مختلفی مانند کپی، حذف، انتقال فایلها، و حتی اجرای برنامهها را از طریق ترمینال انجام دهید.
ویژگیها و مزایای Bash در لینوکس
پوسته Bash دارای مجموعهای از ویژگیهای قدرتمند است که آن را از سایر پوستهها متمایز میکند:
-
تکمیل خودکار دستورات (Auto Completion): با فشردن کلید Tab میتوانید نام دستورات، فایلها و مسیرها را بهصورت خودکار تکمیل کنید.
-
تاریخچه دستورات (Command History): با استفاده از کلیدهای جهتدار میتوانید به دستورات قبلی دسترسی پیدا کرده و مجدداً آنها را اجرا کنید.
-
پشتیبانی از اسکریپتنویسی: امکان نوشتن اسکریپتهای Bash برای انجام وظایف خودکار مانند پشتیبانگیری، مانیتورینگ یا نصب نرمافزارها.
-
استفاده از متغیرها: میتوانید مقادیر مختلفی مانند رشتهها، اعداد و مسیرها را در متغیرهای Bash ذخیره کنید.
-
کنترل جریان برنامه: Bash از ساختارهای شرطی و حلقهها مانند
if
،for
،while
وcase
پشتیبانی میکند. -
مدیریت ورودی و خروجی (I/O Redirection): با استفاده از Bash میتوانید خروجی دستورات را در فایل ذخیره کرده یا ورودیها را از فایل بخوانید.
نحوه استفاده از Bash در لینوکس
برای شروع کار با Bash، کافی است ترمینال (Terminal) را باز کنید. پس از اجرای آن، شما در محیط پوسته Bash قرار دارید و میتوانید دستورات مختلف را تایپ و اجرا کنید.
برای مثال، دستور زیر مسیر دایرکتوری فعلی را نمایش میدهد:
pwd
دستورات پایه در Bash
در ادامه چند دستور پرکاربرد Bash را میبینید که برای هر کاربر لینوکسی ضروری هستند:
دستور | توضیح |
---|---|
ls |
نمایش فایلها و پوشهها در مسیر جاری |
cd /path/to/directory |
تغییر مسیر دایرکتوری |
mkdir new_folder |
ایجاد پوشه جدید |
cp source_file destination_file |
کپی کردن فایل یا پوشه |
rm filename |
حذف فایل یا پوشه |
echo "Hello, World!" |
چاپ پیام در خروجی |
touch newfile.txt |
ساخت یک فایل خالی جدید |
man ls |
نمایش مستندات یک دستور |
متغیرها در Bash
در Bash میتوانید متغیرها را برای نگهداری دادهها تعریف کنید:
my_var="Hello, Bash"
echo $my_var
متغیرها در Bash نقش مهمی در اسکریپتنویسی دارند و برای ذخیره مسیرها، پیامها یا نتایج دستورات استفاده میشوند.
آموزش اسکریپتنویسی در Bash (Bash Scripting)
یکی از مهمترین بخشهای یادگیری Bash، نوشتن اسکریپت Bash است. برای شروع، یک فایل با پسوند .sh
ایجاد کنید:
touch my_script.sh
nano my_script.sh
سپس در ابتدای فایل بنویسید:
#!/bin/bash
echo "Hello, Bash World!"
سپس فایل را ذخیره کرده و با دستور زیر قابل اجرا کنید:
chmod +x my_script.sh
./my_script.sh
کنترل جریان در Bash
Bash از دستورات شرطی و حلقهها برای کنترل جریان برنامه پشتیبانی میکند.
مثال if در Bash:
#!/bin/bash
if [ $1 -gt 10 ]; then
echo "عدد وارد شده بزرگتر از 10 است"
else
echo "عدد وارد شده 10 یا کمتر است"
fi
مثال for در Bash:
#!/bin/bash
for i in 1 2 3 4 5; do
echo "عدد: $i"
done
مدیریت ورودی و خروجی در Bash
Bash به شما امکان میدهد تا ورودی و خروجی دستورات را به مسیرهای دلخواه هدایت کنید:
-
ذخیره خروجی در فایل:
echo "This is a test" > output.txt
-
افزودن خروجی به فایل موجود:
echo "New line" >> output.txt
-
دریافت ورودی از فایل:
wc -l < input.txt
نتیجهگیری
Bash یکی از پایهایترین و در عین حال قدرتمندترین ابزارهای مدیریت در لینوکس و یونیکس است. با یادگیری Bash میتوانید کارهای روزمره خود را سریعتر، دقیقتر و بهصورت خودکار انجام دهید.
از اجرای دستورات ساده تا نوشتن اسکریپتهای پیشرفته، Bash در قلب هر سیستم لینوکسی قرار دارد و دانستن آن برای هر مدیر سرور یا کاربر حرفهای لینوکس ضروری است.
اگر از خدمات هاست لینوکس یا سرور مجازی Orderhost استفاده میکنید، یادگیری Bash یکی از بهترین سرمایهگذاریهایی است که برای افزایش بهرهوری و کنترل حرفهای بر روی سرورتان انجام میدهید.