फ़ाइल पथ में ~ का क्या अर्थ है?


43

~निरपेक्ष फ़ाइल पथ में क्या मतलब है?

मैं इसे स्क्रिप्ट बनाने जैसी चीजों के आउटपुट में देखता हूं लेकिन रास्ता मौजूद नहीं है।


25
कौन सा ऑपरेटिंग सिस्टम?
क्रिसएफ

क्या विंडोज डिफ़ॉल्ट पासा-रोल नहीं है?
पचेरियर

जवाबों:


35

आम तौर पर इसका मतलब है कि उपयोगकर्ता की होम डायरेक्टरी उदा उपयोगकर्ता की होम डायरेक्टरी ~mike/होगी mike, ~/आपकी खुद की होम डायरेक्टरी होगी। हालांकि, यह है कि क्या मेरे लिए स्पष्ट नहीं है ~/और ~mike/पूर्ण या संबंधित विचार किया जाना चाहिए; यह दी गई परिभाषा पर निर्भर करता है (यदि कोई व्यक्ति आधिकारिक संदर्भ के साथ आ सकता है, तो कृपया एक टिप्पणी पोस्ट करें)।

ध्यान दें कि मैं यहां यूनिक्स आधारित प्रणालियों के बारे में बात कर रहा हूं।

Http://en.wikipedia.org/wiki/Home_directory#Unix देखें


3
वे निरपेक्ष हैं, क्योंकि वे निरपेक्ष पथ के लिए समानार्थक हैं: UNIX पर, पूर्ण पथ /etc/loginफ़ाइल की सामग्री से अनुमान लगाया जा सकता है । विस्तार पारंपरिक रूप से शेल द्वारा किया जाता है, लेकिन "स्क्रिप्टिंग" होने का दिखावा करने वाली कोई भी भाषा ऐसा करेगी।
चार्ल्स स्टीवर्ट

2
+1: मुझे इस ~username/चीज के बारे में पता नहीं था ।
वफ़र्स

2
दिलचस्प है, विंडोज ~पॉवरशेल भी उपयोगकर्ता के घर के निर्देशन के लिए एक पर्याय के रूप में स्वीकार करता है ।
जोए

1
जेफरी स्नोवर ने कहा है कि पावरशेल मूल रूप से VIM / EMACs के आसपास आधारित था
बेनामी टाइप

1
@Charles स्टीवर्ट यकीनन कम से कम ~ / सापेक्ष है क्योंकि यह उपयोगकर्ताओं के संदर्भ पर निर्भर करता है। इसके अलावा कुछ संदर्भ एक निरपेक्ष पथ को परिभाषित करते हैं जैसा कि फाइलसिस्टम की जड़ से दिया गया है, जो कि ये स्पष्ट रूप से नहीं हैं। यदि आपके पास अपने बयान के लिए एक संदर्भ है, तो कृपया साझा करें!
एड्रियन मौट

21

दरअसल, एड्रियन माउट और स्टूडियॉक के दोनों जवाब सही हैं।
सीमित नामकरण सम्मेलन (विंडोज / डॉस आदि का पुराना संस्करण) के साथ ऑपरेटिंग सिस्टम में यह एक लंबा नाम दर्शाता है।

e.g. "c:\program files\" is equivalent to "c:\progra~1\"

कुछ ऑपरेटिंग सिस्टम (अर्थात् यूनिक्स) में इसका अर्थ है घर-दिर (और इसे एक निरपेक्ष लेकिन विहित पथ के रूप में देखा जा सकता है)।
e.g."/a/vol01/usr/mike/" might be shortened to "~/mike/"
* जहाँ us usr ’घर की डिअर है।


2
बिल्ड स्क्रिप्ट के संदर्भ में, यह शायद यूनिक्स-केंद्रित संस्करण है।
चार्ल्स स्टीवर्ट

2
यूनिक्स रास्ते आमतौर पर बैकस्लैश की बजाय फॉरवर्ड-स्लैश का उपयोग करते हैं।
तोरन गुंडोफ्टे-ब्रून

@torbengb, सच ... ऑप्स
एरन

