برای توسعهدهندگانی که عاشق CLI هستند و آنهایی که دوست ندارند، در اینجا ۹ ابزار خط فرمان وجود دارد که روزهای کاری شما را آسانتر میکنند و حتی ممکن است باعث شادی شوند.
بعضی از توسعه دهندگان از خط فرمان استفاده می کنند زیرا ما چاره ای نداریم. دیگران از آن استفاده می کنند زیرا ما آن را دوست داریم. در هر صورت، شما می دانید که هستید. چه عاشق CLI باشید و چه فقط برای کار از آن استفاده میکنید، در اینجا نه ابزار خط فرمان وجود دارد که به شما کمک میکند تا کارآمدتر شوید، چه در حین یا خارج از کار.
۹ ابزار CLI برای استفاده برای تجربه بهتر توسعه دهنده
tldr
ngrok
صفحه نمایش
sdkman
وnvm
fzf
exa
خفاش
نهاک
Tldr
من در اینجا در مورد آن جادوی عجیب پوسته یونیکس شعر نمی گویم. گاهی اوقات شما فقط باید کار را انجام دهید، و گاهی اوقات لازم است ابتدا دفترچه راهنما را بخوانید. به طور سنتی، اسناد یونیکس (صفحات انسانی یا کتابچه راهنمای کاربر) یک شمشیر دو لبه هستند: اطلاعات آنجاست، جایی. یافتن اسنادی که نیاز دارید در دریایی از جزئیات کار سختی است.
برای دریافت دفترچه راهنمای رسمی در خط فرمان، تایپ کنید:
$ man <command-name>
محدودیتهای صفحه man عبارتند از پرحرفی متراکم آن و اینکه گاهی اوقات اطلاعات فعلی برای ابزارهای جدیدتر ندارد. در عوض، میتوانید از tldr
استفاده کنید، یک برداشت مختصرتر و بهروزتر از دستور man
:
$ tldr <command-name>
درباره tldr بیشتر بیاموزید: https://tldr.sh.
اگر npm
را نصب کرده اید، یک راه آسان برای نصب tldr
این است:
npm install -g tldr
نگروک
هنگامی که tldr
را نصب کردید، می توانید از آن برای کاوش بسیاری از دستورات خوب دیگر استفاده کنید. در اینجا یک مورد خوب وجود دارد:
$ tldr ngrok
Reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service.
انگروک حیوان جالبی است زیرا هم یک شرکت انتفاعی و هم یک فرمان رایگان برای استفاده است- ابزار خط اما من هرگز جنبه تجاری را پیدا نکردم که با ابزار ngrok
تداخل داشته باشد.
Ngrok راهی بدون استرس برای دسترسی به ماشین توسعه از طریق یک مرورگر راه دور به شما ارائه می دهد. اما بیش از این کار را انجام می دهد.
من به طور مرتب از ngrok
برای توسعه در ابر و مشاهده نتایج در مرورگرم استفاده میکنم. همچنین یک راه ساده برای افشای سرویس در حال اجرا شما از طریق HTTPS بدون ایجاد هرگونه زیرساخت امنیتی ارائه می دهد. (مثلاً در حال ایجاد یک کارمند خدمات هستید و این کار به HTTPS نیاز دارد؛ اکنون فقط میتوانید ngrok
را بچرخانید و زمینه امن شما وجود دارد.)
به عنوان مثال، اجازه دهید پورت HTTP 8080 را در معرض دید جهانیان قرار دهیم:
$ ngrok http 8080
Ngrok موارد زیر را برمیگرداند:
https://f951-34-67-117-59.ngrok-free.app -> http://localhost:8080
اکنون، هر کسی میتواند به https://f951-34-67- برود ۱۱۷-۵۹.ngrok-free.app و ببینید چه چیزی آنجاست. (در حال حاضر چیزی در آنجا پیدا نخواهید کرد زیرا من این روند را متوقف کردم.)
Ngrok را نصب کنید: https://ngrok.com/download.
صفحه نمایش
آه بله، صفحه نمایش
. این ابزار خط فرمان بین سادگی محدود پسزمینه کردن یک فرآیند با bg
و قابلیتهای پیچیدهتر systemctl
قرار میگیرد. با screen
، میتوانید یک جلسه پوسته بگیرید و آن را با یا بدون یک فرآیند در حال اجرا کنار بگذارید، سپس آن را درست همانطور که آن را ترک کردید، برگردانید. اگر از جلسه ای که صفحه را ایجاد کرده است خارج شوید، پس از بازگشت همچنان آنجا خواهد بود.
$ tldr screen
Hold a session open on a remote server. Manage multiple windows with a single SSH connection.
فرض کنید داریم ngrok
را برای دسترسی به برنامه وب که از راه دور روی آن کار میکنیم راهاندازی میکنیم—یک مورد استفاده عالی برای ngrok
. میتوانیم فرآیند ngrok
را شروع کنیم، سپس آن را در screen
در حال اجرا رها کنیم و به انجام کدنویسی برویم. Ngrok همیشه به کار ادامه میدهد، و هر زمان که لازم باشد، میتوانیم به صفحه
مراجعه کنیم تا آدرس HTTPS را بررسی کنیم یا ngrok
را متوقف کنیم.
میتوانیم با انجام این کار این کار را انجام دهیم:
$ screen
// Now we are in a new session
$ ngrok http 8080
// Now ngrok is running, exposing http port 8080
Type ctrl-a
// Now we are in screen’s command mode
Type the “d” key, to “detach”.
// Now you are back in the shell that you started in, while screen is running your ngrok command in the background:
$ screen -list
There is a screen on:
۱۲۸۸۶۱.pts-0.dev3 (04/25/24 14:36:58) (Detached)
نکته
اگر میخواهید جلسهای را که در آن هستید نامگذاری کنید، Ctrl-a، :sessionname
را تایپ کنید. زمانی که صفحههای زیادی در حال اجرا هستید، این بسیار مفید است.
از آنجایی که فقط یک صفحه در حال اجراست، میتوانید $ screen -r
(برای پیوست کردن مجدد) تایپ کنید و به جلسه ngrok
خود باز میگردید.< /p>
وقتی چندین صفحه دارید، می توانید با تایپ $ screen -r
دوباره به آنها بپیوندید. برای مثال، $ screen -r 128861
.
اگر میخواهید جلسه خود را بکشید، میتوانید به آن بپیوندید، ngrok
را با Ctrl-c متوقف کنید و سپس exit
را تایپ کنید درخواست جدا کردن و کشتن جلسه.
کارهای بیشتری وجود دارد که می توانید با screen
انجام دهید. اسناد را در اینجا بررسی کنید: https://www.gnu.org/software/screen/ manual/screen.html.
Sdkman و nvm
اگر برنامه نویسی هستید که از Java یا JavaScript در سرور استفاده می کنید، باید با sdkman
آشنا شوید (برای جاوا) و nvm
(برای Node). هر دو ابزار برای دستکاری نسخههای مختلف زبان در یک دستگاه مفید هستند و به شما امکان میدهند تنظیم مسیر و متغیرهای محیط را حذف کنید.
من همیشه از sdkman
استفاده میکنم تا نسخههای جدیدتر جاوا را بررسی کنم و سپس به نسخه LTS فعلی برگردم. یک دستور sdk
این فرآیند را بدون دردسر می کند. اینجا sdk
است که تمام نصبهای جاوا موجود در دستگاه محلی من، از جمله موردی که در حال حاضر استفاده میشود را به من نشان میدهد:
درباره sdk
بیشتر بیاموزید: https://sdkman.io.
جابهجایی بین نسخهها ساده است: $ sdk use java 19-open
به من امکان میدهد یکباره JDK نسخه ۱۹ را باز کنم:
$ tldr sdk
Manage parallel versions of multiple Software Development Kits.
Supports Java, Groovy, Scala, Kotlin, Gradle, Maven, Vert.x and many others.
ابزار nvm
Node تقریباً یکسان عمل می کند:
$ tldr nvm
Install, uninstall or switch between Node.js versions.
Supports version numbers like "12.8" or "v16.13.1", and labels like "stable", "system", etc.
درباره nvm
بیشتر بیاموزید: https://github.com/nvm- sh/nvm.
Fzf
هر دو grep
و find
بخشهای استاندارد پالت خط فرمان هستند. اما پس از چندین دهه استفاده از آنها، من هنوز با جستجوی یک فایل روی دیسک درگیر هستم، اگر به هر نحوی پیچیده باشد. هیچ یک از ابزارها به اندازه ای که می تواند کاربردی نیست.
fzf
را وارد کنید – یک فایل یاب “فازی”. منظور ما از فازی این است که وقتی در جزئیات کمی مبهم هستید، در جستجوی آنچه نیاز دارید خوب است. این یک مثال است:
$ tldr fzf
Command-line fuzzy finder.
Similar to sk.
برای درک کامل آن باید fzf
را امتحان کنید. هنگامی که ابزار را در خط فرمان خود راه اندازی می کنید، بلافاصله به کار فهرست سازی سیستم فایل می پردازد. سپس شروع به ارائه پیشنهادات به شما می کند. هر چه تایپ کنید، با لیستی از بازدیدهای احتمالی باز می گردد. من به دنبال پروژه اخیری هستم که روی آن کار کردم:
درباره fzf
بیشتر بیاموزید: https://github.com/junegunn/fzf< /a>.
از بین ۸۷۸۹۳۷ امکان، fzf
۲۵ فایل و فهرستی را انتخاب کرد که ممکن است مطابق با نیازهای من باشد. و این کار را به سادگی انجام داد، بدون هیچ فینگلی.
Exa
این ابزار فهرستهای ls
خستهکننده شما را میگیرد و آنها را سرگرمکنندهتر و مفیدتر میکند:
$ tldr
A modern replacement for ls (List directory contents).
برای تجربه بهتر توسعهدهنده بدون هیچ هزینه ذهنی، فقط با نام مستعار ls
تا exa
. Exa به اکثر گزینههای استاندارد ls
احترام میگذارد، بنابراین برای مثال، exa -l
دقیقاً همانطور که انتظار دارید کار میکند.
درباره exa
بیشتر بیاموزید: https://the.exa.website/# نصب.
خفاش
کاربرد bat
مانند cat
است، فقط بهتر است:
$ tldr bat
Print and concatenate files.
A cat clone with syntax highlighting and Git integration.
این یکی دیگر از بهبودهای موجود (یا DX) است، شبیه به تکامل exa
در ls
.
هنگامی که از bat
استفاده میکنید، یک نمایشگر کامل فایل با عنوان، حاشیه، شماره خطوط و برجستهسازی نحو برای زبانهای برنامهنویسی و فایلهای پیکربندی – که برای کدنویسها مفید است، دریافت میکنید.
خفاش به دستورات کمتر/بیشتر پاسخ میدهد، بنابراین از «q
» برای خروج استفاده میشود. پیمایش با استفاده از کلیدهای جهت نما همانطور که انتظار دارید انجام می شود.
این یک ابزار ساده است که واقعاً تجربه مرور فایلها را در کنسول افزایش میدهد.
درباره خفاش بیشتر بیاموزید: https://github.com/sharkdp/bat.
Nethack
ما به مجموعه ای از ابزارهای عالی نگاه کرده ایم، برخی جدید و برخی قدیمی. یکی از کلاسیکهای باقیمانده که هر طرفدار CLI باید درباره آن بداند nethack
است.
این خزنده سیاهچال ASCII مبتنی بر کنسول اصلی است. این به شما کمک نمیکند مستقیماً بازدهی بیشتری داشته باشید، اما ممکن است به شما کمک کند چند دقیقه متوقف شوید و به ضمیر ناخودآگاه خود اجازه دهید روی مشکلاتی که با آن روبرو هستید کار کند.
بله، برداشتهای جدیدتری از این مدل وجود دارد، اما nethack
کلاسیک ابدی باقی میماند:
نحوه نصب nethack
: https://packages.debian. org/sid/nethack-console.
پست های مرتبط
۹ جواهر خط فرمان برای جعبه ابزار توسعه دهنده شما
۹ جواهر خط فرمان برای جعبه ابزار توسعه دهنده شما
۹ جواهر خط فرمان برای جعبه ابزار توسعه دهنده شما