मैं विंडोज पर बैश जैसे शेल का उपयोग कैसे कर सकता हूं?


53

मैं लिनक्स और एक मैक का उपयोग करता हूं, और मैं जल्द ही कुछ कमांड लाइन सामान सिखाऊंगा।

मुझे मूल मैक / लिनक्स बैश शेल के समान टर्मिनल विंडो देने के लिए मैं विंडोज पर क्या स्थापित कर सकता हूं?

यदि संभव हो तो मैं .bash_aliases को परिभाषित करने में सक्षम होना चाहूंगा।


3
हम puttyएक वास्तविक लिनक्स सर्वर से जुड़ते थे। खिड़कियों पर मैं हमेशा अनिच्छुक था और उपयोग करने के लिए लुभाता था cygwin, अपने अनाड़ी अनुभव के कारण अनिच्छुक था। लेकिन व्यक्तिगत रूप से, मैंने इसे msys की तुलना में अधिक सुविधाजनक और vm से अधिक तेज़ पाया। एक बार स्थापित होने के बाद, साइबरविन किसी न किसी तरह से पोर्टेबल हो जाता है, बस इसकी निर्देशिका पर्याप्त होती है, हालाँकि यह विंडोज़ यूज़रनेम (डिफ़ॉल्ट रूप से, कम से कम) के आधार पर प्रत्येक मशीन / उपयोगकर्ता पर एक नया उपयोगकर्ता नाम बनाएगा। लेकिन ध्यान रखें कि चूंकि cygwin / msys को एक कस्टम "वितरण" के रूप में देखा जा सकता है, इसलिए कुछ [वैकल्पिक] कमांड स्विच गायब हो सकते हैं। उन्हें परखें।
n611x007

5
Microsoft ने बस घोषणा की कि विंडोज 10 के अगले अपडेट में बैश शामिल होगा।
दिमित्री नेस्टरुक

जवाबों:


42

आप को स्थापित कर सकता है Cygwin या MSYS / MinGW , या आप (उदाहरण के लिए, का उपयोग कर एक आभासी मशीन में एक पूर्ण लिनक्स वितरण स्थापित कर सकता है VirtualBox )।


मैंने एक साइबरविन का उपयोग किया था जो 135 mb (25 mb पैक्ड) था, जिसे दूसरे कंप्यूटर (पोर्टेबल) से कॉपी किया गया था। इसने नए कंप्यूटर के वर्तमान उपयोगकर्ता के आधार पर एक नया उपयोगकर्ता नाम बनाया, और अन्यथा पूरी तरह से काम किया। मेरा वर्तमान साइबरविन 800 mb है, जिसमें बिल्ड माहौल, 200-300 mb सोर्स कोड और कुछ सामान है।
n611x007

2
नोट: अब आप "लिनक्स के लिए विंडोज सबसिस्टम" स्थापित कर सकते हैं जो आपको देशी उपयोगकर्ता-मोड लिनक्स शेल और विंडोज पर उपकरण चलाने की अनुमति देता है। नीचे देखें जवाब ...
मृण्णाश - मार्टिन हिंसेलवुड

48

अब आप लिनक्स के लिए विंडोज सबसिस्टम स्थापित कर सकते हैं जो आपको देशी उपयोगकर्ता-मोड लिनक्स शेल और विंडोज पर उपकरण चलाने की अनुमति देता है । यह आपको सीधे विंडोज पर बैश शेल चलाने की अनुमति देता है और उबंटू पर आधारित है।

इसे विंडोज 10 में एनिवर्सरी अपडेट (2016) के साथ पेश किया गया था और यह डिफ़ॉल्ट रूप से सक्षम नहीं है। Windows 10 वर्षगांठ अद्यतन मशीन पर नई सुविधा को सक्षम करने के लिए, निम्न कार्य करें:

  1. सेटिंग पर जाएं -> अपडेट और सुरक्षा -> डेवलपर्स के लिए और "डेवलपर मोड" चुनें
  2. नियंत्रण कक्ष -> कार्यक्रम और सुविधाएँ और ऊपरी बाएँ फलक पर "विंडोज सुविधाएँ चालू या बंद करें" पर क्लिक करें
  3. संवाद बॉक्स में, "लिनक्स के लिए विंडोज सबसिस्टम" की जांच करें और ओके पर क्लिक करें
  4. रिबूट मशीन
  5. "बैश" के लिए खोजें और उस पर क्लिक करें, इसे कमांड प्रॉम्प्ट खोलना चाहिए और आपसे पूछना चाहिए कि क्या आप "विंडोज पर उबंटू" स्थापित करना चाहते हैं, "y" के साथ जारी रखें
  6. स्थापना के बाद यह एक UNIX उपयोगकर्ता नाम और पासवर्ड बनाने के लिए कहेगा
  7. अब आप बैश शेल का उपयोग करने के लिए तैयार हैं

