यूनिक्स कमांड बनाने के लिए किन भाषाओं का उपयोग किया जाता है?


9

आदेशों मैं की बात कर रहा हूँ के उदाहरण हैं ls, pwdऔर cd। इसके अलावा, ये कैसे बनाए जाते हैं? आपके पास कोई उदाहरण है?


2
क्या यह होमवर्क है?
स्टीफन लासिवस्की जूल

जवाबों:


26

यह आमतौर पर सादा होता है C। आदेशों lsऔर pwdसे आते हैं GNU Coreutils(सबसे?) लिनक्स वितरण (और शायद कुछ अन्य प्रणालियों) में पैकेज। आप उनके होमपेज पर कोड पा सकते हैं ।

के लिए coreutilsविशेष रूप से, आप उन्हें हमेशा की तरह चरणों के साथ निर्माण: स्रोत खोल के बाद, इस मुद्दे:

./configure --prefix=/some/path
                   # type ./configure --help to get the available options
make
make install       # could require root access depending on the path you used

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

ध्यान दें कि हालांकि एक cdनिष्पादन योग्य है , cdआप ज्यादातर परिस्थितियों में उपयोग कर रहे हैं एक अलग निष्पादन योग्य नहीं है। यह एक शेल बिल्ड-इन होना चाहिए (अन्यथा यह शेल की वर्तमान निर्देशिका को बदल नहीं सकता है - यह प्रक्रिया द्वारा ही किया जाना है), इसलिए इसे शेल के रूप में उसी भाषा में लिखा जाता है (जो अक्सर Cभी होता है)।

अन्य उदाहरण:

  • ओपनसोलारिस pwdस्रोत।
  • FreeBSD ls

आप इनमें से कई ऑनलाइन देख सकते हैं।


5

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

bash सी में भी लिखा है

यह ध्यान देने योग्य हो सकता है कि इन आदेशों को सी - में लिखा जाना जरूरी नहीं है , वास्तव में, कई मिनी लिनक्स वितरण luaइन और अन्य के कार्यान्वयन का उपयोग करते हैं।


2
अच्छी तरह से बैश, या किसी भी अन्य अच्छे खोल।
आरडीएस

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