~ $ के लिए क्या खड़ा है?


27

किसलिए ~$खड़ा है? उदाहरण के लिए:

user@ubuntu:~$

अब तक मैं जानता हूं कि $संकेत एक नियमित उपयोगकर्ता के लिए एक प्रतीक है। अगर मैं गलत नहीं कर रहा हूँ rootहै #अंत में।

मुझे उन मंचों पर बहुत सारी कमांड मिलीं जो इसके साथ शुरू होती हैं $:

$ sudo apt-get update 

तो $वास्तव में किसके लिए खड़ा है?

EDIT (28.01.2014):

आज मैं इस वीडियो पर आया, जिसने 8 महीने पहले मेरे सवाल का पूरी तरह से जवाब दिया और इसे यहाँ साझा करने का फैसला किया :)

BASH मूल बातें - https://www.youtube.com/watch?v=x73WTEltyHU

जवाबों:


33

~और $के तत्व हैं कमांड लाइन शीघ्र । यह इंगित करता है कि आपका कंप्यूटर (या अधिक सटीक रूप से, मुझे लगता है, जो शेल आप चला रहे हैं) उपयोगकर्ता इनपुट की प्रतीक्षा कर रहा है। यह आपको एक कमांड इनपुट करने के लिए प्रेरित कर रहा है।

$महज एक विभाजक या विभक्त है। यह कमांड प्रॉम्प्ट को कमांड से अलग करता है जो इसका अनुसरण करता है। जब लोग ऐसी चीजों को $ sudo apt-get update(आपके उदाहरण के रूप में) लिखते हैं , तो वे बस आपको बता रहे हैं कि कमांड, इस मामले में sudo apt-get update, कमांड प्रॉम्प्ट पर दर्ज करने की आवश्यकता है। कड़ाई से बोलना, शायद, $इस संदर्भ में बेमानी है।

अन्य विभाजकों का उपयोग अन्य स्थितियों में किया जा सकता है। उदाहरण के लिए, #रूट शेल के लिए उपयोग किया जाता है।

~(तथाकथित 'टिल्ड') अपने घर निर्देशिका के लिए आशुलिपि है। जब यह कमांड प्रॉम्प्ट में दिखाई देता है, उदाहरण के लिए user@hostame:~$, यह इंगित करता है कि वर्तमान कार्यशील निर्देशिका आपकी होम निर्देशिका है। इस प्रकार यदि आप lsकिसी विशेष निर्देशिका को निर्दिष्ट किए बिना सूची कमांड चलाते हैं , तो यह आपके होम निर्देशिका की सामग्री को सूचीबद्ध करेगा।

(वैसे, $HOMEएक कमांड नहीं है, जैसा कि आप सुझाव देते हैं, बल्कि एक पर्यावरण चर है । यह आपके होम डायरेक्टरी के स्थान को निर्धारित करता है। आप चलकर इसका मूल्य देख सकते हैं $ echo $HOME।)


10
@FEarBG मुझे लगता है कि यह उत्तर एक छोटे से पहलू में विफल हो जाता है: संकेत पूरी तरह से अनुकूलन योग्य है और सिर्फ एक सजावट है; आप एक खाली प्रॉम्प्ट करने का निर्णय ले सकते हैं, या आपको जो भी प्रतीक पसंद हैं उसका उपयोग कर सकते हैं (जैसे कि मेरे कंप्यूटर पर मैंने $̃∴) के साथ शीघ्र प्रतीक के रूप में प्रतिस्थापित किया है)। आप PS1पर्यावरण चर को अपनी पसंद के हिसाब से सेट कर सकते हैं।
बकुरीउ

@ बकुरी मान लेना, बेशक। अन्य गोले अलग हो सकते हैं।
बजे एक सीवी

1
"सख्ती से बोलना, शायद, $ इस संदर्भ में बेमानी है।" - हाँ, यही कारण है कि हम आम तौर पर इससे बचने के लिए पसंद करते हैं $यदि इसके लिए कोई आवश्यकता नहीं है (जो लॉग प्रतियां या उदाहरण के लिए आउटपुट के लिए है, उदाहरण के लिए)।
user98085

12

