लिनक्स कमांड क्या है जो लगभग सभी अन्य कमांड को इनकैप्सुलेट करता है?


23

मुझे याद है कि एम्बेडेड सिस्टम में चलने वाले लिनक्स के लिए, आकार सीमाओं के कारण, यह साधारण वर्कस्टेशन में उतने कमांड को पैक नहीं कर सकता है। तो वहाँ एक कर यह सब अनुकरण कर सकती है लगभग सभी आदेश (सहित आदेश है ls, cd, time, आदि), लेकिन मैं इसके नाम याद नहीं है।

मुझे केवल "मिनीबॉक्स" या कुछ और जैसे कुछ याद आया, ऐसा लगता है जैसे इसके नाम में "बॉक्स" है, क्या किसी को पता है कि इसका नाम क्या है?


12
इसे बिजीबॉक्स कहा जाता है।
मारियसमाटुटिया

6
cdहालांकि यह नकल नहीं करेगा , यह संभव नहीं है।
मोनिका

4
@ ऑरेंजडॉग: ... लेकिन यह नकल करेगा sh, जो cdएक अंतर्निहित है।
इल्मरी करोनें

उन सब पर राज करने वाला !!!
शोखत

5
डी'ओह, मैं कहने जा रहा था emacs...
R ..

जवाबों:


48

सबसे लोकप्रिय बिजीबॉक्स हो सकता है , लेकिन टूलबॉक्स (एंड्रॉइड द्वारा उपयोग किया गया), टॉयबॉक्स और शायद अन्य भी हैं।


यह स्पष्ट करने के लायक है कि बिजीबॉक्स एक इंस्टॉलर है, न कि एक मैजिक बाइनरी। कम से कम Android के लिए नहीं। बिजीबॉक्स मूल रूप से डिवाइस पर नहीं होने वाले टूल के लिए एक इंस्टॉलर है। यह डिवाइस पर पहले से मौजूद बायनेरिज़ को देखता है और उन्हें जोड़ता है। मेरे लिए, इसने नए बायनेरिज़ को / system / xbin / में रखा।
कोरी ओगबर्न

1
@ क्या आपको यकीन है? इसके बारे में पेज का कहना है कि "बिजीबॉक्स एक छोटे से निष्पादन योग्य में कई आम यूनिक्स उपयोगिताओं के छोटे संस्करणों को जोड़ती है।"
RedGrittyBrick

पूर्ण रूप से। मैं iOS के बारे में निश्चित नहीं हूं, लेकिन एंड्रॉइड में आपको बिजीबॉक्स इंस्टॉल करना होगा। ऐप ही आपको बताता है कि आप कौन सा वर्जन बिजीबॉक्स चुनें और उन्हें कहां इंस्टॉल करें। मेरा वर्तमान में "बिजीबॉक्स v1.22.1-Stericson स्थापित है। बिजीबॉक्स / सिस्टम / xbin" में स्थापित है। आप स्थापित बायनेरिज़ की सूची को देख सकते हैं और उन्हें / सिस्टम / xbin / में पा सकते हैं। यह एक शेल नहीं है, यह एक ऑल-इन-वन बाइनरी नहीं है, यह बायनेरिज़ का एक बंडल और एक आसान इंस्टॉलर है।
कोरी ओगबर्न

2
@CoreyOgburn: मूल बिजीबॉक्स ही एप्लिकेशन है। एंड्रॉइड ऐप, हालांकि बिजीबॉक्स नाम दिया गया है, केवल एक ऐप है जो "वास्तविक" बिजीबॉक्स स्थापित करता है। बिजीबॉक्स खुद मूल रूप से एक ही है, चाहे वह एंड्रॉइड, आईओएस, बीएसडी या किसी अन्य सिस्टम पर हो। केवल इंस्टॉलर अलग हो सकते हैं।
माइकल एहरेनरीच

3
और "कई निष्पादनयोग्य" या तो सच नहीं है; बिजीबॉक्स अपने आप में एक टन प्रतीकात्मक लिंक बनाता है। जैसे grepशायद बिजीबॉक्स का लिंक है। एक अपवाद के रूप में होने जा रहा है cdकि एक खोल में निर्मित होना है।
एमएसलटर्स


3

बिजीबॉक्स को काफी उपन्यास तरीके से डिज़ाइन किया गया है, जब आप अपने / बिन निर्देशिकाओं में घूमना शुरू करते हैं तो काफी भ्रमित हो सकते हैं।

