ما به عنوان توسعه دهندگان ، زمان زیادی را در پایانه های خود می گذرانیم. و تعداد زیادی ابزار عالی CLI/TUI وجود دارد که می تواند بهره وری ما را تقویت کند (و همچنین برخی از آنها فقط استفاده از آن سرگرم کننده هستند). از مدیریت مخازن GIT و پیمایش سیستم های فایل گرفته تا نظارت بر عملکرد سیستم و حتی بازی های یکپارچهسازی با سیستمعامل ، خط فرمان یک محیط قدرتمند و همه کاره را ارائه می دهد.

در این مقاله ، مجموعه ای از ابزارهای CLI / TUI را که به طور گسترده در جامعه توسعه دهنده پذیرفته شده است ، می پردازیم و دسته های مختلفی از جمله کنترل نسخه ، برنامه های کاربردی سیستم ، ویرایشگران متن و موارد دیگر را شامل می شویم. من می خواستم انتخاب متنوعی را به شما ارائه دهم که نیازهای مختلف و گردش کار را برآورده کند.

برای هر ابزار ، من یک مرور کلی ، برجسته کردن ویژگی های اصلی آن و موارد استفاده از موارد ، همراه با دستورالعمل های نصب واضح و مختصر برای سیستم عامل های مختلف ، اطمینان می دهم که می توانید با این ارزشمند به سرعت برخیزید و اجرا کنید. command-line همراهان

فهرست مطالب

  • ابزارهای Kubernetes

  • Container ابزار

  • ابزارهای پرونده و متنی

  • ابزارهای گیت

  • ابزارهای توسعه

  • ابزارهای شبکه سازی

  • ابزار ایستگاه کاری

ابزارهای Kubernetes

k9s – Kubernetes CLI برای مدیریت خوشه های خود به سبک

K9S ابزاری ضروری برای هر کسی است که با Kubernetes کار می کند. بصری آن terminalUI مبتنی بر UI ، قابلیت های نظارت بر زمان واقعی و گزینه های فرمان قدرتمند ، آن را به عنوان اصلی در دنیای ابزارهای مدیریت Kubernetes تبدیل می کند.

پروژه K9S برای تماشای مداوم خوشه Kubernetes برای تغییرات و ارائه دستورات بعدی برای تعامل با منابع مشاهده شده طراحی شده است. این امر باعث می شود مدیریت برنامه ها ، به ویژه در یک محیط پیچیده و چند خوشه ، آسانتر شود. هدف این پروژه این است که مدیریت Kubernetes را در دسترس تر و کمتر دلهره آور قرار دهد ، به خصوص برای کسانی که متخصص Kubernetes نیستند.

فقط K9s را در خود راه اندازی کنید terminal و با سهولت کاوش در منابع Kubernetes را شروع کنید.

رابط K9S

برای نصب K9S:

# via Homebrew for macOS
brew install derailed/k9s/k9s

# via snap for Linux
snap install k9s --devmode

# via Chocolatey for Windows
choco install k9s

# via go install
go install github.com/derailed/k9s@latest

kectectx – جابجایی بین زمینه ها (خوشه ها) روی Kubectl سریعتر.

Kectectx محبوب ترین ابزار برای تعویض زمینه های Kubernetes است ، اما کمترین ویژگی ها را دارد! این همه زمینه های موجود در پیکربندی Kubernetes را به عنوان یک لیست قابل انتخاب نشان می دهد و به شما امکان می دهد یکی را انتخاب کنید. همین است!

این پروژه دارای 2 ابزار است:

  • kectectx ابزاری است که به شما کمک می کند بین زمینه ها جابجا شوید (خوشه ها) روی Kubectl سریعتر.

  • کابل ابزاری برای جابجایی بین مکانهای نام Kubernetes (و پیکربندی آنها برای Kubectl) به راحتی است.

اگر روزانه با بسیاری از آنها کار می کنید ، جابجایی بین خوشه های Kubernetes و مکانهای نام را بسیار آسان می کند. در اینجا می توانید آن را در عمل مشاهده کنید:

0*G442WF-CXW-Z1DKQ

برای نصب kubectx:

# via Homebrew for macOS
brew install kubectx

# via apt for Debian
sudo apt install kubectx