परंपरागत रूप से, एक शेल प्रॉम्प्ट या तो $,% या # के साथ समाप्त होता है। यदि यह $ के साथ समाप्त होता है, तो यह एक शेल को इंगित करता है जो बॉर्न शेल (जैसे कि पोसिक्स शेल, या कोर्न शेल या बैश) के साथ संगत है। यदि यह% के साथ समाप्त होता है, तो यह एक सी शेल (csh या tsh) को इंगित करता है। यदि यह # के साथ समाप्त होता है, तो यह इंगित करता है कि शेल सिस्टम के सुपरयूज़र अकाउंट (रूट) के रूप में चल रहा है।

स्रोत : यहाँ


कुछ (पुराने, आमतौर पर) सिस्टम पर, आपके पास एक नियमित उपयोगकर्ता के रूप में भी "#" होता है (हो सकता है कि आपको अपने पैर की अंगुली ^ ^ पर रखने के लिए) ... यानी, यदि आप जड़ हैं तो कुछ पुराने गोले प्रतीक नहीं बदलते हैं - बनाम- नियमित उपयोगकर्ता।
ओलिवियर दुलक


10
  • ~ अपने घर निर्देशिका के लिए खड़ा है।
  • $यह आपके सिस्टम के लिए एक विभाजक है, यह मैन पेज\$ से कमांड से आता है

इसलिए यदि आप $इसके साथ एक कमांड की शुरुआत करते हैं, तो यह कहते हैं कि इससे पहले कुछ भी नहीं जोड़ा जाना चाहिए।

user@ubuntu:~$

userवह उपयोगकर्ता नाम है जिसके साथ आप लॉग इन हैं।
@बस यहाँ एक लिंक है कहने के लिए
ubuntuउस सिस्टम का नाम है जिसे आपने लॉग इन किया है।
:~कहते हैं कि अब आप userहोम डायरेक्टरी में हैं।
$में \$भागने के क्रम से आता है $PS1आदमी पेज।

लेकिन मैन पेज में पढ़कर यह सब बदला जा सकता है मदद के लिए धन्यवाद @demure


2
विशिष्ट होने के लिए, यह \$$ PS1 का हिस्सा है, जिसे यह दिखाने के लिए डिज़ाइन किया गया है $कि रूट नहीं है (अन्यथा यह होगा #) मैन पेज एक्सर्ट
demure

@ अचानक मेरे उत्तर को अपडेट किया गया, अगर आपको लगता है कि आप इसे सुधार सकते हैं तो कृपया ऐसा करें।
अलवर

6

$ टर्मिनल में प्रॉम्प्ट के अंत पर हस्ताक्षर करते हैं जब आप एक कमांड जोड़ते हैं जैसे आपने दिखाया था, तो $ में टाइप न करें यह काम नहीं करेगा।

तो $ sudo apt-get update

में टाइप किया जाएगा:

sudo apt-get update 

उम्मीद है की वो मदद करदे।

संपादित करें

आपके होम फोल्डर के लिए ~ का अर्थ है name@pc_name:~/Desktop$कि आप होम> डेस्कटॉप फ़ोल्डर में हैं।


3
शायद यह दिखाने के लिए कि आपको प्रॉम्प्ट पर कमांड दर्ज करनी चाहिए।
सिंपलीसमैन

4
और एक सामान्य उपयोगकर्ता ($ प्रॉम्प्ट पर) बनाम रूट (# प्रॉम्प्ट) द्वारा संचालित कमांड के बीच अंतर करने के लिए भी।
कोन्सलेयर

@FEarBG: यह एक मनमाना सम्मेलन है, जो असंबंधित है (जहाँ तक मुझे पता है) $एक चर नाम को दर्शाने के लिए। कीबोर्ड पर केवल बहुत सारे प्रिंट करने योग्य पात्र उपलब्ध हैं। >प्रॉम्प्ट में डॉस और विंडोज का उपयोग , यूनिक्स आमतौर पर उपयोग करता है $या %। यह आपको बताता है कि "यह एक संकेत है" आपकी स्क्रीन पर अंतरिक्ष को बर्बाद किए बिना (या, पुराने दिनों, स्याही और कागज में)।
कीथ थॉम्पसन

और निश्चित रूप से, डॉस और विंडोज पर्यावरण चर में उपयोग करते हैं %। जैसा कि आप कहते हैं, यह काफी हद तक मनमाना है; वहाँ बहुत कुछ होने की जरूरत है , लेकिन यह हर जगह एक ही होने की जरूरत नहीं है (हालांकि यह अगर यह अच्छा था की तरह होगा)।
बजे एक सीवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.