मेरे पास इसके दो उदाहरण हैं और मैं सोच रहा हूं कि प्रत्येक क्या करता है:
service=~
mv ~/Desktop/Service$version.tgz $service
छोटी स्क्विगली क्या करती ~
है?
फिर, उसके बाद, क्या करना होगा cd $service
?
मेरे पास इसके दो उदाहरण हैं और मैं सोच रहा हूं कि प्रत्येक क्या करता है:
service=~
mv ~/Desktop/Service$version.tgz $service
छोटी स्क्विगली क्या करती ~
है?
फिर, उसके बाद, क्या करना होगा cd $service
?
जवाबों:
स्क्विगली चीज़ को "टिल्ड" कहा जाता है।
यह आपके घर निर्देशिका में फैलता है।
प्रयत्न
echo ~
echo $HOME
दोनों कथनों ने आपके घर निर्देशिका को एक पंक्ति में रखा।
देखें बैश टिल्ड विस्तार जानकारी के लिए।
"स्क्विगली" को टिल्ड कहा जाता है। इसका उपयोग आपके घर की निर्देशिका को संदर्भित करने के लिए किया जाता है, जो कि लिनक्स पर होता है /home/username
। इसे $HOME
पर्यावरण चर में भी संग्रहीत किया जाता है । ~
होम निर्देशिका के स्थान पर विस्तार करना शेल (जैसे zsh या bash) या फ़ाइल प्रबंधक (Nautilus की तरह) का काम है न कि फाइलसिस्टम या OS का स्व।
आप इसका उपयोग किसी अन्य उपयोगकर्ता के घर निर्देशिका को संदर्भित करने के लिए भी कर सकते हैं। उदाहरण के लिए, यदि अन्य उपयोगकर्ता का उपयोगकर्ता नाम है bob
, तो आप उनकी होम निर्देशिका को संदर्भित कर सकते हैं ~bob
, जिसका विस्तार किया जाएगा /home/bob/
।
आपके द्वारा दिया गया पहला उदाहरण चर service
को सेट करता है ~
, इसलिए यह आपके होम डायरेक्टरी से मेल खाता है। यह service=/home/username
या के बराबर है service=$HOME
।
दूसरा उदाहरण फ़ाइल ~/Desktop/Service$version.tgz
(या /home/username/Desktop/Service$version.tgz
) से कॉपी करता है /home/username
। यह आदेश इसके बराबर है:
mv ~/Desktop/Service$version.tgz ~
या
mv ~/Desktop/Service$version.tgz $HOME
या
mv ~/Desktop/Service$version.tgz /home/username/
तीसरा वर्तमान कार्य निर्देशिका ( $PWD
) को बदल देगा /home/username/
। यह इसके बराबर है:
cd /home/username/
या
cd $HOME
दोनों में # 1 & # 2: ~ आपकी होम डायरेक्टरी है, इसलिए यदि आप क्वर्टी हैं तो यह संभवतः डायरेक्टरी / होम / वीवर्टी होगी। इसलिए ls ~
उसे देखने की कोशिश करें।
# 1 के लिए: यह मुझे ऐसा लगता है जैसे चर सेवा को आपकी होम निर्देशिका के रूप में परिभाषित किया जा रहा है।
इसका मतलब है कि # 2 के बाद डेस्कटॉप उपनिर्देशिका से tgz फाइल को आपकी होम डाइरेक्टरी में ले जाया गया है, # 3 तब होम डायरेक्टरी में बदलाव होता है।
ऐसा लगता है कि कमांड निम्नलिखित कर रहे हैं।
उदाहरण के लिए, अपने होम फोल्डर स्थान पर एक चर नामक सेवा प्रदान करें:
/home/user
यह आपके डेस्कटॉप से फ़ाइल को आपके होम डायरेक्टरी के शीर्ष स्तर पर ले जाता है, उदाहरण के लिए:
/home/user/Desktop/Service$version.tgz $service
स्क्रिप्ट तब निर्देशिका को होम निर्देशिका के शीर्ष स्तर पर बदल देती है।
इसलिए, सभी स्क्रिप्ट जो कर रही है वह केवल आपके डेस्कटॉप को फ़ाइल को आपके /home/user
फ़ोल्डर में स्थानांतरित करके साफ कर रही है ।