# via pacman for Arch Linux
sudo pacman -S kubectx

# via Chocolatey for Windows
choco install kubens kubectx

کابسپه – سکوی امنیتی Kubernetes برای IDE ، خطوط لوله CI/CD و خوشه های شما.

امیدوارم امنیت خوشه های Kubernetes خود را جدی بگیرید. اگر چنین است ، کابسپه اگر خوشه Kubernetes شما با توجه به چارچوب های متعدد مستقر شود ، برای آزمایش بسیار عالی است.

Kubescape می تواند خوشه ها ، پرونده های YAML و نمودارهای کلاه ایمنی را اسکن کرده و با توجه به منابع متعدد ، غلط های نادرست را تشخیص دهد.

من معمولاً از آن در CI/CD خود استفاده می کنم تا هنگام تغییر مانیفست های Kubernetes یا الگوهای کلاه ایمنی ، به طور خودکار آسیب پذیری ها را اسکن کنم.

اسکن Kubescape

برای نصب Kubescape:

# via Homebrew for macOS
brew install kubescape

# via apt for Debian
sudo add-apt-repository ppa:kubescape/kubescape
sudo apt update
sudo apt install kubescape

# via Chocolatey for Windows
choco install kubescape

Container ابزار

CTOP -یک رابط عالی مانند container معیارها

CTOP در واقع نسخه بهتری از docker statsبشر این یک نمای کلی مختصر و متراکم از معیارهای زمان واقعی برای چندین ظروف ارائه می دهد. این همراه با پشتیبانی داخلی برای Docker و Runc و اتصالات برای سایر موارد ارائه می شود container و سیستم های خوشه ای برای نسخه های آینده برنامه ریزی شده است.

پیشنهاد می‌کنیم بخوانید:  یادگیری پایتون برای علم داده – Hands-روی پروژه هایی با EDA، AB تست و هوش تجاری

استفاده از CTOP ساده است. پس از باز کردن ابزار ، تمام ظروف فعال خود را در حال حاضر ذکر کرده اید.

CTOP در عمل

برای نصب CTOP:

# via Homebrew for macOS
brew install ctop

# via pacman for Arch Linux
sudo pacman -S ctop

# via scoop for Windows
scoop install ctop

تنبل – یک ساده terminal UI برای هر دو Docker و Docker-Compose.

در حالی که داکر است command-line رابط قدرتمند است ، گاهی اوقات ممکن است شما یک رویکرد بصری تر و بدون سرپرستی یک رابط کاربری گرافیکی کامل بخواهید. این امر به ویژه هنگام مدیریت ظروف داکر صادق است روی یک سرور لینوکس بدون سر که در آن نصب یک رابط کاربری گرافیکی مبتنی بر وب ممکن است نامطلوب باشد.

Lazydocker توسط جسی دافیلد ایجاد شده است تا به مدیریت ظروف داکر کمی ساده تر شود. به عبارت ساده ، Lazydocker یک است terminal UI (نوشته شده در Golang) برای دستورات Docker و Docker-Compose.

Lazydocker در عمل

برای نصب Lazydocker:

# via Homebrew for macOS
brew install lazydocker

# via Chocolatey for Windows
choco install lazydocker

# via go install
go install github.com/jesseduffield/lazydocker@latest

غواصی کردن – ابزاری برای کاوش در هر لایه در یک تصویر docker.

یک تصویر docker از لایه ها تشکیل شده است و با هر لایه ای اضافه می کنید روی، فضای بیشتری توسط تصویر گرفته می شود. بنابراین ، هرچه لایه های بیشتر در تصویر بیشتر باشد ، فضای بیشتری به تصویر نیاز خواهد داشت.

این جایی است که غواصی کردن می درخشد ، این به شما کمک می کند تا تصویر Docker و محتوای لایه خود را کشف کنید. همچنین می تواند به شما در یافتن راه هایی برای کوچک کردن اندازه تصویر Docker/OCI کمک کند.

0*swo_hrkj9ev7hyms

برای نصب شیرجه:

# via Homebrew for macOS
brew install dive

# via pacman for Arch Linux
pacman -S dive

# via go install
go get github.com/wagoodman/dive

ابزارهای پرونده و متنی

jq -پردازنده JSON خط فرمان.