थोड़ा सा इतिहास, 2015 की परियोजना में वापस एस्टोरिया को एंड्रॉइड ऐप्स को विंडोज में लाने के लिए शुरू किया गया था और उन्होंने इस उद्देश्य के लिए लिनक्स (डब्ल्यूएसएल) के लिए विंडोज सबसिस्टम नामक एक लिनक्स सबसिस्टम बनाया। अंततः प्रोजेक्ट एस्टोरिया को हटा दिया गया क्योंकि यह उनकी UWP (यूनिवर्सल विंडोज प्लेटफॉर्म) रणनीति को कम कर रहा था, लेकिन कुछ हिस्सों को बनाए रखा गया था और विंडोज के लिए बैश का आधार बनाया गया था। पाठ्यक्रम के दौरान, Microsoft ने सभी समर्थित उपकरणों / बायनेरिज़ के साथ एक देशी छवि प्रदान करने के लिए Canonical (Ubuntu Linux के निर्माता) के साथ सहयोग किया।

अधिक जानकारी यहाँ उपलब्ध है,
https://blogs.msdn.microsoft.com/commandline/2016/04/06/bash-on-ubuntu-on-windows-download-now-3/
https://blogs.windows.com / भवन-निर्माण / 2016/03/30 / रन-बैश-ऑन-ubuntu-on-windows /
https://sec.ch9.ms/session/build/2016/P488.mp4 (वीडियो)



मुझे यह उत्तर बेहतर लगा!
पीटर

1
@Peter धन्यवाद, इसे कल संक्षिप्त रूप से आज़माया गया, जीसीसी / जी ++ प्राप्त करने में सक्षम था, फ़ायरफ़ॉक्स को एक्ससेवर के माध्यम से काम करने में सक्षम था (काफी धीमा, शायद वे सीपीयू का उपयोग करते हैं?), क्रोम और डिफ़ॉल्ट ब्राउज़र क्रैश हो रहे थे और कुछ कमांड जैसे 'स्क्रीन' काम नहीं किया, चीजों को अगले अद्यतन के रूप में अपने बीटा में अभी भी मार के लिए इस्त्री करना चाहिए। यह कहने के बाद, विंडोज पर मूल रूप से उपलब्ध बैश होना शानदार है! यह बहुत सारी संभावनाएं खोलता है। कुदोस माइक्रोसॉफ्ट!
निमो

आप इसे पॉवर्सशेल में भी चला सकते हैं (व्यवस्थापक के रूप में चलाएं): Enable-WindowsOptionalFeature -Online -FeatureName "Microsoft-Windows-Subsystem-Linux"और विंडोज स्टोर से निम्न में से कोई भी स्थापित करें: उबंटू, डेबियन,
ओपनसैस

18

यहां 2019-01 के दौरान 2018-05 के अनुसार उपलब्ध विकल्पों की एक सूची है, जिसमें 2019-01 के दौरान प्रत्येक एक के बारे में थोड़ा विस्तार के साथ अपडेट किया गया है।

विकल्प जो बाहर खड़े हैं

Cygwin और Babun

साइगविन निम्नलिखित प्रदान करता है:

  1. एक बैश शेल और मिंट्टी टर्मिनल,
  2. विंडोज पर चलने के लिए संकलित सामान्य लिनक्स उपयोगिताओं की एक विस्तृत श्रृंखला
  3. एक व्यापक संगतता परत जो विंडोज़ पर लिनक्स प्रोग्राम को चलाने में सक्षम बनाती है।

