خط فرمان ویندوز در طول سالها به طور چشمگیری پیشرفت کرده است. بهروزرسانیهای Windows Terminal مایکروسافت بهصورت ساکت آن را شگفتانگیز کردهاند، اما هنوز نسبت به شلهای مبتنی بر لینوکس عقب مانده است.
خط فرمان ویندوز در طول سالها بهطور قابلتوجهی بهبود یافته است. بهروزرسانیهای Windows Terminal مایکروسافت بهصورت بیصدا این را شگفتانگیز کردهاند، اما هنوز نسبت به شلهای مبتنی بر لینوکس عقبمانده است.
خبر خوب این است که یک شل سریع، بسیار قابلسفارشیسازی و آسان برای استفاده بر روی ویندوز وجود دارد که به شما امکان میدهد ترمینال خود را با تمام شکوه رنگ ۲۴‑بیتی تجربه کنید. و اگر بهطور مکرر از خط فرمان ویندوز استفاده کنید، ویژگیهای اضافهای که بهدست میآورید تفاوت بزرگی ایجاد خواهند کرد.
یک ترمینال که سرانجام احساس میکند برای انسانها ساخته شده است
Windows Terminal دیگر کافی نیست

Fish یک شل هوشمند خط فرمان برای لینوکس، macOS، ویندوز و BSD است. این شل از سایر شلها متمایز است چون از ابتدا برای تجربه کاربری طراحی شده است. برخلاف Bash که از سال ۱۹۸۹ وجود دارد و سازگاری را بالاترین اولویت میداند، یا Zsh که اگر به تنظیم فایلهای پیکربندی علاقه دارید امکانات سفارشیسازی فراوانی ارائه میدهد، Fish تمرکز خود را بر ارائه تجربه کاربری بسیار بهتر، صرفنظر از مهارت شما در استفاده از ترمینال، قرار داده است.
این شل بهصورت آزادانه از رنگها برای برجستهسازی سینتکس و تمایز میان دستورات و خروجیهای مختلف ترمینال استفاده میکند. حتی میتواند از تاریخچه دستورات شما یاد بگیرد و پیش از تایپ، دستورات را بهصورت خودکار پیشنهاد دهد. و اگر نیاز به تنظیم شل داشته باشید، یک رابط کاربری وب وجود دارد که به شما امکان میدهد تمها، رنگها، اعلانها و سایر ویژگیها را بدون ویرایش یک فایل پیکربندی تنظیم کنید.
ایده ساده است: نیازی نیست متخصص ترمینال باشید تا از یک شل قدرتمند و راحت برای چشمها لذت ببرید. Fish همچنین شامل ویژگیهای پیشرفتهای است که در غیر این صورت ساعتها طول میکشید تا آنها را در شلهای دیگر تنظیم کنید.
سس مخفی شل Fish
ویژگیهایی که در Windows Terminal دریافت نمیکنید

همانطور که انتظار میرود، تمام مجموعه ویژگیهای Fish حول ایجاد کار بیدردسر روزانه در ترمینال میچرخد. برخی برنامهها تغییر دهندههای بازی بهرهوری برای Windows Terminal هستند، اما Fish بهطور اساسی نحوه رفتار شل شما را تغییر میدهد.
همه رنگهای اضافی که در ترمینال میبینید به دلیلی هستند. میدانید، Fish از برجستهسازی سینتکس پشتیبانی میکند — ویژگیای که در بسیاری از ترمینالها پیدا نمیکنید. هنگام تایپ، Fish دستورات را با رنگهای مختلف نمایش میدهد. دستورات یک رنگ، در حالی که آرگومانها، خروجیها، نظرات، حتی دستورات نامعتبر و پیامهای خطا رنگ مخصوص خود را دارند.
این باعث میشود ترمینال راحتتر خوانده شود. اگر مدتهاست که از ترمینالها استفاده میکنید و ساعتها وقت خود را صرف جستجو برای یک خط متن در میان صدها خط متن سفید که ترمینال شما تولید میکرد، میکردید، خوشحال میشوید که این امکان وجود دارد. من شخصاً خوشحال شدم.
این تمها و رنگها میتوانند از طریق ابزار پیکربندی وب Fish سفارشی شوند. فرمان fish_console را در شل اجرا کنید و یک GUI در مرورگر شما باز میشود که میتوانید تقریباً همه چیز درباره Fish را سفارشی کنید. البته، مستندات Fish نیز فهرستی از دستورات را دارد اگر ترجیح میدهید بهجای آن از یک فایل پیکربندی استفاده کنید.

