LINUX सिस्टम पर / usr / लोकल / बिन / का उद्देश्य


1

यहाँ नहीं हैं। इस रास्ते पर मौजूद लिपियों की /usr/local/bin/। उपयोगकर्ता के लिए, निर्देश स्क्रिप्ट का नाम टाइप करने के लिए हैं <script_name> उसके संकेत पर [username@servername]$। यह कैसे संभव हो सकता है कि मैंने टाइप नहीं किया ./script_name और स्क्रिप्ट ने केवल उपयोगकर्ता प्रॉम्प्ट पर स्क्रिप्ट नाम लिखकर मानक आउटपुट पर परिणाम दिखाना शुरू कर दिया है? के बारे में पता करने के लिए पतली दिलचस्प हो सकता है / usr / स्थानीय / बिन / पर लिनक्स प्रणाली :-)


मुझे लगता है, यह सवाल superuser.com पर एक खुशहाल जीवन जीएगा
Boldewyn

जवाबों:


1

बीएसडी सिस्टम पर, सभी गैर-सिस्टम सॉफ़्टवेयर (पोर्ट) स्थापित हैं /usr/local डिफ़ॉल्ट रूप से।

अधिकांश लिनक्स वितरण पर इसका उपयोग स्रोत से स्थानीय व्यवस्थापक द्वारा स्थापित सॉफ़्टवेयर के लिए किया जाता है, जो वितरण पैकेज प्रबंधक को दरकिनार करता है।


1

/usr/local उस सामान के लिए जिसे आप ऑपरेटिंग सिस्टम को अपग्रेड करते समय नष्ट नहीं करना चाहते हैं।

OS जो कुछ भी चाहता है उसे उड़ाने के लिए स्वतंत्र है /usr/bin एट अल, स्थानीय बदलाव को आपके गैर-ओएस सामान को नष्ट करने से रोकने के लिए स्थापित किया गया था।

और, यह सब स्थानीय सामान रखकर ( bin, etc, और इसी तरह) एक नियंत्रण बिंदु के तहत, यह एक साइट का बैकअप बहुत आसान बनाता है (जैसा कि प्राप्त करने के लिए विरोध किया गया है /bin, /etc, /lib और इतने पर OS सामान) - आप अभी पूरा बैकअप लें /usr/local पदानुक्रम।

अगर तुम echo $PATH, आप शायद पाएंगे /usr/local/bin है। वैकल्पिक रूप से, प्रयास करें which PROG (जगह PROG अपने वास्तविक कार्यक्रम के नाम के साथ) यह देखने के लिए कि यह कहाँ मिल रहा है:

pax> pwd
/home/pax

pax> echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin

pax> ls /usr/local/bin/ico*
iconv

pax> which iconv
/usr/local/bin/iconv

pax> iconv -?
Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]
or:    iconv -l
Try 'iconv --help' for more information.

0

/ usr / स्थानीय / बिन शायद आपके रास्ते का हिस्सा है


0

/ Usr / स्थानीय / बिन के उद्देश्य के बारे में अपने शीर्षक का जवाब देने के लिए  / usr / स्थानीय मशीन के लिए स्थानीय सॉफ्टवेयर के लिए होते हैं, आमतौर पर मैन्युअल रूप से इंस्टॉल किए जाते हैं (और rpm या डेबिट जैसे पैकेज प्रबंधन के माध्यम से नहीं)

आपके वास्तविक प्रश्न का उत्तर देने के लिए, मुझे लगता है कि आपको PATH चर के बारे में सीखना चाहिए। एक टर्मिनल में $ PATH प्रतिध्वनि का प्रयास करें

./scriptcript.sh का अर्थ है कि आप स्क्रिप्ट को वर्तमान निर्देशिका () में होने की उम्मीद कर रहे हैं। यदि आप कोई रास्ता नहीं रखते हैं, तो बस एक कमांड का नाम, शेल कमांड को खोजने के लिए पथ में दिखेगा (जब तक कि यह आपके शेल का आंतरिक कमांड नहीं है)।


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