Cygwin का उद्देश्य विंडोज़ पर लिनक्स अनुप्रयोगों को आसान बनाना है। यदि कुछ C प्रोग्राम को यूनिक्स के लिए डिज़ाइन किया गया था और इसमें पाइप, यूनिक्स-शैली फ़ाइल और डायरेक्ट्री एक्सेस आदि जैसी सुविधाओं का उपयोग करने की उम्मीद है, तो आप इसे Cygwin के लिए संकलित कर सकते हैं और Cygwin कोड और विदेशी OS (Windows) के बीच संगतता परत के रूप में कार्य करेगा । यह समान सी प्रोग्राम को लिनक्स या विंडोज दोनों पर बहुत कम या बिना किसी संशोधन के काम करने की अनुमति देता है। इस प्रकार लिनक्स कार्यक्रमों की एक विशाल सूची का अनुपालन किया गया है और जब आप सिगविन स्थापित करते हैं तो इसे चलाया जा सकता है। हालाँकि, आप, इन कार्यक्रमों के उपयोगकर्ता, शायद यूनिक्स से परिचित होंगे। उदाहरण के लिए, आपको /cygdrive/c/autoexec.batइसके बजाय तर्कों को पास करने की आवश्यकता हो सकती है c:\autoexec.batऔर \nविंडोज लाइन समाप्ति ( \r\n) के बजाय यूनिक्स लाइन समाप्ति ( ) के साथ आउटपुट से निपटने के लिए तैयार होना चाहिए ।

