وقتی در ترمینال دستوراتی رو که وارد میکنید توسط یک مفسری اجرا شده که به اون شل (Shell) گفته میشود، شل دستورات شما رو خوانده و اجرا کرده و حاصل و خروجی اون رو به شما نشون میده
زبان هسته (kernel) سیستم عامل صفر و یک می باشد، در حقیقت ما به کمک شِل با هسته سیستم عامل صحبت میکنیم و به آن دستور میدهیم. در واقع شِل مترجم ما می باشد که یک دستور ( command ) قابل فهم برای ما را به هسته سیستم عامل می دهد تا هسته عملیات مورد نیازمان را انجام دهد. در تعریفی دقیق تر به برنامه ای که از طریق دستورات خطی می توان به امکانات سیستم عامل دسترسی داشت و از آنها استفاده کرد شِل می گویند
هرکدام از این شِل ها ویژگی های خاص خود را دارند و برای نیازهای مختلفی تهیه و طراحی شده اند،شل BASH پوسته پیش فرض اکثر سیستم عامل ها می باشد. Bash شِل محبوبی است که با جستجو در اینترنت می توانید تاریخچه و اطلاعات زیادی رو در مورد آن بدست بیاورید.
ZSH چیست؟
Z-Shell یا ZSH یک پوسته برای شِل های موجود بر روی سیستم های یونیکسی است که تعامل بین ما و شل را ممکن می سازد و وضیفه ترجمه و تفسیر شِل اسکریپت ها را نیز بر عهده دارد. این پوسته در سال ۱۹۹۰ میلادی برای اولین بار توسط فردی به اسم Paul Falstad ارائه شد. ZSH را با زبان C نوشته و توسعه داده اند.
این پوسته با امکان هر چه مدرن تر شدن شِل شما، این امکان را به شما می دهد تا آن را شخصی سازی کنید. تمام تنظیمات ZSH در فایلی به اسم .zshrc قرار دارد که دستوراتی بسیار ساده و قابل فهم دارد.
ZSH به شما کمک می کند تا command هایتان را با سرعت و دقت بیشتری بر روی شل بنویسید .این پوسته تمامی دستورات مورد استفاده شما را نیز جداگانه و به اختیارتان ذخیره می سازد.
در هنگام اجرای دستورانی مانند cd و یا ls که قرار هست با لیست دایرکتوری ها کار کنیم دیگر لازم نیست نام کل فولدر یا فایل را بنویسید، کافیست یک یا چند حروف اول آن را تا زمان یونیک و یکتا شدن نوشته و با زدن Tab همه آن را تکمیل کنید.و در هنگام اجرای دستورات دایرکتوری ها با زدن کلید TAB بین فایل ها و فولدر ها جا به جا شوید و یکی را انتخاب کنیم.
این پوسته قابلیت غلط یابی دستورات شما را نیز دارد و هر جا مشکلی بود به شما درستش را نشان می دهد و یا خودکار تصحیحش می کند.
این پوسته قابلیت قرار دادن توضیحات در مورد ساعت ، محل استقرار خط فرمان و نمایش نام کاربر و خود کامپیوتر را در خود دارد.
این پوسته دارای Theme ها و ظواهر آماده نیز هست که آن ها را نیز به راحتی می توان شخصی سازی کرد . معروف ترین آن ها Oh My Zsh است که به شدت توانسته با امکانات و ظواهر زیبا خیلی از کاربران را با خود ZSH آشنا کند.
Oh My Zsh دقیقاً چیزی است که من را مجاب کرده تا از خود ZSH استفاده کنم و در این مقاله بعد از نصب ZSH به نصب آن نیز می پردازیم .
نصب ZSH Shell:
ZSH، در مخزن رسمی بستههای Ubuntu موجود است. بنابراین، نصب آن بسیار آسان است. ترمینال را باز کرده و لیست بستههای را با دستور زیر به روز کنید:
sudo apt update
دستور زیر را وارد کنید و کلید y را زده تا شل ZSH نصب شود:
sudo apt install zsh
پوسته ZSH نصب شد.
دستور زیر را وارد کنید تا از نصب و درستی کار مطمئن شوید:
zsh --version
پس از وارد کردن این دستور مانند شکل زیر اطلاعات ZSH نصب شده روی سیتم را برای شما نمایش میدهد
تنظیم ZSH به عنوان پیشفرض:
پس از نصب باید ZSH را به عنوان پیش فرض تنظیم کنیم تا هر بار برای استفاده از ترمینال ZSH را اجرا کند در غیر این صورت ترمینال پیشفرض سیستم عامل یعنی BASH اجرا میشود
ابتدا باید با دستور زیر، مسیر پوسته ZSH را به دست آورید:
whereis zsh
همانطور که در تصویر زیر مشاهده میکنید، پوسته ZSH در مسیر usr/bin/zsh/ قرار دارد.
اکنون با دستور زیر، ZSH را بهعنوان پوسته پیشفرض هنگام ورود به سیستم تنظیم نمایید:
sudo usermod -s /usr/bin/zsh $(whoami)
کامپیوتر خود را ریستارد کنید، همچنین میتوانید با دستور زیر در ترمینال سیستم را راه اندازی مجدد کنید :
sudo reboot
بعد از روشن شدن کامپیوتر ترمینال را باز کنید،پیام زیر را مشاهده نمودید،در این حالت، کلید شماره ۲ را فشار دهید.
ZSH، یک فایل پیکربندی zshrc./~ جدید را با تنظیمات پیش فرض ایجاد میکند. مانند تصویر زیر آماده استفاده از ZSH خواهید بود.
فونتهای Powerline برای ZSH:
Powerline، یک افزونه نوار وضعیت برای پوسته ZSH است. فونت Powerline، به پوسته ZSH اجازه میدهد تا از آیکونها و نمادهای مختلف روی پوسته استفاده کند.
فونتهای Powerline در مخزن رسمی بستههای Ubuntu موجود است. بنابراین، برای نصب آن کافی است، دستور زیر را اجرا نمایید:
sudo apt install powerline fonts-powerline
همانطور که در شکل زیر مشاهده میکنید، فونت Powerline نصب شد.
قالب ZSH Powerlevel9k:
Powerlevel9k، یک قالب بسیار جذاب Powerline برای ZSH است که در مخزن رسمی بستههای Ubuntu 18.04 LTS موجود است. دستور زیر را میتوانید، برای نصب قالب Powerlevel9k ZSH در Ubuntu وارد کنید:
sudo apt install zsh-theme-powerlevel9k
همانطور که در عکس زیر قابل مشاهده است، قالب Powerlevel9k ZSH نصب شد.
دستور زیر را وارد کنید تا قالب Powerlevel9k ZSH فعال شود:
echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc
اکنون اگر یک ترمینال جدید باز کنید، همانند تصویر زیر ترمینال شما تغییر میکند.
برجستگی دستورات در ZSH :
افزونه برجستهسازی دستورات را میتوانید از مخزن رسمی Ubuntu نصب نمایید. همانطور که از نام آن مشخص است، افزونه برجستهسازی دستورات در پوسته ZSH، دستورات را برجسته میکند. برای نصب افزونه برجستهسازی دستورات ZSH، دستور زیر را اجرا نمایید:
sudo apt install zsh-syntax-highlighting
اکنون، افزونه برجستهسازی دستورات نصب شد.
دستور زیر را اجرا کنید؛ تا این افزونه فعال شود:
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
اکنون، اگر یک ترمینال جدید باز کرده و شروع به تایپ کردن دستورات نمایید؛ مطابق شکل زیر مشاهده خواهید کرد که دستورات با رنگهای مختلف برجسته میشوند.
نصب و یکپارچهسازی ZSH و Git با Oh-My-ZSH:
oh-my-zsh، این پکیج یک فریمورک برای تنظیمات بر روی zsh میباشد که پلاگین های بسیاری در رابطه با rails, git, OSX, hub, capistrano, brew, ant, php, python و…با بیش از ۱۴۰ قالب برای zsh. میباشد
ZSH، یک چارچوب کامل Oh-My-ZSH بهمنظور کار با سیستم کنترل نسخه Git دارد. برای کسب اطلاعات بیشتر در مورد Oh-My-ZSH، به صفحه رسمی GitHub نگاهی بیندازید.
در این بخش، نحوه نصب Git و Oh-My-ZSH و ادغام Git با پوسته ZSH برای شما شرح داده شده است. Git، بهطور پیشفرض در Ubuntu 18.04 LTS نصب نشده است. اما در مخزن رسمی بستههای Ubuntu 18.04 LTS موجود است.
برای نصب Git روی Ubuntu میتوانید، دستور زیر را اجرا کنید:
sudo apt install git
همانطور که در شکل زیر میبینید، Git نصب شده است.
اکنون که Git نصب شده است، باید Oh-My-ZSH را نصب کنیم. برای این کار، یکی از روش های زیر را ادامه دهید
روش اول:
یکی از این سه دستور را وارد کنید:
curl:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget:
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch:
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
روش دوم:
اگر با روش اول نتوانستید میتوانید این دستورات را به ردیف وارد کنید:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.zshrc ~/.zshrc.orig
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
Oh-My-ZSH نیز نصب شد. Oh-My-ZSH، فایل پیکربندی zshrc./~ را تغییر میدهد. این بدان معناست که، قالب Powerlevel9k و افزونه برجستهسازی دستورات ZSH غیرفعال شده است.
بدین منظور،اگر میخواهید قالب Powerlevel9k، دوباره فعال شود دستور زیر را اجرا نمایید: یا میتوانید از قالبهای oh my zsh که در پایین تر همین آموزش به آن میپردازیم استفاده کنید لازم به استفاده از این دستور نیست
echo "source /usr/share/powerlevel9k/powerlevel9k.zsh-theme" >> ~/.zshrc
و برای فعال کردن افزونه برجستهسازی دستورات ZSH نیز دستور زیر را اجرا کنید:
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
اکنون، اگر یک ترمینال جدیدی را باز کنید، قالب و افزونه باید فعال شده باشد.
در این مرحله، برای آزمایش اینکه آیا یکپارچهسازی Git کار میکند، باید یک دایرکتوری جدید ایجاد کرده و با دستور زیر به آن دایرکتوری بروید:
mkdir git-test && cd git-test
سپس با دستور زیر، یک مخزن جدید Git را راهاندازی نمایید:
git init
همانطور که از تصویر زیر مشاهده میکنید، به محض راهاندازی یک مخزن جدید Git، ترمینال سریع تغییر کرده و شاخه Git کنونی را نشان میدهد که در اینجا شاخه master است.
تغییر قالب Oh-My-ZSH:
Oh-My-ZSH، قالبهای زیادی دارد که از قبل نصب شدهاند. برای یافتن قالبهای مورد نظر خود به این سایت مراجعه نمایید. وقالب مورد نظر را انتخاب و طبق آموزش قالب را تغییر دهید.
اگر قالب Powerlevel9K را فعال کرده اید ابتدا باید این قالب، از فایل zshrc./~ غیرفعال نمایید.
برای این کار ، ابتدا فایل zshrc./~ را با دستور زیر باز کنید،
nano ~/.zshrc
سپس برای غیرفعال کردن قالب Powerlevel9k، خط نشان داده شده در شکل زیر را با استفاده از علامت # کامنت کنید.
اکنون، متغیر محیط ZSH_THEME را بر روی نام قالبی که دوست دارید، تنظیم نمایید:
در آخر، Ctrl+X را کلیک کرده و سپس y را فشار دهید و پس از آن <Enter> را کلیک نمایید؛ تا فایل ذخیره شود.
اکنون، اگر یک ترمینال جدید باز کنید، قالب شما باید تغییر کرده باشد.
فعالسازی پلاگینهای Oh-My-ZSH:
Oh-My-ZSH، افزونههای بسیاری دارد. لیست افزونههای از قبل نصب شده را میتوانید در این سایت بیابید.
در این بخش میخواهیم، افزونه colored-man-pages را نصب کنیم. این افزونه، به پنجرههای لینوکس رنگ اضافه میکند.
بدین منظور، ابتدا در این سایت، نام افزونه را یادداشت نمایید.
سپس فایل zshrc./~ را با دستور زیر ویرایش کنید:
nano ~/.zshrc
اکنون، خط مربوط به متغیر افزونهها را پیدا کرده و نام افزونه را داخل پرانتز (همانطور که در تصویر زیر مشخص شده است) اضافه نمایید.
plugins=( git colored-man-pages )
اکنون Ctrl+X را کلیک کرده و سپس y را فشار دهید و پس از آن <Enter> را کلیک نمایید؛ تا فایل ذخیره شود.
اکنون، اگر یک ترمینال جدید باز کرده و به صفحه man از هر دستور Linux بروید، باید رنگهای اضافه شده به صفحه man را مشاهده نمایید.
man ls
اگر میخواهید از طریق گرافکی قالب را تغییر و پلاگین ها را فعال کنید میتوانید از طریق فایل منیجر به درایو Home رفته گزینه Show hidden file را فعال کنید تا فایل های مخفی نمایش داده شود،فایل .zshrc را پیدا کرده و با استفاده از یک ویرایش گر این فایل را طبق آموزش ویرایش و ذخیره کنید.
این صفحه رو ذخیره کردم واقعا آموزش ساده و روانی هست بدون مشکل و راحت تونستم ترمینالم رو جذاب تر کنم
gooooooooooooooooooooood