MSalters के रूप में ने संकेत दिया, बिजीबॉक्स सिर्फ एक निष्पादन योग्य है। लेकिन यह उस प्रतीकात्मक लिंक पर निर्भर करता है, जो इसमें प्रत्येक "कमांड" के लिए निष्पादन योग्य बनाया जा रहा है। सिम्लिंक नाम को जानने के साथ इसे शुरू किया गया था, यह उस कमांड के लिए C फ़ंक्शन को चलाना जानता है।

इस प्रकार, मेरी PuppyLinux की शुरुआत 5.2.8 लुसीड / बिन निर्देशिका की तरह लगती है ...

sh-4.1# ls -l
total 4889
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 [ -> busybox
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 [[ -> busybox
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 addgroup -> busybox
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 adduser -> busybox
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 ash -> busybox
-rwxr-xr-x 1 root root   2844 2011-08-17 11:04 autologinroot
lrwxrwxrwx 1 root root      4 2011-08-17 10:49 awk -> gawk
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 basename -> busybox
-rwxr-xr-x 1 root root 805960 2011-08-17 11:04 bash
-r-xr-xr-x 1 root root   6835 2011-01-21 01:29 bashbug
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 bbconfig -> busybox
-rwxr-xr-x 1 root root  30200 2011-08-17 11:04 bunzip2
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 bunzip2-BB-NOTUSED -> busybox
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 busybox
-rwxr-xr-x 1 root root  30200 2011-08-17 11:04 bzcat
lrwxrwxrwx 1 root root      7 2011-08-17 10:49 bzcat-BB-NOTUSED -> busybox

ध्यान दें कि अधिकांश आदेशों के प्रति सहानुभूति है busybox। इसमें ashबूट ऑपरेशन के दौरान उपयोग किए जाने वाले बहुत ही न्यूनतम शैल शामिल हैं । यह भी ध्यान दें कि वितरण लेखक ने स्टैंडअलोन कमांड को शामिल करने के लिए चुना bunzip2और bzcatव्यस्त बॉक्स संस्करणों का उपयोग करने के बजाय। सहानुभूति bunzip-BB-NOTUSEDऔरbzcat-BB-NOTUSED वास्तव में आवश्यक नहीं हैं, लेकिन दस्तावेज़ में मदद करता है कि सिम्लिंक की लागत के लिए क्या हो रहा है।

यह भी ध्यान दें कि एक निर्देशिका सूची जो कि सिम्कलिंक के बजाय साइलिंक्स ( ls -lLया ls -l --dereference) के लक्ष्य के लिए रिपोर्ट करती है, प्रत्येक कमांड के आकार को उसी के समान रिपोर्ट करेगी busybox। इस प्रकार -Lविकल्प के साथ एक ही सूची दिखाता है ...

sh-4.1# ls -lL
total 60402
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 [
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 [[
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 addgroup
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 adduser
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 ash
-rwxr-xr-x 1 root root   2844 2011-08-17 11:04 autologinroot
-rwxr-xr-x 1 root root 317880 2011-08-17 11:04 awk
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 basename
-rwxr-xr-x 1 root root 805960 2011-08-17 11:04 bash
-r-xr-xr-x 1 root root   6835 2011-01-21 01:29 bashbug
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 bbconfig
-rwxr-xr-x 1 root root  30200 2011-08-17 11:04 bunzip2
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 bunzip2-BB-NOTUSED
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 busybox
-rwxr-xr-x 1 root root  30200 2011-08-17 11:04 bzcat
-rwxr-xr-x 1 root root 637960 2011-08-17 11:04 bzcat-BB-NOTUSED

बिजीबॉक्स का उद्देश्य आदेश के एक आम सेट के लिए आवश्यक मेमोरी (और "पदचिह्न") को कम करने के लिए अपने भीतर कोड का अधिकतम पुन: उपयोग है ... बिना शेल की आवश्यकता के।

बैश और अन्य गोले एक ही चीज को पूरा करते हैं। लेकिन ऐसा करने के लिए, वे अपने स्वयं के कमांडलाइन वातावरण को लागू करते हैं। यह उद्देश्य कई शेल कार्यात्मकताओं के लिए बहुत पुरातन वाक्यविन्यास के कुछ कारणों में से एक भी है।

मैं वर्तमान में बैश फ़ंक्शंस की लाइब्रेरी के लिए इस "बिजीबॉक्स तकनीक" का उपयोग कर रहा हूं और विभिन्न बशीज़ के लिए रैपर का उपयोग करना आसान है । यह मुझे आसानी से --helpविकल्प के साथ "विस्तार" आदेश देता है और उपलब्ध होने पर GUI संस्करणों को बंद कर देता है।

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