سپس پیشنهادهای خودکار وجود دارد. Fish از تاریخچه دستورات شما یاد میگیرد و سعی میکند پیشبینی کند چه چیزی میخواهید تایپ کنید. اگر مکرراً به یک پوشه یا فایل خاص مراجعه میکنید، شل بهصورت خودکار هنگام شروع تایپ آن را پیشنهاد میدهد. میتوانید با فشردن کلید جهت راست گزینه پیشنهادی را بپذیرید یا با Tab گزینههای دیگر را ببینید. این شاید بیاهمیت بهنظر برسد، اما اگر مکرراً مسیرها یا دستورات طولانی وارد میکنید، زمان قابلتوجهی را ذخیره میکند.
همچنین ویژگیهایی مانند پیمایش خودکار دایرکتوری وجود دارد که به شما اجازه میدهد به جای نوشتن «cd» ابتدا نام دایرکتوری را تایپ کنید. همچنین جستجوی تاریخچه تعاملی که به شما امکان میدهد برای پیدا کردن دستورات خاصی که پیشتر تایپ کردهاید، جستجو کنید.

پیمایش پوشهها و دایرکتوریها در خط فرمان ویندوز میتواند دردسرساز باشد. با این حال، Fish امکان پیمایش سریع دایرکتوریها را از طریق دایرکتوریهای بازدید شده با کلیدهای میانبر Alt + Right یا Alt + Left فراهم میکند که به شما اجازه میدهد بهسرعت در ساختار فایلها حرکت کنید.
اگر زیاد از مخففهای ترمینال استفاده میکنید، ویژگی مخففهای Fish میتواند بهصورت خودکار مخففها را هنگام تایپ گسترش دهد. در نهایت، قابلیت تجزیهوتحلیل تعاملی صفحههای man وجود دارد، به این معنی که وقتی گزینههای یک دستور را تایپ میکنید، Fish میتواند با جستجوی صفحهی man مربوطه به شما کمک کند تا آنها را تکمیل کنید.
آوردن دوستانهترین شل لینوکس به ویندوز
این سادهتر از آنچه فکر میکنید است
Fish یک شل یونیکس است، بنابراین بهصورت بومی بر روی ویندوز اجرا نمیشود. خوشبختانه، وبسایت Fish سه روش مختلف برای اجرای Fish بر روی ویندوز ارائه میدهد.
سادهترین گزینه استفاده از زیرسیستم ویندوز برای لینوکس (WSL) است. اطمینان حاصل کنید که WSL و Windows Terminal نصب شدهاند، سپس Fish را از طریق نصب WSL خود نصب کنید. پس از اتمام، میتوانید Fish را بهعنوان شل پیشفرض تنظیم کنید و تمام. همچنین میتوانید از MSYS2 استفاده کنید اگر محیط متفاوتی میخواهید، یا حتی Cygwin که هر دو اکنون از Fish پشتیبانی میکنند.

در نهایت، نکتهای وجود دارد که باید پیش از شروع بدانید. Fish مطابق با POSIX نیست. این به این معنی است که اسکریپتهای نوشتهشده برای Bash ممکن است مستقیماً در Fish کار نکنند.
این مشکلی نیست که در کار روزانهی ترمینال با آن مواجه شوید، و هر اسکریپتی که خط شِبَنگ مناسب داشته باشد، با شل مورد نظر اجرا میشود، صرفنظر از پیشفرض شما. با این حال، اگر اسکریپتهای شخصی زیادی بدون خط شِبَنگ مناسب بنویسید، ناسازگاری به این معناست که آنها بهطور مورد انتظار اجرا نمیشوند. حتی در این صورت، تفاوت نسبتاً جزئی است و میتوان اسکریپتها را بهراحتی برای اجرا بهصورت بومی در Fish اصلاح کرد.
زمان ارتقاء خط فرمان ویندوز
ایجاد حس مدرن برای توسعه ویندوز
اگر به شلی که بلافاصله بهخوبی کار میکند، بازخورد بصری هنگام تایپ را ارائه میدهد و از صرف ساعتها برای پیکربندی ترمینال خسته شدهاید، Fish ارزش امتحان را دارد. این شل بهویژه برای توسعهدهندگان یا مدیران سیستم مناسب است، اما اگر زمان قابلتوجهی را در پنجره ترمینال میگذرانید، بهراحتی بهرهمند خواهید شد.
نیاز به WSL در ویندوز و مشکلات سازگاری POSIX مشکلاتی هستند، اما راهحلها بهسادگی در دسترس و بهخوبی مستند شدهاند. احتمال کمی وجود دارد که واقعاً با هر یک از این موانع مواجه شوید. و اگر هم مواجه شوید، قبلاً میدانید کدام ترمینال برای نیازهای شما بهترین است.
ترمینال ویندوز شما نیازی به تبدیل به یک کار مزخرف ندارد. با Fish، میتواند بهطور واقعی چیزی باشد که مشتاقانه از آن استفاده میکنید.