~2 min read • Updated Jul 18, 2025
۱. محیط شل چیست؟
محیط شل لایهای دادهای است که بهصورت پایدار تنظیمات و اطلاعات زیر را نگه میدارد:
- متغیرهای محیطی: بین برنامهها و فرآیندها به اشتراک گذاشته میشوند
- متغیرهای شل: داخلی برای Bash هستند
- aliasها: میانبر برای دستورات رایج
- توابع شل: بلوکهایی از منطق سفارشی (در راهنمای اسکریپتنویسی توضیح داده میشود)
۲. دستورات کلیدی برای بررسی و مدیریت
| دستور | توضیح |
|---|---|
printenv | نمایش متغیرهای محیطی |
set | نمایش متغیرهای محیطی و داخلی |
export | دسترسپذیر کردن متغیر برای فرآیندهای فرزند |
alias | تعریف میانبرهای دستوری |
printenv PATH
set | less
alias
۳. متغیرهای محیطی رایج
| متغیر | توضیح |
|---|---|
USER | نام کاربری فعلی |
HOME | دایرکتوری خانگی کاربر |
PATH | مسیرهای اجرایی جداشده با : |
SHELL | مترجم شل (مثلاً /bin/bash) |
EDITOR | ویرایشگر ترجیحی |
TERM | نوع ترمینال |
DISPLAY | نمایش X (مثلاً :0) |
PS1 | رشتهٔ ظاهر prompt |
PWD | دایرکتوری فعلی |
TZ | تنظیمات منطقه زمانی |
۴. ساختار و رفتار فایلهای راهانداز
فایلهای راهانداز در هنگام login یا باز کردن ترمینال خوانده میشوند:
- شلهای login:
/etc/profile→ همهٔ کاربران؛ سپس یکی از~/.bash_profileیا~/.profile - شلهای غیر-login:
/etc/bash.bashrc→ سراسری؛~/.bashrc→ مخصوص کاربر
در اغلب توزیعها، .bashrc از داخل .bash_profile فراخوانی میشود:
# ~/.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export PATH=$PATH:$HOME/bin
۵. ویرایش امن محیط شل
با ویرایشگری مانند nano، vim یا gedit انجام دهید:
cp ~/.bashrc ~/.bashrc.bak # تهیه نسخهٔ پشتیبان
nano ~/.bashrc # شروع ویرایش
افزودنیهای مفید:
# افزایش اندازه تاریخچه
export HISTSIZE=1000
# نادیده گرفتن تکراریها
export HISTCONTROL=ignoredups
# aliasهای کاربردی
alias ll='ls -l --color=auto'
alias l.='ls -d .* --color=auto'
۶. اهمیت توضیحات و خوانایی
استفاده از # برای افزودن متن توضیحی بسیار مفید است:
# Alias سفارشی برای لیست دایرکتوریهای مخفی
alias l.='ls -d .* --color=auto'
توضیحات کمک میکنند تنظیمات را سریعتر درک یا فعال/غیرفعال کنیم.
۷. اعمال فوری تغییرات
برای بازتاب تغییرات بدون خروج از شل:
source ~/.bashrc
با دستورهایی مانند ll تنظیمات جدید را تست کنید.
نتیجهگیری
محیط شل ساختیافته باعث میشود لینوکس به محیط کاری شخصی، سریع و قدرتمند تبدیل شود. با درک فایلهای راهانداز، متغیرها، aliasها و ابزارهای خط فرمانی، میتوان بهرهوری را افزایش داد و کارهای تکراری را حذف کرد. چه مدیر سیستم باشید و چه تازهکار، شخصیسازی شل یک گام ارزشمند در مسیر تسلط بر لینوکس است.
Written & researched by Dr. Shahin Siami