شما ممکن است از این یکی آگاه باشید زیرا در جامعه توسعه دهنده کاملاً مشهور است.

متأسفانه ، پوسته هایی مانند Bash نمی توانند مستقیماً با JSON تفسیر و کار کنند. این جایی است که می توانید از آن استفاده کنید jq به عنوان command-line پردازنده JSON که شبیه SED ، AWK ، GREP و SO است روی برای داده های JSON. این در C قابل حمل نوشته شده است و هیچ وابستگی به زمان اجرا ندارد. این به شما امکان می دهد تا داده های ساختاری را با سهولت برش ، فیلتر ، نقشه و تبدیل کنید.

0*uwysqwprpmrlrjqp

برای نصب JQ ، می توانید آخرین نسخه ها را از نسخه GitHub بارگیری کنید pageبشر

خفاش – یک گربه (1) کلون با بال.

این پرکاربردترین CLI است روی دستگاه من در حال حاضر چند سال پیش بود گربه، که عالی است اما برجسته سازی نحو یا ادغام git را ارائه نمی دهد

برجسته سازی نحو خفاش از بسیاری از زبانهای برنامه نویسی و نشانه گذاری پشتیبانی می کند ، و به شما کمک می کند تا کد خود را مستقیماً در آن خواندنی کند terminalبشر ادغام GIT به شما امکان می دهد اصلاحاتی را در رابطه با شاخص مشاهده کنید ، خطوطی را که اضافه کرده اید یا تغییر داده اید برجسته کنید.

به سادگی اجرا کنید bat filename و از خروجی آن لذت ببرید.

نمونه خفاش

برای نصب خفاش:

# via Homebrew for macOS
brew install bat

# via apt for Debian
sudo apt install bat

# via pacman for Arch Linux
pacman -S bat

# via Chocolatey for Windows
choco install bat

رفیق – به طور بازگشتی دایرکتوری ها را برای یک الگوی Regex جستجو کنید و در حالی که به Gitignore خود احترام می گذارید.

رفیق قطعاً در حال تبدیل شدن به یک گزینه جایگزین محبوب (اگر محبوب ترین) برای چرند فرمان حتی برخی از ویراستاران دوست دارند Visual Studio Code از RIPGREP برای تأمین خدمات جستجوی خود استفاده می کنند.

نکته اصلی فروش رفتار پیش فرض آن برای جستجوی بازگشتی و سرعت است.

من اکنون به ندرت از grep استفاده می کنم روی دستگاه شخصی من ، همانطور که RIPGREP بسیار سریعتر است.

برای نصب RIPGREP:

# via Homebrew for macOS
brew install ripgrep

# via apt for Debian
sudo apt-get install ripgrep

# via pacman for Arch Linux
pacman -S ripgrep

# via Chocolatey for Windows
choco install ripgrep

ابزارهای گیت

تنبل – ساده terminal UI برای دستورات git.

تنبل عالی دیگر است terminal UI برای دستورات git تهیه شده توسط جسی دافیلد با استفاده از GO.

من مهم نیست که از Git CLI مستقیماً برای چیزهای ساده استفاده کنم ، اما برای موارد استفاده پیشرفته تر مشهور است. من برای به خاطر سپردن دستورات طولانی تر خیلی تنبل هستم.

و Lazigit من را به یک کاربر تولید کننده تر از همیشه تبدیل کرده است.

رابط تنبل

برای نصب LazyGit:

# via Homebrew for macOS
brew install jesseduffield/lazygit/lazygit

# via pacman for Arch Linux
pacman -S lazygit

# via scoop for Windows
scoop install lazygit

ابزارهای توسعه

آتاک -یک مشتری ساده API (پستاندار مانند) در خود terminalبشر

ATAC مخفف یک مشتری API ترمینال است. مبتنی بر روی مشتری های محبوب مانند Postman ، Insomnia و Bruno ، اما در داخل شما اجرا می شود terminal بدون نیاز به محیط گرافیکی خاص.

این بهترین کار برای توسعه دهندگان که نیاز به یک مشتری API آفلاین و متقاطع API دارند درست در نوک انگشتان خود (terminal).

آتاک

برای نصب ATAC:

# via Homebrew for macOS
brew tap julien-cpsn/atac
brew install atac

