क्या मुझे कमांड लाइन सीखने के लिए लिनक्स डिस्ट्रो चाहिए या ओएस एक्स पर्याप्त होगा?


12

मैं कमांड लाइन का उपयोग करने का तरीका जानने जा रहा हूं। विशेष रूप से, मैं पुस्तक का उपयोग करूंगा: "लिनक्स कमांड लाइन: एक पूर्ण परिचय" । अब, क्या मुझे पुस्तक के माध्यम से चलने के लिए लिनक्स डिस्ट्रो का उपयोग करना होगा, या ओएस एक्स पर्याप्त होगा?

अगर मुझे लिनक्स डिस्ट्रो की आवश्यकता है, तो एक वीएम के माध्यम से इसका उपयोग करना पर्याप्त होगा या क्या मुझे इसे मूल रूप से स्थापित करने की आवश्यकता है?


8
एकमात्र कारण आपको भौतिक हार्डवेयर पर OS स्थापित करना होगा और प्रदर्शन के लिए VM नहीं होगा। यदि आप सिर्फ बुनियादी प्रक्रियाओं को सीखने की कोशिश कर रहे हैं तो यह समस्या नहीं होगी। यह शायद एक वीएम में आर्क जैसी कुछ चलाने के लिए बेहतर है।
ब्राचली


4
कमांड-लाइन आपके और सिस्टम के बीच की कड़ी है। बैश शेल सिंटैक्स समान हो सकता है, लेकिन जब आपको सिस्टम विशिष्ट भागों से निपटने की आवश्यकता होती है, तो मतभेद होने वाले हैं। उदाहरण के लिए, ओएस एक्स नहीं करता Have /procफाइल सिस्टम, यूएसबी ड्राइव में प्रदर्शित करने के लिए करते हैं /Volumesनहीं /media/usernameUbuntu पर के रूप में। CentOS की अलग dhclient.confफाइल है। और इतने पर और इतने पर
सर्जियो कोलोडियाज़नी

4
मैकबुक पर वर्चुअलाइजेशन प्रदर्शन के बारे में प्रस्तावित क्रॉस-साइट डुप्लिकेट बहुत स्पष्ट रूप से एक अलग सवाल है । प्रश्न क्रॉस-पोस्ट नहीं किया गया है।
माइकल होमर

2
@Utku मुझे लगता है कि कुछ अवधारणाओं को अलग करने में क्या मदद मिल सकती है: एक कमांड लाइन का उपयोग करना, और आप जिस ऑपरेटिंग सिस्टम का उपयोग करते हैं। यदि आप अपने दूर के कमांड लाइन को जानना चाहते हैं, तो ओएस एक्स काम करेगा, साथ ही लिनक्स, बीएसडी, या विंडोज भी कुछ प्रयासों के साथ। यदि आप UNIX या Linux को जानना चाहते हैं, तो कमांड लाइन केवल इसका एक छोटा सा हिस्सा है - यह केवल इंटरफ़ेस है जिसके माध्यम से आप ओएस के साथ बातचीत करेंगे। मुझे लगता है कि आप जिस चीज के लिए जा रहे हैं उसे स्पष्ट करना भी आसान हो जाएगा :) :)
rickcnagy

जवाबों:


33

मैं अत्यधिक वीएम में लिनक्स चलाने की सलाह दूंगा। सभी सॉफ़्टवेयर डाउनलोड करने के लिए स्वतंत्र रूप से उपलब्ध हैं और कमांड लाइन सीखने के प्रयोजनों के लिए वीएम में चलने और मूल रूप से चलाने के बीच कोई व्यावहारिक अंतर नहीं है।

इसके अलावा, लिनक्स कमांड लाइन में ज्यादातर bash + GNU कोरुटिल होते हैं , जो बीएसडी यूनिक्स (और ओएस एक्स, बीएसडी यूनिक्स का एक सक्सेसर है) से बहुत अलग है। बीएसडी यूनिक्स और जीएनयू लिनक्स में तर्क लिखने में वरीयताओं का बहुत बड़ा अंतर है। आप अपने आप को गैर-नौसिखिया के रूप में भी काट सकते हैं, जैसे कि मानक उपयोगिताओं के लिए विभिन्न विकल्पों के साथ psऔर tarयदि आप दोनों प्रणालियों पर काम करते हैं।

