क्या लिनक्स कमांड यूनिक्स कमांड के साथ विनिमेय हैं?


21

मुझे लगता है कि कुछ कमांड, उदाहरण के लिए, lsऔर pwd, लिनक्स और यूनिक्स दोनों प्रणालियों पर उपयोग किए जा सकते हैं।

  • क्या ऐसा है कि सभी लिनक्स कमांड यूनिक्स सिस्टम में इस्तेमाल किए जा सकते हैं, और सभी यूनिक्स कमांड लिनक्स में इस्तेमाल किए जा सकते हैं?
  • या बस यह कि सभी लिनक्स कमांड यूनिक्स पर चल सकते हैं लेकिन सभी यूनिक्स कमांड लिनक्स पर नहीं चल सकते।
  • या कि सभी यूनिक्स कमांड लिनक्स पर चल सकते हैं, लेकिन सभी लिनक्स कमांड यूनिक्स पर नहीं चल सकते हैं?
  • या मुझे यह दिखाने के लिए एक संदर्भ है कि कौन सी कमांड लिनक्स और यूनिक्स दोनों पर चल सकती है, और जहां दोनों की अपनी अनूठी कमांड है?

28
"POSIX" के बारे में पढ़ें।
डैनियल एंडरसन

1
ध्यान दें कि यह "लिनक्स" कमांड नहीं है, यह एक GNU कमांड है। जीएनयू उपकरण को FreeBSD पर स्थापित किया जा सकता है, उदाहरण के लिए।
new123456

2
हेक, जीएनयू उपकरण यूनिक्स पर भी स्थापित किए जा सकते हैं।
एमएसलटर्स

जवाबों:


37

POSIX के बारे में डैनियल एंडरसन की टिप्पणी यहां वास्तविक जवाब है: POSIX नामक एक मानक है जो शेल कमांड और सिस्टम कॉल दोनों के संदर्भ में एक UNIX जैसी प्रणाली के मूल को परिभाषित करता है। सिद्धांत रूप में, यदि आप POSIX कल्पना के लिए सॉफ़्टवेयर लिखते हैं, तो इसे किसी भी UNIX, Linux, BSD आदि सिस्टम पर संकलित करना और चलाना संभव होना चाहिए।

http://pubs.opengroup.org/onlinepubs/009695399/mindex.html आपको एक निश्चित उत्तर देगा कि POSIX का गठन क्या है, लेकिन यह व्यावहारिक उद्देश्यों के लिए उपयोगी उत्तर नहीं है। किसी और के लिनक्स सिस्टम और अन्य यूनिक्स जैसे सिस्टम के बीच आम अंतर के लिए अच्छे कमांड संदर्भ हो सकते हैं।

एक विशिष्ट उदाहरण: लिनक्स पर "किलॉल" एक विशेष नाम के साथ सभी प्रक्रियाओं को मारता है। सोलारिस पर, यह सिस्टम को बंद कर देता है। महत्वपूर्ण गलत का उपयोग नहीं करने के लिए।


10
@ tchrist- यदि आप वास्तव में ऐसा सोचते हैं, तो Mac OS X पर "sudo apt-get" टाइप करें और देखें कि यह आपको कितनी दूर जाता है।
डेविड रॉबिन्सन

7
@tchrist जब टेड वोंग ने लिनक्स का उल्लेख किया, तो वह स्पष्ट रूप से ऑपरेटिंग सिस्टम के बारे में बात कर रहा था जिसे GNU / Linux के रूप में भी जाना जाता है और यह इस नाम पर वहीं कहता है कि "GNU's Not Unix!" ;)
जोबा पोर्टेला

4
दरअसल, जैसा कि मैं इसे समझता हूं, मैक ओएस एक्स एक प्रमाणित यूनिक्स है - लिनक्स वेरिएंट के कुछ बहुत कम (यदि कोई हो)। जाहिर है यह सिर्फ एक बहुत ही बुनियादी मानक के प्रमाणीकरण का विषय होगा।
बिल K

2
@tchrist L inux I s N ot U ni X
डेव

4
@ दवे बाह। लंगड़ा मत होना। कॉल एक कुदाल एक कुदाल, एक catएक cat, और याद रखें कि किसी अन्य नाम से एक गुलाब अभी भी मिठाई के रूप में गंध जाएगा। आप को एक विंडोज बॉक्स पर ले जाएं और जानें कि यूनिक्स क्या नहीं है । लेकिन लिनक्स बेशक यूनिक्स का है।
tchrist

18

अधिकांश लिनक्स वितरण आज आवश्यक जीएनयू सॉफ्टवेयर और जीएनयू टूलचैन के साथ आते हैं। GNU, यूनिक्स की एक फ्री-इन-इन-फ्रीडम कॉपी को फिर से लिखने का प्रोजेक्ट था जिसे बाद में लिनक्स कर्नेल के साथ जोड़ा गया। जब आप lsएक यूनिक्स मशीन पर उपयोग करते हैं तो आप मूल का उपयोग कर रहे होते हैं / जो मूल के हो जाते हैं ls। जब आप lsजीएनयू / लिनक्स पर उपयोग करते हैं, तो आप जीएनयू का उपयोग कर रहे हैं lsजो स्क्रैच से उसी के रूप में लिखा गया था ls। हालाँकि, सभी GNU सॉफ्टवेयर अपने यूनिक्स समकक्षों के समान नहीं हैं। अब चूंकि यूनिक्स अनिवार्य रूप से बीएसडी में बदल गया है, जीएनयू / लिनक्स डिस्ट्रोस में बीएसडी संस्करण भी हो सकता है। उदाहरण के लिए, bsdtarऔर tarमन में आया।

tl; dr: वे ठीक उसी कोड नहीं हैं, लेकिन वे सबसे अधिक भाग के लिए होते हैं बिल्कुल समान हैं।


2
अंतर के रूप psमें सबसे कष्टप्रद उदाहरण है जिसके बारे में मैं सोच सकता हूं। विभिन्न प्रणालियों (लिनक्स, एआईएक्स और सोलारिस) पर अलग-अलग स्विच। आउटपुट का अलग प्रारूप भी। यद्यपि उस आदेश का उद्देश्य सभी प्रणालियों पर समान है।
एल्मो

5

आपने निर्दिष्ट नहीं किया कि आप किस UNIX के बारे में बात कर रहे हैं (BSD, System V ...)। कोई सार्वभौमिक (UNIX) उत्तर नहीं है। प्रत्येक UNIX संस्करण का अपना कस्टम कमांड होता है (उदाहरण के लिए Mac OS X लें), इसलिए UNIXes के बीच भी अलग-अलग कमांड होते हैं। आमतौर पर पुराने कमांड (जैसे ls, pwd, cd, cp, mv, rm ...) सभी UNIX फ्लेवर्स (लिनक्स सहित) पर समान होते हैं।



4

आपको पहले इस बात पर विचार करने की आवश्यकता है कि कमांड वास्तव में छोटे कार्यक्रम हैं, इस अर्थ में यदि आप बालों को विभाजित करते हैं, तो ऑपरेटिंग सिस्टम का एक हिस्सा जरूरी नहीं है। पुराने और क्लासिक लंबे समय से आसपास रहे हैं, और अधिकांश * निक्स सिस्टम में शामिल हैं। बस कैसे "पूरा" ओएस पैकेज के साथ आता है पर निर्भर करता है।

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


3

सोलारिस पर आपको बस /usr/gnu/binअपने रास्ते में जोड़ना होगा या इसके साथ विनिमय करना /usr/binहोगा और आपके कमांड सेट बहुत समान होंगे

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