विंडोज पर कुछ फ़ाइल / फ़ोल्डर के नाम उनके सामने डॉट क्यों हैं?


34

उदाहरण के लिए, में My Documents, निम्नलिखित फ़ोल्डर हैं:

.ssh
.subversion

क्या यह किसी प्रकार का नामकरण सम्मेलन है जिससे मैं अनजान हूं?

जवाबों:


94

यह नामकरण सम्मेलन यूनिक्स-जैसे ऑपरेटिंग सिस्टम (जैसे लिनक्स या ओएस एक्स) से आता है, जहां इसका मतलब "छिपी" फ़ाइल या निर्देशिका है। यह कहीं भी काम करता है, लेकिन इसकी प्राथमिक उपयोग अपने घर निर्देशिका में छिपाने विन्यास फाइल करने के लिए है (उदाहरण के लिए ~/.cache/या ~/.plan- वे अक्सर "dotfiles" कहा जाता है)।

डोटफाइल्स एक तरह से विंडोज पर "AppData" निर्देशिका के बराबर पारंपरिक यूनिक्स कहला सकते हैं। ( XDG आधार निर्देशिका विनिर्देश का पालन करने के लिए कई लिनक्स कार्यक्रमों को बदला जा रहा है , उनके कॉन्फ़िगरेशन को ~/.config/और अन्य डेटा को ~/.cache/& तक ले जाना ~/.local/share/- यह इसे AppData\Roamingऔर अधिक समान बनाता है AppData\Local।)

आप इन है .sshऔर .subversionविशेष रूप से, - क्योंकि आप कुछ कार्यक्रमों का उपयोग किया है विंडोज पर निर्देशिका OpenSSH और सबवर्सन - कि बल्कि POSIX की तुलना में विंडोज सिस्टम API का उपयोग कैसे पोर्ट दिया गया है, लेकिन कुछ अन्य Windows सम्मेलनों के लिए समायोजित नहीं किया गया है।

कभी-कभी यह अनुकूलन जानबूझकर छोड़ दिया जाता है, ताकि उन लोगों के लिए जीवन आसान हो सके जो अपने विंडोज सिस्टम पर सिग्विन जैसे यूनिक्स जैसे वातावरण का उपयोग करते हैं। उदाहरण के लिए, साइगविन ने यूनिक्स जैसे उपकरणों के मानक सेट को स्थापित किया ls, जैसे कि विंडोज "छिपे" ध्वज को अनदेखा करता है और केवल .dotfileनामों का सम्मान करता है। इसके अलावा, एक ही स्थान (जैसे <home>/.ssh) का उपयोग करने से किसी के विंडोज और लिनक्स / बीएसडी / ओएसएक्स कंप्यूटर के बीच कॉन्फ़िगरेशन को सिंक्रनाइज़ करना आसान हो सकता है।

इसके अलावा: आमतौर पर ये फाइलें उपयोगकर्ता के होम डायरेक्टरी में होती हैं , जैसे कि लिनक्स पर, या विंडोज 7+ पर। उनके लिए "दस्तावेज़" या "मेरे दस्तावेज़" उपनिर्देशिका में रखा जाना काफी दुर्लभ है।/home/name/.sshC:\Users\name\.ssh


जैसा कि रोब पाइक Google+ पर लिखते हैं , यह एक आकस्मिक विशेषता थी:

बहुत पहले, जैसा कि यूनिक्स फ़ाइल सिस्टम के डिजाइन पर काम किया जा रहा था, प्रविष्टियाँ .और ..दिखाई दीं, जिससे नेविगेशन आसान हो गया। मुझे यकीन नहीं है, लेकिन मेरा मानना ..है कि संस्करण 2 के पुनर्लेखन के दौरान गया था, जब फ़ाइल सिस्टम पदानुक्रमित हो गया था (इसमें बहुत अलग संरचना थी)। जब कोई टाइप करता है, तो ये फाइलें दिखाई देती हैं, इसलिए या तो केन या डेनिस ने प्रोग्राम में एक सरल परीक्षण जोड़ा। यह तब कोडांतरक में था, लेकिन प्रश्न में कोड इस तरह से कुछ के बराबर था:

if (name[0] == '.') continue;

यह कथन, जो होना चाहिए था, उससे थोड़ा छोटा था

if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) continue;

लेकिन हे, यह आसान था।

दो बातें हुईं।

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

दूसरा, और बहुत बुरा, एक "छिपी" या "डॉट" फ़ाइल का विचार बनाया गया था। परिणामस्वरूप, अधिक आलसी प्रोग्रामर ने सभी के होम डायरेक्टरी में फाइल गिराना शुरू कर दिया। मेरे पास मशीन पर स्थापित इतना सारा सामान नहीं है जिसे मैं इस प्रकार का उपयोग करने के लिए उपयोग कर रहा हूं, लेकिन मेरे घर की निर्देशिका में लगभग सौ डॉट फाइलें हैं और मुझे यह भी नहीं पता कि उनमें से अधिकांश क्या हैं या क्या वे अभी भी आवश्यक हैं । मेरे फ़ाइल निर्देशिका के माध्यम से जाने वाली हर फ़ाइल नाम मूल्यांकन इस संचित कीचड़ से धीमा हो जाता है।


धन्यवाद! बहुत गहन। मेरे "C: \ users \ <username> \" फ़ोल्डर में, मैंने Windows PowerShell में "ls" कमांड और फिर से सिग्विन टर्मिनल में उपयोग करने की कोशिश की। PowerShell डॉट-फ़ाइलों को सूचीबद्ध करता है और AppData को छुपाता है, जबकि Cygwin Terminal इसके ठीक विपरीत करता है। दिलचस्प! सिग्विन यूनिक्स सम्मेलन का उपयोग कर रहा है।
निको बेलिक

@NikoBellic: यूनिक्स / साइगविन के lsपास -aसभी फाइलों को सूचीबद्ध करने का विकल्प है।
विशालता

1
@Ruslan: उदाहरण के लिए: वीएमएस में छिपी हुई फाइलें बिल्कुल नहीं थीं; तुम सिर्फ जैसी चीजों को रखना होगा LOGIN.COMया DECW$MAIL.DAT अपने घर निर्देशिका में । (मुझे यकीन नहीं है कि उस समय कौन से अन्य सिस्टम लोकप्रिय थे।) यूनिक्स अभी हाल ही में बनाया गया था; इसने कोई भी सम्मेलन नहीं किया।
grawity

2
@grawity MS-DOS 1.0 एक डीईसी-शैली O / S डिजिटल रिसर्च द्वारा किया गया था और Microsoft द्वारा खरीदा गया था, जो तब यूनिक्स व्यवसाय में थे । MS-DOS 2.0 और बाद में एक पदानुक्रमित फाइलसिस्टम और .."अप ​​डायर" सहित कुछ यूनिक्स सम्मेलनों को जोड़ा ; Microsoft ने वास्तव में इन "उन्नत यूनिक्स सुविधाओं" का विज्ञापन किया।
फ्रेड फू

1
@grawity आह सही है, यह सिएटल कंप्यूटर उत्पाद DRI के CP / M की क्लोनिंग है। माफ़ कीजिये। लेकिन मेरा कहना था कि Microsoft 80 के दशक की शुरुआत में Unix की दुकान था, और DEC सिस्टम प्रस्थान का एकमात्र बिंदु नहीं थे। (यूनिक्स मूल रूप से डीईसी हार्डवेयर पर चलता था, लेकिन क्या मुझे लगता है कि डीटीएस ओएस की तुलना में सीटीएस और मल्टिक्स से अधिक प्रभावित थे।)
फ्रेड फू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.