উইন্ডোজ কমান্ড-লাইন টুলস

devs হিসাবে যারা আমাদের বেশিরভাগ সময় OSX এবং Linux-এ কোডিংয়ে ব্যয় করে, আমরা কৌতূহলী ছিলাম যে একটি আধুনিক কমান্ড-লাইন সেটআপ উইন্ডোজে কেমন হতে পারে।

একটি StackOverflow ডেভেলপার সমীক্ষা আমাদের মনে করিয়ে দিয়েছে যে অন্য যেকোন ওএসের তুলনায় উইন্ডোজ ব্যবহার করে আরও বেশি devs রয়েছে তাই আমরা কৌতূহলী ছিলাম যে সেখানে টুলিং আমরা *নিক্স ল্যান্ডে যা ব্যবহার করতাম তার সাথে সমান হয় কিনা।

Windows CLI টুলিংয়ের ল্যান্ডস্কেপ মূল্যায়ন করার জন্য কিছু সময় ব্যয় করার পরে, আমরা এমন একটি সরঞ্জামের সেটে স্থির হয়েছি যা আমরা মনে করি সেখানে আমাদের 95% পথ পায়।

দিনের শেষে, আমরা একটি সংমিশ্রণে অবতরণ করেছি:

  • শক্তির উৎস
  • কনইমু
  • PSReadLine
  • PSGet
  • চকোলেট
  • বাবুন (ঐচ্ছিক)

এই বিভিন্ন যন্ত্রের টুকরোগুলি আপনাকে কী দেয় সে সম্পর্কে আরও কিছু নোটের জন্য নীচে দেখুন।

পাওয়ারশেল (শেল)

  • টাস্ক অটোমেশনের জন্য আমাদের একটি শক্তিশালী স্ক্রিপ্টিং পরিবেশ অফার করে, cmd.exe-এর তুলনায় একটি বাস্তব 'শেলের' কাছাকাছি উল্লেখযোগ্যভাবে। এটি Bash বা zsh এর সাথে তুলনা করা ন্যায্য।
  • ডিরেক্টরি এবং ফাইলের নাম স্বয়ংসম্পূর্ণ করে
  • স্বয়ংসম্পূর্ণ অ্যাপ্লিকেশন নাম
  • সমন্বিত উপনাম এবং কমান্ড রয়েছে (cmdlets বলা হয় - যেমন Select-String হল grep এর মত, Invoke-Elevated হল sudo এর মত, Sort-Object হল sort এর মত, Get-Process সমস্ত সক্রিয় প্রক্রিয়া তালিকাভুক্ত করে)। অন্য শেল থেকে পিএস-এ চলে গেলে, Set-Alias আপনাকে উইন্ডোজ সমতুল্যগুলিতে অভ্যস্ত উপনামগুলি ম্যাপ করতে দেয়। উদাহরণস্বরূপ: Set-Alias server python -m http.server 8000 একটি Python সার্ভার চালু করে যখন server উপনাম ব্যবহার করা হয়।
  • একটি PowerShell প্রোফাইলে উপনাম টিকে থাকতে পারে
  • ইউনিক্সের মতো পাইপিং সমর্থন করে। ইউনিক্সের বিপরীতে, এটি পাঠ্য প্রবাহের পরিবর্তে বস্তুকে পাইপ করে। এর জন্য অভ্যস্ত হওয়া প্রয়োজন কিন্তু আপনি যখন কোনো সম্পত্তি বের করতে চান তখন রিপারসিং এড়িয়ে যান।
  • মডিউল সমর্থন করে। PSGet হল PowerShell-এর জন্য একটি প্যাকেজ ম্যানেজার যা আপনাকে এটিকে সহজেই প্রসারিত করতে দেয়।
  • প্রাসঙ্গিক ট্যাব-সম্পূর্ণতা লাভের জন্য ঐচ্ছিকভাবে Posh-Git , গিট-এর জন্য একটি PowerShell স্ক্রিপ্ট বিবেচনা করুন।

আপনি যদি ট্রিভিয়ায় আগ্রহী হন, তাহলে কেন MS প্রধান স্থপতির কাছ থেকে PowerShell তৈরি করেছে তার একটি উত্তর এখানে রয়েছে।

PSReadLine (কনসোল সম্পাদনা সহায়ক)

  • উল্লেখযোগ্যভাবে কনসোল সম্পাদনার অভিজ্ঞতা উন্নত করে
  • সিনট্যাক্স হাইলাইট করা যখনই আপনি কমান্ড টাইপ করা শুরু করেন। একটি লাল ">" অক্ষর সহ সিনট্যাক্স ত্রুটিগুলি স্পষ্টভাবে নির্দেশ করে৷
  • অত্যন্ত কাস্টমাইজযোগ্য কী বাইন্ডিং
  • ব্যাশ-স্টাইল স্বয়ংসম্পূর্ণতা
  • Bash/zsh ইন্টারেক্টিভ ইতিহাস অনুসন্ধান (Ctrl + R)। শক্তিশালী কমান্ড ইতিহাস ট্রাভার্সাল খুব. কমান্ডের শেষ লাইনের পরিবর্তে তীর কী ব্যবহার করে পূর্ববর্তী মাল্টি-লাইন কমান্ডগুলি সহজেই দেখুন।
  • কপি/পেস্ট/কাট এর জন্য যথাযথ সমর্থন (Ctrl+C/X/V সব ঠিকঠাক কাজ করা উচিত)
  • পূর্বাবস্থায় ফেরানোর জন্য ভাল সমর্থন
  • ইতিহাস সংরক্ষণ স্বয়ংক্রিয়