# via pacman for Arch Linux
pacman -S atac

k6 – یک ابزار تست بار مدرن ، با استفاده از Go و JavaScript.

من در گذشته از بسیاری از ابزارهای آزمایش بار استفاده کرده ام ، مانند گیاهخواری یا حتی AB. اما اکنون بیشتر از آنها استفاده می کنم k6s همانطور که هر آنچه را که من نیاز دارم دارد و یک GUI و TUI عالی دارد.

پیشنهاد می‌کنیم بخوانید:  نحوه استفاده از لینوکس در ماشین ویندوز - 5 رویکرد مختلف

چرا برای من خوب کار می کند:

  • K6 مستندات خوبی دارد

  • بسیاری onبشر

  • گزارش نتایج کاملاً خوب است

رابط K6

برای نصب K6:

# via Homebrew for macOS
brew install k6

# via apt for Debian
sudo apt-get install k6

# via Chocolatey for Windows
choco install k6

httpie -مدرن ، کاربر پسند command-line مشتری HTTP برای دوره API.

اشتباه نکنید ، حلقه عالی است ، اما خیلی دوستانه انسان نیست.

HTTPIE یک نحو ساده و بیانگر دارد ، از JSON و FORM DATA پشتیبانی می کند ، احراز هویت و هدر را کنترل می کند و خروجی رنگی و فرمت شده را نشان می دهد.

0*bqi3gbkgikeepei_

برای نصب httpie:

# via Homebrew for macOS
brew install httpie

# via apt for Debian
sudo apt install httpie

# via pacman for Arch Linux
pacman -Syu httpie

# via Chocolatey for Windows
choco install httpie

کله پا – ضبط جلسه ترمینال.

من آن را صدا می کنم terminal یوتیوب 🙂

asciinema ابزاری عالی است وقتی می خواهید خود را به اشتراک بگذارید terminal جلسات با شخص دیگری ، به جای ضبط فیلم های سنگین.

