شل پیش‌فرض لینوکس معمولاً Bash است، اما اگر به امکانات بیشتری برای کار با ترمینال نیاز دارید، می‌توانید از Zsh استفاده کنید. این شل قابلیت‌های مختلفی برای تکمیل خودکار دستورها و شخصی‌سازی محیط ترمینال دارد.

با نصب Oh My Zsh می‌توانید تنظیمات Zsh را راحت‌تر مدیریت کنید و با اضافه کردن افزونه‌ها، امکاناتی مانند پیشنهاد دستورها و رنگ‌بندی دستورات را به ترمینال اضافه کنید.

مشاهده شل‌های موجود در لینوکس

برای مشاهده فهرست شل‌های قابل استفاده در سیستم، دستور زیر را اجرا کنید:

cat /etc/shells

این دستور مسیر شل‌های ثبت‌شده در فایل /etc/shells را نمایش می‌دهد. برای مثال، ممکن است خروجی شامل مسیرهای زیر باشد:

/bin/sh
/bin/bash
/bin/zsh

اگر مسیر /bin/zsh در فهرست وجود داشته باشد، می‌توانید از آن برای تغییر شل پیش‌فرض استفاده کنید؛ البته باید مطمئن شوید که Zsh روی سیستم نصب شده است.

تغییر شل پیش‌فرض

برای تغییر شل پیش‌فرض کاربر، از دستور chsh استفاده کنید. این دستور امکان انتخاب شل موردنظر را فراهم می‌کند.

تغییر شل کاربر فعلی

برای انتخاب Bash به‌عنوان شل پیش‌فرض کاربر فعلی، دستور زیر را اجرا کنید:

chsh -s /bin/bash

اگر می‌خواهید Zsh را به‌عنوان شل پیش‌فرض انتخاب کنید، دستور زیر را اجرا کنید:

chsh -s /bin/zsh

مسیر واردشده باید با مسیر واقعی شل نصب‌شده روی سیستم مطابقت داشته باشد. ممکن است برای اعمال تغییرات به وارد کردن رمز عبور نیاز داشته باشید. شل جدید معمولاً پس از خروج از نشست فعلی و ورود دوباره فعال می‌شود.

تغییر شل پیش‌فرض یک کاربر مشخص

اگر می‌خواهید شل پیش‌فرض کاربر دیگری را تغییر دهید، نام کاربر را به دستور اضافه کنید:

sudo chsh -s /bin/bash username

برای مثال، اگر بخواهید شل پیش‌فرض کاربری با نام ali را به Zsh تغییر دهید، دستور به شکل زیر خواهد بود:

sudo chsh -s /bin/zsh ali

در این مثال، username باید با نام کاربر موردنظر جایگزین شود. همچنین، برای تغییر شل کاربران دیگر معمولاً به دسترسی مدیریتی نیاز دارید.

انتخاب شل به‌صورت تعاملی

اگر می‌خواهید شل پیش‌فرض را بدون مشخص کردن مسیر آن در دستور انتخاب کنید، کافی است دستور زیر را اجرا کنید:

chsh

سپس رمز عبور خود را وارد کنید و در صورت درخواست، مسیر شل جدید را مشخص کنید.

نصب Oh My Zsh

Oh My Zsh ابزاری برای مدیریت تنظیمات Zsh است که امکان استفاده از قالب‌ها و افزونه‌های مختلف را فراهم می‌کند. با کمک آن می‌توانید محیط ترمینال را مطابق نیاز خود تغییر دهید.

پیش از نصب، مطمئن شوید که Zsh و ابزار موردنیاز برای دانلود اسکریپت نصب، مانند curl یا wget، روی سیستم وجود دارند.

نصب با curl

برای نصب Oh My Zsh با استفاده از curl، دستور زیر را اجرا کنید:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

این دستور اسکریپت نصب را دریافت و اجرا می‌کند. در طول فرایند نصب، ممکن است از شما درباره تغییر شل پیش‌فرض سؤال شود.

نصب با wget

اگر curl روی سیستم شما نصب نیست، می‌توانید از wget استفاده کنید:

sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

هر دو دستور برای اجرای اسکریپت نصب Oh My Zsh استفاده می‌شوند؛ بنابراین نیازی نیست هر دو روش را اجرا کنید.

نکته: این دستورها اسکریپت دریافت‌شده از اینترنت را اجرا می‌کنند. اگر می‌خواهید پیش از نصب از محتوای آن مطمئن شوید، ابتدا اسکریپت را دانلود کنید و آن را بررسی کنید.

نصب افزونه‌های Zsh

یکی از مزیت‌های Zsh، امکان اضافه کردن افزونه‌هایی است که کار با ترمینال را راحت‌تر می‌کنند. دو افزونه کاربردی در این زمینه، zsh-autosuggestions و zsh-syntax-highlighting هستند.

نصب افزونه Zsh Autosuggestions

افزونه zsh-autosuggestions هنگام تایپ دستور، بر اساس سابقه دستورات شما پیشنهادهایی نمایش می‌دهد. با استفاده از این افزونه، می‌توانید دستورهای قبلی را سریع‌تر وارد کنید.

برای نصب آن، دستور زیر را اجرا کنید:

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

این دستور فایل‌های افزونه را در پوشه مخصوص افزونه‌های سفارشی Oh My Zsh قرار می‌دهد.

نصب افزونه Zsh Syntax Highlighting

افزونه zsh-syntax-highlighting بخش‌های مختلف دستورهای واردشده را با رنگ‌های متفاوت نمایش می‌دهد. این قابلیت کمک می‌کند دستورها را راحت‌تر بررسی کنید و برخی اشتباهات تایپی را پیش از اجرا تشخیص دهید.

برای نصب افزونه، دستور زیر را اجرا کنید:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

برای اجرای این دستورها باید Git روی سیستم نصب شده باشد.

فعال‌سازی افزونه‌ها

پس از نصب افزونه‌ها، فایل تنظیمات Zsh را باز کنید:

nano ~/.zshrc

سپس خط مربوط به plugins را پیدا کنید و آن را به شکل زیر تغییر دهید:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

در این مثال، افزونه‌های Git، پیشنهاد خودکار دستورها و رنگ‌بندی دستورات فعال می‌شوند. اگر از قبل افزونه‌های دیگری در این فهرست دارید، می‌توانید نام آن‌ها را نیز نگه دارید.

فایل را ذخیره کنید و برای اعمال تغییرات، دستور زیر را اجرا کنید:

source ~/.zshrc

اکنون افزونه‌ها بارگذاری می‌شوند و می‌توانید از قابلیت‌های آن‌ها در ترمینال استفاده کنید.

شخصی‌سازی ظاهر ترمینال

Zsh امکان تغییر ظاهر خط فرمان را نیز فراهم می‌کند. برای تغییر تنظیمات، فایل ~/.zshrc را باز کنید:

nano ~/.zshrc

در این فایل می‌توانید متغیر PROMPT را تغییر دهید تا اطلاعاتی مانند نام کاربر و نام سیستم در خط فرمان نمایش داده شوند.

برای مثال، می‌توانید از تنظیم زیر استفاده کنید:

PROMPT='%F{cyan}%n@%m %F{blue}%~%f %# '

در این تنظیم:

  • %n نام کاربر را نمایش می‌دهد.
  • %m نام میزبان سیستم را نمایش می‌دهد.
  • %~ مسیر فعلی را نشان می‌دهد.
  • %F{cyan} رنگ متن را به فیروزه‌ای تغییر می‌دهد.
  • %F{blue} رنگ متن را به آبی تغییر می‌دهد.
  • %f رنگ متن را به حالت پیش‌فرض برمی‌گرداند.
  • %# علامت خط فرمان را نمایش می‌دهد؛ این علامت بسته به نوع کاربر می‌تواند متفاوت باشد.

پس از ذخیره فایل، تغییرات را با دستور زیر اعمال کنید:

source ~/.zshrc

با این کار، ظاهر خط فرمان بر اساس تنظیمات جدید نمایش داده می‌شود.