सभी Cygwin प्रोग्राम्स के संग्रह में एक रिपॉजिटरी शामिल होती है और हालांकि Cygwin के पास एक पारंपरिक Linux पैकेज मैनेजर नहीं होता है जिसे आप इस रिपॉजिटरी से किसी भी समय बहुत ही सहज तरीके से (आप Cygwin's setup.exe चलाते हैं) पर प्रोग्राम्स को जोड़ या हटा सकते हैं। किसी भी समय स्थापना पूर्ण होने के बाद )

बाबुन एक पूर्ण-विशेषताओं वाले पैकेज मैनेजर (पैक्ट) के साथ साइगविन है, इसके खोल, गिट, स्वचालित अपडेट और प्लग-इन उन्मुख वास्तुकला के लिए ओह-माय-ज़ेड। हालांकि डिफ़ॉल्ट शेल zsh है आप आसानी से बैश में जा सकते हैं। अगर आपको अतिरिक्त वजन से ऐतराज नहीं है तो यह वैनिला साइगविन से एक अच्छा अपग्रेड लगता है।

Mingw-W64

Mingw-w64 निम्नलिखित प्रदान करता है:

  1. एक बैश शेल,
  2. लिनक्स उपयोगिताओं की एक उचित राशि,
  3. लिनक्स विकास परत (या कम से कम एक) के बिना चलने वाले ऐप्स के निर्माण के लिए एक एसडब्ल्यू विकास टूलचैन।

MinGW मुख्य रूप से एक सॉफ्टवेयर वितरण और विंडोज के लिए एक बिल्डिंग प्लेटफॉर्म है। विशेष रूप से यह जीएनयू संकलक उपकरण का एक विंडोज पोर्ट है, जैसे कि जीसीसी, मेक, बैश, और इसी तरह। इसमें GNU टूल्स की उचित मात्रा और न्यूनतम यूनिक्स संगतता परत शामिल है।

मिंगव-w64 और साइगविन के बीच मुख्य अंतर प्राथमिकताओं पर है: सिग्विन का उद्देश्य पूर्ण POSIX संगतता परत प्रदान करना है जिसमें सभी प्रमुख यूनिक्स सिस्टम कॉल और पुस्तकालयों का पूर्ण कार्यान्वयन शामिल है; प्रदर्शन संगतता के लिए माध्यमिक है। MinGW का उद्देश्य प्रदर्शन है, इसलिए यह कुछ POSIX APIs प्रदान नहीं करेगा, जिन्हें आसानी से और / या Windows के तहत पर्याप्त रूप से लागू नहीं किया जा सकता है। इसके अलावा MinGW का मुख्य लक्ष्य S / W डेवलपर्स हैं। फिर भी आकस्मिक उपयोगकर्ता इसके खोल का आनंद ले सकते हैं और सामान्य उद्देश्य में उपयोगिताओं शामिल हैं।

MSYS2 और विंडोज के लिए गिट

MSYS2 निम्नलिखित प्रदान करता है:

  1. एक बैश शेल और मिंट्टी टर्मिनल,
  2. लिनक्स उपयोगिताओं की एक उचित राशि,
  3. OS प्रोग्राम इंस्टॉल करने के लिए एक पूर्ण रुप से प्रदर्शित कमांड लाइन पैकेज मैनेजर
  4. Cygwin और MinGW दोनों के हिस्से एक व्यापक लिनक्स कम्पैटिबिलिटी लेयर के साथ या बिना बिल्डिंग एप्लिकेशन को सपोर्ट करने के लिए।
  5. एक सॉफ्टवेयर रिपॉजिटरी और एक पैकेज मैनेजर (pacman) जो विंडोज़ पर सॉफ़्टवेयर को स्थापित, उपयोग, निर्माण और पोर्ट करना आसान बनाता है।

MSYS2 भी मुख्य रूप से एक सॉफ्टवेयर वितरण और विंडोज के लिए एक निर्माण मंच है जैसे कि MinGW लेकिन यह Cygwin और MinGW के रास्ते दोनों को जोड़ता है। आप MSYS2 का उपयोग या तो बनाने के लिए कर सकते हैं "MinGW कार्यक्रमों" या "MSYS2 कार्यक्रमों" । MSYS2 (msys-2.dll) की संगतता परत का बाद का लिंक जो स्वयं कुछ जोड़ / संशोधनों के साथ Cygwin की संगतता परत के विकास का बारीकी से अनुसरण करता है । हालांकि 2 परियोजनाओं के भंडार पूरी तरह से असंबंधित हैं। तो हालांकि MSYS2 और Cygwin दोनों प्रदान करते हैं, grep.exeलेकिन उनके पास एक पूरी तरह से अलग संस्करण हो सकता है।

विंडोज के लिए Git या तो सिर्फ MSYS2 है जिसमें git इंस्टॉल किया गया है या कम से कम MSYS2 पर आधारित है । यह समान शेल (बैश), टर्मिनल (मिंट्टी) और पैकेज मैनेजर (पैकमैन) प्रदान करता है। यह विंडोज पर चलने वाले प्रमुख गिट पाने के लिए सबसे लोकप्रिय तरीका प्रतीत होता है और इसके साथ ही आपको एक अच्छा यूनिक्स वातावरण मिलता है।

लिनक्स के लिए विंडोज सबसिस्टम (WSL)

WSL पूरी तरह से अलग विधि का उपयोग करके एक ही समस्या हल करता है। आप उसी सटीक कोड को चलाते हैं जिसे आप WSL पर लिनक्स सिस्टम पर चलाते हैं जो कर्नेल कॉल को स्वीकार करता है और उन्हें विंडोज़ कर्नेल कॉल में अनुवाद करता है (यह वाइन के विपरीत है)। बेशक अनुवाद सही नहीं हो सकता है लेकिन Microsoft ने बीटा चेतावनी को छोड़ दिया । क्योंकि WSL 2018 से पहले विंडोज सर्वर पर उपलब्ध नहीं था, इसलिए मैंने इस पर ध्यान नहीं दिया। वैसे भी आपको ज्यादातर CLI उपहारों के साथ एक अच्छा बैश शेल मिलता है, जिसे आप स्टॉक उबंटू इंस्टॉलेशन में ढूंढने की उम्मीद करेंगे। Microsoft आधिकारिक तौर पर कहता है कि "WSL का उद्देश्य GUI डेस्कटॉप या एप्लिकेशन का समर्थन नहीं करना है"हालाँकि, यह कैसे करना है पर अनौपचारिक निर्देश हैं। ऐसा लगता है कि जैसे-जैसे चीजें इस समय (2018 की शुरुआत में) खड़ी होती हैं, डब्ल्यूएसएल की मुख्य कमियां निम्नलिखित हैं: ए) स्क्रीन और डिस्क एक्सेस प्रदान करना बहुत धीमा बी है) आप विंडोज सी से डब्ल्यूएसएल (लिनक्स) फ़ाइलों को संपादित करने के लिए नहीं हैं। यह केवल 64 बिट विंडोज पर चलता है। यहां साइबरविन के साथ एक पुरानी लेकिन अच्छी तुलना है (ध्यान दें कि रिच टर्नर डब्लूएसएल टीम का सदस्य है और उसने डब्लूएसएल के बारे में बहुत सारी उपयोगी जानकारी पोस्ट की है)