من اغلب وقتی از ابزارهای CLI تهیه می کنم و می خواهم نسخه ی نمایشی روش کار آنها را به اشتراک بگذارم (من اغلب از آن استفاده می کنم (روی به عنوان مثال GitHub).

0*exg2xuzlipajj-ib

برای نصب asciinema:

# via Homebrew for macOS
brew install asciinema

# via apt for Debian
sudo apt install asciinema

# via pacman for Arch Linux
sudo pacman -S asciinema

شبکه

سگگو – الف command-line مشتری DNS.

کاملاً الهام گرفته از سگ که در زنگ زدگی نوشته شده است.

در گذشته من استفاده می کردم حفر کردن برای بازرسی از DNS ، اما خروجی آن اغلب به صورت فطری و تجزیه بصری دشوار است.

سگ این کاستی ها را با ارائه دو پیشرفت کلیدی بیان می کند:

  • Doggo پشتیبانی خروجی JSON را برای اسکریپت و تجزیه آسان فراهم می کند.

  • Doggo یک فرمت خروجی قابل خواندن را ارائه می دهد که از کدگذاری رنگی و یک طرح جدولی استفاده می کند تا اطلاعات DNS را به روشنی و مختصر ارائه دهد.

BB902365-BC0D-4A56-9A87-6B065EE5EE5608A

برای نصب Doggo:

# via Homebrew for macOS
brew install doggo

# via scoop for Windows
scoop install doggo

# via go install
go install github.com/mr-karan/doggo/cmd/doggo@latest

جنجال – پینگ ، اما با یک نمودار.

مشهور پینگ فرمان جالب ترین نیست و تفسیر خروجی آن به روشی مفید می تواند دشوار باشد.

جنجال یک طرح از تأخیر پینگ به a می دهد host، و مفیدترین ویژگی ، امکان اجرای پینگ های همزمان به میزبان های متعدد و ترسیم همه آنها است روی همان نمودار

0*ipi1topimnwpn1vu

برای نصب gping:

# via Homebrew for macOS
brew install gping

# via Chocolatey for Windows
choco install gping

# via apt for Debian
apt install gping

ایستگاه کاری

با هم – الف terminal مولتیپلر.

چرا Tmux چنین کار بزرگی است؟

ممکن است شما در شرایطی قرار گرفته باشید که باید چندین مورد را مشاهده کنید terminal کنسول ها در همان زمان. به عنوان مثال ، شما ممکن است چند سرور در حال اجرا باشد (به عنوان مثال ، وب ، پایگاه داده ، اشکال زدایی) و ممکن است بخواهید تمام خروجی های حاصل از این سرورها را در زمان واقعی برای تأیید رفتار یا اجرای دستورات نظارت کنید.

قبل از TMUX ، شما ممکن است به تازگی چند برگه مختلف را در آن باز کنید terminal و بین آنها تغییر کرد تا خروجی را ببینید.

خوشبختانه ، یک راه آسان تر وجود دارد – با همبشر

به طور خلاصه ، در اینجا برخی از محبوب ترین ویژگی های آن وجود دارد:

  • مدیریت پنجره/صفحه

  • مدیریت جلسه با پایداری

  • جلسات قابل اشتعال با سایر کاربران

  • پیکربندی های قابل اسکریپت

0*U8O0WXUTRPXXG6FG

برای نصب tmux:

# via Homebrew for macOS
brew install tmux

# via apt for Debian
apt install tmux

# via pacman for Arch Linux
pacman -S tmux

زلیج – الف terminal فضای کاری با باتری های موجود.

از آنجایی که من TMUX را در اینجا ذکر کردم ، معقول است که یک رقیب جدید را نیز در بر می گیرد ، زلیج، که در جامعه توسعه دهنده کشش به دست آورده است. هر دو ویژگی ها و اهداف منحصر به فرد خود را دارند.

در مقایسه با سنتی terminal Multiplexers ، Zellij یک رابط کاربر پسند تر ، عناصر طراحی مدرن ، سیستم های طرح داخلی و یک سیستم افزونه ارائه می دهد و شروع کار را برای تازه واردان آسانتر می کند.

من هنوز tmux را دوست دارم. این مکان در قلب من جایگاه ویژه ای دارد زیرا سالهاست که هدف خوبی دارد. اما Zellij یکی دیگر از گزینه های خوب است.

0*vwait4to1ijxh9dp

برای نصب Zellij:

# via Homebrew for macOS
brew install zellij

# via apt for Debian
apt install zellij

# via pacman for Arch Linux
pacman -S zellij

بیتوپ – مانیتور منابع.

من نمی توانم بدون BTOP زندگی کنم ، و نصب شده است روی تمام دستگاه های من از طریق dotfiles شخصی من. من به ندرت از GUI های سیستم عامل داخلی برای بررسی استفاده از منابع استفاده می کنم روی من host ماشین ، زیرا بیتوپ می تواند این کار را خیلی بهتر انجام دهد

من استفاده می کنم تا سریعاً آنچه را که بیشترین حافظه را استفاده می کند ، نظارت و کشتن برخی از فرآیندها و موارد دیگر را بررسی کنم.

0*hbujrcbt6xvaploh

برای نصب BTOP:

# via Homebrew for macOS
brew install btop

# via snap for Debian
sudo snap install btop

پایان

این clis/tuis باید در هر مدرن به خوبی کار کنند terminalبشر من در حال حاضر شخصاً از Ghostty استفاده می کنم و بسیار عالی عمل می کند ، اما سایر گزینه های محبوب مانند iterm2 ، بچه گربه، و پیش فرض terminal برنامه روی MacOS و Linux همچنین باید یک تجربه یکپارچه را ارائه دهند. نکته مهم این است که از شما اطمینان حاصل شود terminal از ویژگی هایی مانند پالت های 256 رنگ و رمزگذاری UTF-8 برای نمایش بهینه این ابزارها پشتیبانی می کند.

مقدار زیادی از Clis/Tuis در آنجا وجود دارد ، و من نمی توانم همه آنها را لیست کنم (اگرچه سعی کردم برخی از بهترین ها را لیست کنم). این انتخاب یک نقطه شروع برای کاوش در اکوسیستم غنی از command-line ابزارهای موجود برای توسعه دهندگان. من شما را تشویق می کنم تا بیشتر کاوش کنید ، ابزارهای جدیدی را متناسب با نیازهای خاص خود کشف کنید و با به اشتراک گذاشتن یافته های خود به جامعه کمک کنید.

مقالات بیشتر را کاوش کنید روی packagemain.tech