जब आपकी पुस्तक लिनक्स विशिष्ट है, तो OS X का उपयोग करना नियमित रूप से विसंगतियों और मतभेदों को फेंक देगा, जो आपके अधिक अनुभवी होने पर सतही दिखाई देंगे, लेकिन जब आप सीख रहे हैं तो बस भ्रमित होंगे। अपने लिए चीजें आसान रखें।

यह आपको किसी भी महत्वपूर्ण फाइल को हटाने या बदलकर अपनी मशीन को तोड़ने की चिंता के बिना प्रयोग करने की अनुमति देगा।

और अंतिम, हालांकि निश्चित रूप से कम से कम नहीं, यह आपको अपने ओएस एक्स टर्मिनल से अपने वीएम के लिए एसएसएच कनेक्शन स्थापित करने की अनुमति देगा, इसलिए आप एसएसएच कुंजी का उपयोग करने के लिए उपयोग कर सकते हैं, और इस विचार से कि यह कोई फर्क नहीं पड़ता कि आपका लिनक्स सर्वर है या नहीं एक देशी मशीन, एक स्थानीय वीएम, या एडब्ल्यूएस या डिजिटल महासागर पर चल रहा है: यह सब एक ही काम करता है!


वैसे, क्या वीएम बनाम देशी लिनक्स में भी यही डायरेक्टरी स्ट्रक्चर होगा?
उत्तुक्क

3
हाँ। आपके उद्देश्यों के लिए यह मूल रूप से इंस्टॉल के समान है।
seumasmac

यह सबसे सुरक्षित उत्तर है, लेकिन पुस्तक के आधार पर मैं मानूंगा कि कमांड लाइन बुक के लिए एक परिचय मतभेदों के कई (यदि कोई हो) नहीं दिखाएगा। मैनुअल पर एक नज़र के बाद केवल एक चीज जो मुझसे चिपकी रहती है वह है डायरेक्टरी स्ट्रक्चर की व्याख्या।
२१:११ बजे

1
@Utku अगर / dev / sda या / dev / hda किताब में उल्लिखित है और आप इसे अपनी स्थापना में नहीं पा सकते हैं, तो / dev / vda की तलाश करें। यह एकमात्र संभावित अंतर है जिसके बारे में मैं सोच सकता हूं, जो आपके लिए मायने रखेगा।
किममैक्स

1
यदि आपको अपने HD पर स्थान का एक गुच्छा नहीं लेना है, तो आपको एक VM का उपयोग करने की भी आवश्यकता नहीं है, एक लाइव सीडी का उपयोग भी संभव है। इसे फ्लैश ड्राइव से भी बूट किया जा सकता है, और सीडी / बूट करने योग्य फ्लैश ड्राइव बनाने में बहुत कम समय लगता है।
क्रिस साइरफिस

18

OS X कमांड लाइन सीखने के लिए पर्याप्त है क्योंकि यह एक प्रमाणित UNIX है और POSIX के अनुरूप है। यदि आप लिनक्स विशिष्ट कमांड लाइन बुक देख रहे हैं, तो आपको यह ध्यान रखना होगा कि ओएस एक्स में उपयोगकर्ता के उपकरण बीएसडी से प्राप्त किए गए हैं जबकि लिनक्स पर उपकरण जीएनयू हैं और उनके बीच कुछ सूक्ष्म (और इतना सूक्ष्म नहीं) अंतर हैं।

यदि आप GNU टूल के साथ सीखना चाहते हैं, तो आप macports या homebrew के माध्यम से GNU यूजरलैंड स्थापित कर सकते हैं, या VM में एक पूर्ण लिनक्स इंस्टॉल कर सकते हैं।


तो, मुझे लगता है कि कमांड लाइन पर कोई "सामान्य" पुस्तक नहीं है? एक पुस्तक या तो GNU या BSD टूल्स का उपयोग करेगी। क्या वह सही है?
Utku