सार्वजनिक भूक्षेत्र

डब्ल्यूएसएल से ऊपर के अधिकांश उपकरण सामान्य प्रौद्योगिकी (पुस्तकालयों, निष्पादन योग्य, अवधारणाओं) का एक बहुत साझा करते हैं। उदाहरण के लिए, बाश शेल जो कि मिनगव के साथ आता है, एमएसआईएस-2. डीएल पर निर्भर करता है जो खुद ही साइबरविन का एक कांटा है। तो हाँ भ्रम के लिए बहुत जगह है :-)

अधिक विकल्प

Cmder विंडोज के लिए सिर्फ एक अच्छा टर्मिनल और एक बैश जैसा शेल प्रदान करता है। यह मुख्य घटक Conemu (टर्मिनल) है। की है कि यह कहते हैं शीर्ष पर झंकार जो प्रदान करता है शक्तिशाली बैश शैली कमांड लाइन संपादन , एक कस्टम शीघ्र लेआउट और Monokai रंग योजना। यह देशी विंडो कंसोल प्रोग्राम के साथ अत्यधिक (या शायद पूरी तरह से) संगत है।

स्कूप कई जीएनयू टूल सहित कई प्रसिद्ध क्रॉस-प्लेटफॉर्म कार्यक्रमों के लिए एक कमांड लाइन पैकेज मैनेजर प्रदान करता है। यह पहले से संकलित संकुल को डाउनलोड करता है। यह न तो एक शेल और न ही टर्मिनल प्रदान करता है, बल्कि विंडोज़ 'cmd.exe के तहत चलता है (अपनी सभी सीमाओं के साथ, बल्कि देशी विंडोज़ कंसोल प्रोग्राम के साथ इसकी पूर्ण संगतता के साथ)। इसमें कोई कंपाइलर सूट भी शामिल है (लेकिन निश्चित रूप से संकलक और विकास उपकरण विशिष्ट पैकेज हैं जो आप स्कूप के साथ स्थापित कर सकते हैं)। स्कूप इंस्टॉल करने वाले बहुत सारे प्रोग्राम या तो सीधे मिनगीडब्ल्यू / एमएसवाईएस परियोजना से आते हैं, या उनके उपकरणों का उपयोग करके बनाए गए थे।

और भी विकल्प

समाधान बलो सक्रिय नहीं लगता है और मैंने कभी भी उनका परीक्षण नहीं किया है लेकिन वे दूसरों के लिए काम करते हैं:

गो (विंडोज पर ग्नू) शेल के बिना सिग्विन का हल्का विकल्प है। यह एक सुविधाजनक विंडोज इंस्टॉलर का उपयोग करता है जो मूल win32 बायनेरिज़ के रूप में संकलित 130 अत्यंत उपयोगी ओपन सोर्स लिनक्स अनुप्रयोगों को स्थापित करता है और विंडोज़ 'cm3.exe' के माध्यम से उपलब्ध है। इसे यथासंभव छोटा (लगभग 10 एमबी) बनाया गया है।

UnxUtils & GnuWin32 : UnxUtils मूल Win32 के लिए सामान्य GNU यूनिक्स जैसी उपयोगिताओं के बंदरगाहों का एक संग्रह है, जिसमें केवल Microsoft C-runtime msvcrt.dll पर निर्भर करता है। आपको मुख्य भाग और कुछ अपडेट डाउनलोड करने होंगे। GnuWin32 में UnxUtils की तुलना में बाद के संस्करण हैं, लेकिन समर्थन फ़ाइलों (जैसे DLL) की आवश्यकता है

MSYS और MinGW लगते है किया गया obsoleted MSYS2 और MinGW-W64 द्वारा तो मैं उन पर कभी नहीं देखा।

Cygwin और MSYS2 पर कुछ सामान्य मुद्दे

टर्मिनल के संबंध में