বিকল্পভাবে, আপনি Clink ব্যবহার করতে পারেন, যার বৈশিষ্ট্যগুলির একটি অনুরূপ সেট রয়েছে কিন্তু PowerShell-এর জন্য কঠোরভাবে লেখা হয়নি।

ConEmu (কনসোল হোস্ট)

  • একটি উন্নত কনসোল এমুলেটর যেখানে আপনি আপনার পছন্দের শেল চালাতে পারেন।
  • বিভিন্ন ট্যাবে একাধিক টার্মিনাল খোলার সমর্থন করে। বিভিন্ন ব্যবহারকারী হিসাবে টার্মিনাল চালু করা তুচ্ছ করে তোলে।
  • অত্যন্ত কাস্টমাইজযোগ্য - শর্টকাট থেকে টেক্সট নির্বাচন এবং স্ট্যাটাস বারের রঙ সবকিছু পরিবর্তন করা যেতে পারে।
  • একটি বিভক্ত-স্ক্রিন ভিউ সমর্থন করে
  • সাধারণ GUI অ্যাপগুলি ট্যাবে চালানো যেতে পারে
  • Windows 7+ জাম্প তালিকার জন্য সমর্থন
  • মসৃণ উইন্ডোর আকার পরিবর্তন সমর্থন করে
  • উইন্ডোজ ফন্ট অ্যান্টি-আলিয়াসিং
  • শুরু করার ট্যাবগুলি একটি নির্দিষ্ট ডিরেক্টরিতে শুরু করার জন্য সম্পূর্ণরূপে কাস্টমাইজ করা যেতে পারে
  • বুদ্ধিমান কপি/পেস্ট

কিছু লোক এখনও কনসোল 2 ব্যবহার করে উপভোগ করে এবং স্কট হ্যানসেলম্যান এটি সম্পর্কে একটি ব্লগ পোস্ট লিখেছেন।

Cmder

একটি পাসিং নোট মূল্যবান হল Cmder - একটি কনসোল ইমুলেশন প্যাকেজ যা ConEmu, Clink এবং msysgit কে একত্রিত করে - আপনাকে Git সাহায্যকারী দেয়। Cmder মূলত আপনাকে ConEmu-এর মনোকাই কালার স্কিমের মাধ্যমে ডিফল্টভাবে একটি সুন্দর অভিজ্ঞতা দেয়।

Cmder-এ কিছু অন্যান্য সামান্য সুবিধাও রয়েছে, যেমন GUI অ্যাপগুলির সাথে একীকরণ যেমন Sublime Text

চকোলেট (প্যাকেজ ম্যানেজার)

  • মূলত উইন্ডোজের জন্য হোমব্রু, যা আপনাকে আপনার পছন্দের উইন্ডোজ অ্যাপগুলিকে সুবিধামত আনতে দেয়। বর্তমানে ~3K প্যাকেজ উপলব্ধ রয়েছে যা সরাসরি Chocolatey ব্যবহার করে আপডেট করা যেতে পারে।
  • Nuget থেকে ভিন্ন। NuGet উন্নয়ন লাইব্রেরি জন্য. Chocolatey হল একটি বাইনারি মেশিন প্যাকেজ ম্যানেজার এবং এটি NuGet পরিকাঠামোর উপর নির্মিত।
  • কার্যকরভাবে নীরব বিল্ড অফার করে

আপনি Microsoft-এর প্যাকেজ ম্যানেজার..ম্যানেজার OneGet সম্পর্কে জানতে আগ্রহী হতে পারেন, যেটি Windows 10-এর অধীনে Chocolatey-এর সাথে কাজ করা উচিত।

বাবুন (সাইগউইন প্রি-কনফিগার করা)

  • সাইগউইন (উইন্ডোজের জন্য লিনাক্স-এর মতো এনভি) ঐতিহাসিকভাবে পরিচিত কিছু বিয়োগ। Babun ইনস্টলার ব্যবহার করে সামগ্রিক সেটআপটি উল্লেখযোগ্যভাবে আরও সোজা। আপনি যদি ইউনিক্সের সাথে বিশেষভাবে অভিজ্ঞ হন এবং পাওয়ারশেল শেখা এড়াতে পছন্দ করেন, তাহলে সাইগউইন/বাবুন বিবেচনা করা উচিত।
  • একটি প্যাকেজ ম্যানেজার অন্তর্ভুক্ত করে যার নাম pact (একটু brew এর মতো) apt-get এর মতো। এটি একটি বড় চুক্তি কারণ আপনাকে বর্তমানে প্যাকেজ যোগ করার সময় সাইগউইন ইনস্টলারটি পুনরায় চালাতে হবে।
  • ভিম প্রি-ইনস্টল এবং প্রাক-কনফিগার করা
  • oh-my-zsh-এর জন্য সমন্বিত সমর্থন
  • স্বয়ংক্রিয় আপডেট

আরও পড়া