~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