मिंट्टी Cygwin, MSYS2 और उनके डेरिवेटिव में उपयोग किया जाने वाला टर्मिनल है। एक को पता होना चाहिए कि यदि आप विंडोज़ देशी कंसोल प्रोग्राम चला रहे हैं तो यह विंडोज कमांड प्रॉम्प्ट के लिए दर्द रहित प्रतिस्थापन नहीं है। जबकि साधारण पाठ आउटपुट वाले प्रोग्राम आमतौर पर ठीक काम करते हैं, इंटरैक्टिव और पूर्ण स्क्रीन वाले को अक्सर समस्याएं होती हैं। पढ़ें Mintty के मुख पृष्ठ के बारे में अधिक है और यह भी पढ़ा पर प्रविष्टि "जब Git बैश से चलाने के कुछ देशी सांत्वना कार्यक्रमों काम नहीं करता" विंडोज पूछे जाने वाले प्रश्न के लिए Git । जब आप इस तरह की समस्याओं का सामना करते हैं तो उस प्रविष्टि में यह सिफारिशें होती हैं:

इन समस्याओं के आसपास काम करने के लिए कई तरीके हैं:

  • ऐसे प्रोग्राम चलाएं जिनमें विनिपेट यूटिलिटी का उपयोग करने में समस्याएं हों । यह आपको अच्छे माइनर शेट्टी टर्मिनल का उपयोग करने की अनुमति देता है, लेकिन यदि आप कई कार्यक्रमों के लिए वर्कअराउंड की आवश्यकता रखते हैं, तो यह अस्पष्ट हो सकता है।
  • [cmd.exe का उपयोग करें] और इसे "त्वरित संपादन", उचित आकार और स्क्रॉल-बैक और उपयुक्त यूनिकोड फ़ॉन्ट के लिए कॉन्फ़िगर करें। आपको अभी भी [cmd.exe] के अन्य प्रश्नों के साथ रहना होगा।
  • स्थापित करें और Conemu का उपयोग करें ।

अन्य मामले

ध्यान रखने योग्य दो सबसे महत्वपूर्ण बातें ये हैं:

  1. मुद्दों के डिबग करने की शक्ति और कड़ी मेहनत के बीच एक व्यापार है। अधिक शक्तिशाली समाधान अधिक सामान गलत तरीके से भी जा सकता है जो शुरू में आपके लिनक्स-लेयर से असंबंधित लगेगा।

  2. यदि आपके पास बहुत सारे लिनक्स अनुभव नहीं हैं, तो साइगविन / MSYS2 / MinGW जैसे अधिक शक्तिशाली समाधानों का उपयोग न करें

UnxUtils और GnuWin32 में सबसे कम शक्ति है, लेकिन आपको सिरदर्द पैदा करने की सबसे कम क्षमता भी है। साइग्विन और इसी तरह की शक्ति और सिरदर्द दोनों में बार शीर्ष पर होगा। Cmder बीच में कहीं है। इसलिए जब आपको सबसे शक्तिशाली उपाय की आवश्यकता होती है तो अच्छी नींद लें और पूरी तरह से एकाग्रचित्त रहें। कुछ नया और संभवतः अस्थिर परीक्षण करते समय शक्तिशाली समाधानों का उपयोग करने से बचें। यह भी मत भूलो कि मध्यम जटिलता समाधान जैसे कि सीमलेस स्पॉटलेस नहीं हैं।

लिनक्स कमांड का मुद्दा विंडोज़ वाले को छाया देना, सिग्विन / एमएसवाईएस 2 / एसडब्ल्यूडब्ल्यू जैसे समाधानों में परेशानी को दूर करने का एक आम कारण है। यहाँ एक उदाहरण है: मेरे पास एक .bat फ़ाइल थी जो टाइमआउट कमांड का उपयोग कर रही थी। जब सिग्विन के तहत चलाया जाता है तो यह विफल हो जाता है क्योंकि टाइमआउट भी एक लिनक्स कमांड है लेकिन विभिन्न सिंटैक्स के साथ। के बाद मैं इस मुद्दे को देखा है मुझे पता चला कि मैं एक पाथ = जोड़ सकता हूँ ... .bat फ़ाइल के शीर्ष पर यह सुनिश्चित करने के लिए कि विंडोज़ कमांड में प्राथमिकता थी। लेकिन फिर मुझे और भी अधिक गूढ़ "इनपुट पुनर्निर्देशन समर्थित नहीं है" त्रुटि और कारण खोजने से पहले एक वर्कअराउंड के लिए व्यवस्थित किया गया।