1
Xenorose के अन्यथा उत्कृष्ट उत्तर के लिए एक छोटा सा सुधार। "प्रोग्रा ~ 1" जैसे फ़ाइल नाम पुराने OS के लिए नहीं हैं। मेरा विंडोज 7 सिस्टम अभी भी उनका उपयोग करता है। (देखने के लिए dir / x करें।) यह एक विरासत विशेषता है जो पुराने सॉफ़्टवेयर का समर्थन करती है जो आधुनिक सिस्टम में लंबे फ़ाइल नामों के बारे में नहीं जानते हैं। पुराने सॉफ़्टवेयर को लगता है कि सभी फ़ाइलनाम 8.3 सम्मेलन का अनुसरण करते हैं । जब एक फ़ाइल नाम इस सम्मेलन के साथ काम नहीं करता है, तो फ़ाइल सिस्टम स्वचालित रूप से एक दूसरा, 8.3 संगत नाम बनाता है।
आइजैक राबिनोविच

12

कई फ़ाइल सिस्टम पर, एक फ़ाइल नाम में नाम के प्रत्येक घटक के भीतर एक टिल्ड (~) होगा जो 8.3 नामकरण नियमों का पालन करने के लिए बहुत लंबा है।

स्रोत: नामकरण फ़ाइलें, पथ, और नाम स्थान - लघु बनाम लंबे नाम - MSDN

(पृष्ठ के नीचे का अंश ...)


हम्म, उन नामों के लिए काफी काम नहीं करता है जिनमें डॉट्स होते हैं। (उदा। 192.168.1.1या somefile.namewithdot)
पचेरियर

5

और अगर आप ASP.NET प्रोग्रामिंग करते हैं तो इसका मतलब है कि वेबसाइट का शीर्ष स्तर; का उपयोग कर नेविगेट करने के बजाय ../../images/some_image.jpg (और अपने घोंसले के स्तर को गलत हो रही है!) आप बस ~ कह सकते हैं ~ / छवियों / some_image.jpg!


2
/images/some_image.jpgआपको किसी भी वेब साइट के मूल में ले जाना चाहिए। ASP.NET में टिल्ड क्या अतिरिक्त कार्यक्षमता प्रदान करता है?
सोनी

7
~ आपको वेब एप्लिकेशन रूट पर ले जाता है जो वेब निर्देशिका के समान नहीं है यदि आप वर्चुअल निर्देशिका का उपयोग कर रहे हैं। उदाहरण के लिए, यदि आपकी वेबसाइट को वर्चुअल निर्देशिका myapp में myserver पर स्थापित किया गया है, ~ / images / myimage.jpg myserver / myapp / images / myimage.jpg पर हल होगा । Msdn.microsoft.com/en-us/library/ms178116.aspx देखें ।
एमसीएस

1

यहाँ कुछ संकेत दिए गए हैं जो आपको इसे बेहतर बनाने में मदद कर सकते हैं:

$ readlink -f ~

$ echo $HOME

नोट: $उपयोगकर्ता कमांड लाइन प्रॉम्प्ट को निर्दिष्ट करने के लिए एक सम्मेलन है, यह कमांड का हिस्सा नहीं है।


'रीडलिंक' को आंतरिक या बाहरी कमांड के रूप में मान्यता प्राप्त नहीं है।
पचेरियर

@vtest ऐसा इसलिए है क्योंकि इस टिप्पणी में उदाहरण यूनिक्स-आधारित सिस्टमों के लिए है, न कि विंडोज के लिए।
दुवेवाद

-1

विंडोज के बारे में अधिक जानकारी:

  1. यदि छिपे हुए फ़ाइल का नाम '~' से शुरू होता है, तो विंडोज एक्सप्लोरर इसे सिस्टम हिडन फाइल के रूप में प्रोसेस करता है। सुपर टिल्ड के रूप में माने जाने वाले एक प्रमुख टिल्ड के साथ छिपी हुई फाइल में अधिक जानकारी क्यों है?

  2. यदि छोटी फ़ाइल / निर्देशिका नाम में '~' (जैसे "c: \ ololoo ~ 1") है, तो इस फ़ाइल के इसी लंबे नाम / निर्देशिका के लिए अधिकतम लंबाई (MAX_PATH = 260) से अधिक होना संभव है। डेवलपर्स को इसे "\\? \" उपसर्ग के साथ काम करना चाहिए (यहां तक ​​कि नए विंडोज 10 पर भी उपयोगकर्ता निष्क्रिय कर सकता है ">" 260 "लंबे LongPathsEnabledसमय तक रजिस्ट्री रजिस्ट्री पैरामीटर के साथ समर्थन करते हैं या" एनटीएफएस लंबे पथ सक्षम करें "समूह नीति के साथ। C # का उपयोग करके इस वर्कअराउंड के लिए उदाहरण ZetaLongPaths लाइब्रेरी स्रोतों में पाया जा सकता है ।

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