1
यदि आपके पास शेल (उदा bash) पर एक किताब है , तो यह किसी भी सिस्टम के बारे में बताएगा जो इसे चलाता है। यह तब होता है जब आप शेल के बाहर ऑपरेटिंग सिस्टम फीचर्स या विशिष्ट टूल का उपयोग करना शुरू करते हैं।
टेकनीक

1
@teppic लेकिन यह कैसे उपयोगी बस द्वारा एक खोल है ही ? AFAIK, अपने आप से एक शेल बेकार है क्योंकि इसमें निष्पादित करने के लिए कोई कमांड नहीं है। यहां तक ​​कि सबसे बुनियादी आज्ञाएं lsभी या तो जीएनयू या बीएसडी से होनी चाहिए (यदि मैं गलत हूं तो सही करें)। तो, मुझे लगता है कि इसका मतलब है कि मुझे एक टूलकिन (या पर्यावरण) चुनने की ज़रूरत है और वहां कमांड लाइन सीखना शुरू करना चाहिए। क्या वह सही है?
उत्तुक्क

@Utku कमांड समान हैं (अधिकांश भाग के लिए) लेकिन विकल्प और आउटपुट भिन्न हो सकते हैं (अक्सर क्योंकि GNU कई एक्सटेंशनों को लागू करता है)। बीएसडी और जीएनयू टूल के बीच आगे और पीछे जाना आसान है।
केसी

@ एक्सी तो मैं बस ओएस एक्स पर किताब के साथ शुरू कर सकता हूं। फिर अगर मैं व्यवहार के साथ सामना नहीं करता हूं जैसा कि पुस्तक में वर्णित है, तो मैं इसे लिनक्स पर आज़मा सकता हूं या बस उसी कमांड के बीएसडी संस्करण को देख सकता हूं?
Utku

9

अब तक कुछ अच्छे उत्तर, लेकिन डिफ़ॉल्ट OS X कमांड लाइन टूल से दूर रहने का एक और कारण यह है कि वे बहुत पुराने संस्करण हैं। उदाहरण के लिए, ओएस एक्स grep2004 से है, और bash2007 से है! कारण है कि एप्पल GPL3 के अंतर्गत लाइसेंस जहाज उपकरणों के लिए मना कर दिया है।

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


3

पहला अंतर:

ls * -lah

लिनक्स पर काम करता है, मैक पर विफल रहता है (पैरामीटर पहले आना चाहिए)। मैक ओएस के लिए एक वीएम का उपयोग करें या एक पुस्तक प्राप्त करें। आपको वह सीखना चाहिए जिसे आप बाद में और फिर मतभेदों के लिए उपयोग करेंगे।


3
आपको कहना चाहिए कि ls * -lahलिनक्स पर काम करता है जिस तरह से यह लिनक्स पर काम करता है, और यह ओएस एक्स पर जिस तरह से काम करता है वह ओएस एक्स पर काम करता है। ओएस एक्स पर काम करने का तरीका पॉसिक्स के अनुसार सही है (12. उपयोगिता कन्वेंशन / 12.2 यूटिलिटी सिंटैक्स दिशानिर्देश / दिशानिर्देश 9) : "सभी विकल्पों को कमांड लाइन पर ऑपरेंड से पहले होना चाहिए।" जैसा कि getopt (3) में वर्णित है : "यदि ... पर्यावरण चर POSIXLY_CORRECT सेट है, तो विकल्प प्रसंस्करण बंद हो जाता है जैसे ही एक गैर-तर्क तर्क सामने आता है।"
जी-मैन ने कहा कि 'मोनिका'

3

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

मतभेदों का सामना करना भी एक मूल्यवान शिक्षण अनुभव होगा, भले ही यह कई बार निराशाजनक हो।

लिनक्स वीएम के साथ-साथ (संभवतः खतरनाक आदेशों के लिए) अभ्यास करने के लिए भी उपयोगी है, लेकिन सीखने के लिए वास्तविक दुनिया के उपयोग के लिए कुछ भी नहीं धड़कता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.