यहाँ पर एक समस्या है जिसका एक उदाहरण cmder है। मैं Cmder के तहत यूनिसन का विंडोज संस्करण चला रहा था और कुछ विशेष परिस्थितियों में यह बिल्कुल बिना किसी त्रुटि संदेश के साथ लटका हुआ था । एक ही कमांड हमेशा cmd.exe के तहत पूरी तरह से चल रहा था। मजेदार बात यह है कि यह पूरी तरह से साइगविन के तहत भी चल रहा था (वास्तव में यदि आपके पास यूनिकोड फाइलनेम है तो साइगविन टर्मिनल cmd.exe से बेहतर है क्योंकि cmd.exe अक्सर यूनिकोड टेक्स्ट को विकृत प्रदर्शित करता है)।

इस गाइड के बारे में

2017-05 के दौरान मैं उपरोक्त साधनों के अंतर को न समझ पाने के कारण बीमार हो गया था हालांकि मैं उनमें से कुछ का उपयोग बहुत पहले से कर रहा था (मुख्य रूप से साइग्विन और सीडर लेकिन विकास के उद्देश्यों के लिए कभी नहीं)। इसलिए मैंने परिदृश्य को देखने के लिए कुछ घंटे बिताए। यह गाइड मेरे द्वारा रखे गए नोट्स का परिणाम है। मैं इस क्षेत्र का विशेषज्ञ नहीं हूं, लेकिन मैंने सभी प्रासंगिक जानकारी खोजने के लिए कड़ी मेहनत की है, इसे एक आलोचनात्मक नज़र से पढ़ें और सबसे महत्वपूर्ण भागों को स्पष्ट रूप से प्रस्तुत करें। कृपया टिप्पणी करें कि क्या कुछ गलत लगता है और मैं इसे ठीक करने की पूरी कोशिश करूंगा।

अंत में कुछ शब्दावली मुद्दों के लिए माफी: इस पाठ में मैं कभी-कभी यूनिक्स या पॉसिक्स के स्थान पर लिनक्स शब्द का उपयोग करता हूं। मुझे पता है कि वे समान नहीं हैं लेकिन इतनी लंबी दूरी से किसी विषय पर संपर्क करने पर उनके बीच अंतर करना बहुत मुश्किल है। यहां तक ​​कि जब यह मुश्किल नहीं है तब भी समय लगता है जो मेरे पास नहीं है; ;-)


2
यह एक शानदार जवाब है, अपने निष्कर्षों और अनुभव को साझा करने के लिए धन्यवाद।
डैनियल सोकोलोव्स्की

व्यापक जवाब है, लेकिन यह है pacman, नहींpackman
एड्रियन गुंटर

यह स्वीकृत उत्तर कैसे नहीं हो सकता है। इस सब का विस्तार करने के लिए धन्यवाद।
42.

10

मैं आप को डाउनलोड करने का सुझाव और एक स्थापित होगा कम से कम के सेट MinGW और MSYS का भी कम से कम सेट। MinGW इंस्टॉलर आपको एक आसान GUI चुनता है कि आप क्या पैकेज चाहते हैं। यदि आप चाहते हैं कि सभी BASH हैं, तो स्थापना कुछ मेगाबाइट से अधिक नहीं होगी।

अद्यतन: मैं MSYS2 में चला गया जो कि कहीं अधिक उन्नत है, और इसमें पैकेज प्रबंधन के लिए ArchLinux pacman टूल का पोर्ट है। MSYS2 इंस्टॉलर के पास आपकी ज़रूरत की हर चीज़ है, साथ ही यह मिनिटेट का उपयोग करता है जो बिल्कुल सही है।


10

वहाँ भी है झंकार उपलब्ध GitHub पर । यह हुक पुस्तकालयों का उपयोग करके खुद को विंडोज़ कमांड प्रॉम्प्ट में एकीकृत करता है।

परियोजना विवरण से:

क्लिंक देशी विंडोज शेल cmd.exe को GNU Readline लाइब्रेरी की शक्तिशाली कमांड लाइन संपादन सुविधाओं के साथ जोड़ती है, जो समृद्ध पूर्णता, इतिहास और लाइन-संपादन क्षमताओं को प्रदान करती है।

(इसलिए यह बैश-ए-ए-प्रोग्रामिंग-लैंग्वेज फीचर्स या कोई अन्य यूनिक्स उपहार प्रदान नहीं करता है)

मैं काम पर लिनक्स का उपयोग करता हूं और खुद को कभी-कभी सीएमडी में चारों ओर से टकराता हुआ पाता हूं जो कि बैश से यह उम्मीद नहीं करता है कि मैं ऐसा करूं। क्लिंक के साथ मैं इनमें से कुछ कमियों को दूर कर सकता हूं।

हाल ही में, मैंने एक आशाजनक खोज भी की, लेकिन अभी तक ' कैन -डू-ऑल' परियोजना को फ्लिनक्स कहा जाता है जो लिनक्स सिस्टम फ़ंक्शन का अनुकरण करता है और इसके शीर्ष पर किसी प्रकार की प्रणाली प्रदान करता है (वर्तमान में आर्क लिनक्स पर आधारित)


क्या क्लिंक वास्तव में भाषा को बदलता है, या यह केवल cmd.exe में कुछ सुधार करता है? यह उत्तर से पूरी तरह स्पष्ट नहीं है।
सर्ज बोर्श

यह आपको कुछ सामान्य * निक्स शैल सुविधाओं का उपयोग करने में सक्षम बनाता है, जैसे कि Ctrl + R का उपयोग करके रिवर्स खोज, एक पाथ सर्च कमांड पूरा करना आदि
Andreas

तो यह एक बैश कार्यान्वयन नहीं है, है ना?
सर्ज बॉर्श

एर्म, नहीं। विस्तार cmd.exe, साइट पर वर्णित के रूप में;)
एंड्रियास

7

के अलावा faffaffaff क्या कहा , विंडोज के लिए Git बैश और कुछ सामान्य लिनक्स कमांड लाइन कार्यक्रम भी शामिल है (उदाहरण के लिए विम , sed , और gawk )। यह MSYS पर आधारित है । कार्यक्रमों का संस्करण हालांकि पुराना है, उदाहरण के लिए बैश संस्करण 3.1 है। साइगविन के उपयोगिताओं के अधिक हाल के संस्करण होंगे।

मैं ConEmu को टर्मिनल एमुलेटर के रूप में भी उपयोग करता हूं (मुख्य रूप से विम, टैब पेज और आसान कॉपी- पेस्टिंग में सिंटैक्स हाइलाइटिंग के लिए)। कंसोल 2 भी एक अन्य लोकप्रिय टर्मिनल एमुलेटर है, हालांकि मैंने इसकी कोशिश नहीं की है।


BTW: ConEmu MSYS2 प्रतिष्ठानों को भी पहचानता है और कुछ क्लिंक एकीकरण के लिए अनुमति देता है।
एंड्रियास

2

जब मैं एक नई विंडोज मशीन स्थापित करता हूं तो यह पहली चीजों में से एक है:

विंडोज में एक कार्यात्मक और चिकना कंसोल


3
लिंक सड़ने के प्रभावों को रोकने के लिए लिंक से एक अंश जोड़ना सुनिश्चित करें।
ओल्डमुड 0

1

मैंने सिर्फ बाबुन के साथ प्रयास किया , जो साइगविन को आंतरिक रूप से एकीकृत करता है, और मुझे अच्छा स्वाद देता है :)

डाउनलोड फ़ाइल थोड़ी बड़ी है, लगभग 250 एमबी। लेकिन स्थापना सीधी है; कुछ भी कॉन्फ़िगर करने की आवश्यकता नहीं है और यह सिर्फ काम करता है!


बाबुन में पूरा साइबरविन शामिल है, यह वास्तव में बहुत बड़ा है। स्थापना प्रक्रिया थोड़ी सी हैक होती है (वर्तमान में ज़िप संग्रह क्रोम द्वारा एक खतरनाक फ़ाइल के रूप में अवरुद्ध है)। लेकिन अब तक का सबसे अच्छा टर्मिनल रिप्लेसमेंट मैंने पाया है।
समाधि

बाबुन वास्तव में मेरे लिए धीमा था। मैंने कॉनमू और गिट शेल का उपयोग करने के लिए स्विच किया
शब्दफर्टवाइज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.