कॉन्फ़िगरेशन फाइल: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Software file used to configure the initial settings for a computer program}} | {{Short description|Software file used to configure the initial settings for a computer program}} | ||
{{Redirect| | {{Redirect|आरसी फ़ाइल|रिसोर्स स्क्रिप्ट|रिसोर्स (विंडोज़)}} | ||
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में, कॉन्फ़िगरेशन फ़ाइलें ( | [[ कम्प्यूटिंग | कम्प्यूटिंग]] में, '''कॉन्फ़िगरेशन फ़ाइलें''' (सामान्यतः कॉन्फ़िगरेशन फ़ाइलों के रूप में जानी जाती हैं) [[कम्प्यूटर फाइल]] होती हैं जिनका उपयोग कुछ [[कंप्यूटर प्रोग्राम]] के लिए [[पैरामीटर (कंप्यूटर प्रोग्रामिंग)]] और इनिशियलाइज़ेशन (प्रोग्रामिंग) को कॉन्फ़िगर करने के लिए किया जाता है। इनका उपयोग उपयोगकर्ता [[अनुप्रयोग प्रक्रिया सामग्री|एप्लीकेशन]], [[सर्वर (कंप्यूटिंग)]] और [[ऑपरेटिंग सिस्टम]] सेटिंग्स के लिए किया जाता है। | ||
कुछ एप्लिकेशन अपनी कॉन्फ़िगरेशन फ़ाइलों के [[ वाक्य - विन्यास | | इस प्रकार कुछ एप्लिकेशन अपनी कॉन्फ़िगरेशन फ़ाइलों के [[ वाक्य - विन्यास |सिंटेक्स]] को बनाने, संशोधित करने और सत्यापित करने के लिए उपकरण प्रदान करते हैं; इनमें कभी-कभी ग्राफ़िकल इंटरफ़ेस होते हैं। अन्य प्रोग्रामों के लिए, सिस्टम प्रशासकों से टेक्स्ट एडिटर का उपयोग करके हाथ से फ़ाइलें बनाने और संशोधित करने की अपेक्षा की जा सकती है, जो संभव है क्योंकि कई मानव-संपादन योग्य प्लेन टेक्स्ट फ़ाइलें हैं। सर्वर प्रक्रियाओं और ऑपरेटिंग-सिस्टम सेटिंग्स के लिए, अधिकांशतः कोई मानक उपकरण नहीं होता है, अधिकांशतः ऑपरेटिंग सिस्टम अपने स्वयं के ग्राफिकल इंटरफेस जैसे [[YaST]] या debconf प्रदान कर सकते हैं। | ||
कुछ कंप्यूटर प्रोग्राम केवल [[बूटिंग]] पर अपनी कॉन्फ़िगरेशन फ़ाइलें पढ़ते हैं। अन्य लोग समय-समय पर परिवर्तनों के लिए कॉन्फ़िगरेशन फ़ाइलों की जाँच करते हैं। उपयोगकर्ता कुछ प्रोग्रामों को कॉन्फ़िगरेशन फ़ाइलों को फिर से पढ़ने और वर्तमान प्रक्रिया में परिवर्तन | कुछ कंप्यूटर प्रोग्राम केवल [[बूटिंग]] पर अपनी कॉन्फ़िगरेशन फ़ाइलें पढ़ते हैं। इस प्रकार अन्य लोग समय-समय पर परिवर्तनों के लिए कॉन्फ़िगरेशन फ़ाइलों की जाँच करते हैं। उपयोगकर्ता कुछ प्रोग्रामों को कॉन्फ़िगरेशन फ़ाइलों को फिर से पढ़ने और वर्तमान प्रक्रिया में परिवर्तन प्रयुक्त करने, या वास्तव में अर्बिटरी फ़ाइलों को कॉन्फ़िगरेशन फ़ाइल के रूप में पढ़ने का निर्देश दे सकते हैं। कोई निश्चित मानक या सशक्त कन्वेंशनों नहीं हैं। | ||
[[File:Gnu grub config file.png|400px|thumb|[[GNU GRUB]] के लिए कॉन्फ़िगरेशन फ़ाइल संपादित की जा रही है। टिप्पणियाँ ('' से | [[File:Gnu grub config file.png|400px|thumb|[[GNU GRUB|जीएनयू जीआरयूबी]] के लिए कॉन्फ़िगरेशन फ़ाइल संपादित की जा रही है। टिप्पणियाँ ('' से प्रारंभ होने वाली पंक्तियाँ)') का उपयोग डोकुमेंटेसन और सेटिंग को अक्षम करने के तरीके दोनों के रूप में किया जाता है।'']] | ||
==कॉन्फ़िगरेशन फ़ाइलें और ऑपरेटिंग सिस्टम== | ==कॉन्फ़िगरेशन फ़ाइलें और ऑपरेटिंग सिस्टम == | ||
===यूनिक्स और यूनिक्स जैसे ऑपरेटिंग सिस्टम=== | ===यूनिक्स और यूनिक्स जैसे ऑपरेटिंग सिस्टम === | ||
सभी ऑपरेटिंग सिस्टम में | इस प्रकार सभी ऑपरेटिंग सिस्टम में यूनिक्स और यूनिक्स जैसे ऑपरेटिंग सिस्टम यूनिक्स जैसे ऑपरेटिंग सिस्टम में कई अलग-अलग कॉन्फ़िगरेशन-फ़ाइल प्रारूप उपस्थित हैं, प्रत्येक एप्लिकेशन या सेवा में संभावित रूप से अद्वितीय प्रारूप होता है, अधिकांशतः उनके मानव-संपादन योग्य सादे में होने की सशक्त कन्वेंशनों है टेक्स्ट, और साधारण विशेषता-मूल्य जोड़ी की-वैल्यू युग्म प्रारूप सामान है। फ़ाइल नेम एक्सटेंशन <code>.cnf</code>, <code>.conf</code>, <code>.cfg</code>, <code>.cf</code> या <code>.आईएनआई</code> अधिकांशतः उपयोग किये जाते हैं. | ||
लगभग सभी प्रारूप [[टिप्पणी (कंप्यूटर प्रोग्रामिंग)]] की अनुमति देते हैं, ऐसी स्थिति में, | इस प्रकार लगभग सभी प्रारूप [[टिप्पणी (कंप्यूटर प्रोग्रामिंग)|कमेंट (कंप्यूटर प्रोग्रामिंग)]] की अनुमति देते हैं, ऐसी स्थिति में, कमेंट आउट द्वारा व्यक्तिगत सेटिंग्स को अक्षम किया जा सकता है। अधिकांशतः डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइलों में टिप्पणियों के रूप में व्यापक आंतरिक डॉक्यूमेंट होते हैं<ref name=":0">https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default. {{Webarchive|url=https://web.archive.org/web/20170803053000/https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default |date=2017-08-03 }}</ref><ref name=":1">http://opensource.apple.com/source/apache/apache-769/httpd.conf. {{Webarchive|url=https://web.archive.org/web/20200801023500/https://opensource.apple.com/source/apache/apache-769/httpd.conf |date=2020-08-01 }}</ref> और [[आदमी फ़ाइल|मैन फ़ाइल]] का उपयोग सामान्यतः पर उपलब्ध प्रारूप और विकल्पों का डोकुमेंटेसन करने के लिए भी किया जाता है। | ||
सिस्टम- | सिस्टम-वाइड सॉफ़्टवेयर अधिकांशतः संग्रहीत कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है <code>[[/etc]]</code>, जबकि उपयोगकर्ता एप्लिकेशन अधिकांशतः [[dotfile]] का उपयोग करते हैं - होम निर्देशिका में फ़ाइल या निर्देशिका जिसके पहले [[पूर्ण विराम]] लगा होता है, जो कैज़ुअल लिस्टिंग से छुपी हुई फ़ाइल और छिपी हुई निर्देशिका यूनिक्स और यूनिक्स जैसे वातावरण में होती है। | ||
कुछ कॉन्फ़िगरेशन फ़ाइलें स्टार्टअप पर कमांड का सेट चलाती हैं। ऐसी फ़ाइलों का होना सामान्य | कुछ कॉन्फ़िगरेशन फ़ाइलें स्टार्टअप पर कमांड का सेट चलाती हैं। ऐसी फ़ाइलों का होना सामान्य कन्वेंशनों है<code>rc</code>उनके नाम पर,<ref name="autogenerated1">{{cite web|url=http://www.catb.org/jargon/html/R/rc-file.html |title=आरसी फ़ाइल|publisher=Catb.org |access-date=2012-02-29}}</ref> सामान्यतः प्रोग्राम के नाम का उपयोग करते हुए a<code>(.)rc</code>प्रत्यय जैसे<code>.xinitrc</code>,<code>.vimrc</code>,<code>.bashrc</code>,<code>xsane.rc</code>. अधिक जानकारी के लिए [[ आदेश चलाएँ |रन कमांड]] देखें। | ||
इसके विपरीत, [[IBM]] का [[AIX ऑपरेटिंग सिस्टम]] अपनी अधिकांश सिस्टम सेटिंग्स को संग्रहीत करने के लिए [[ऑब्जेक्ट डेटा मैनेजर]] ( | इसके विपरीत, [[IBM|आईबीएम]] का [[AIX ऑपरेटिंग सिस्टम|एआईएक्स ऑपरेटिंग सिस्टम]] अपनी अधिकांश सिस्टम सेटिंग्स को संग्रहीत करने के लिए [[ऑब्जेक्ट डेटा मैनेजर]] (ओडीएम) डेटाबेस का उपयोग करता है। | ||
===[[एमएस-डॉस]]=== | ===[[एमएस-डॉस]] === | ||
एमएस-डॉस स्वयं मुख्य रूप से केवल कॉन्फ़िगरेशन फ़ाइल पर निर्भर था, <code>[[CONFIG.SYS]]</code>. यह सरल कुंजी-मूल्य जोड़े (उदाहरण के लिए) के साथ प्लेन टेक्स्ट फ़ाइल थी। <code>DEVICEHIGH=C:\DOS\ANSI.SYS</code>) एमएस-डॉस 6 तक, जिसने आईएनआई-फ़ाइल शैली प्रारूप प्रस्तुत किया। नाम की मानक प्लेन टेक्स्ट [[बैच फ़ाइल]] भी थी <code>[[AUTOEXEC.BAT]]</code> जो बूटिंग पर कमांडों की श्रृंखला चलाता था। इन दोनों फ़ाइलों को [[Windows 98SE|विंडोज 98एस]] तक यथावत् रखा गया था, जो अभी भी एमएस-डॉस के शीर्ष पर चलती थी। | |||
एमएस-डॉस 5 के लिए CONFIG.SYS का उदाहरण: | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
DOS=HIGH,UMB | DOS=HIGH,UMB | ||
DEVICE=C:\DOS\HIMEM.SYS | DEVICE=C:\DOS\HIMEM.SYS | ||
DEVICE=C:\DOS\EMM386.EXE RAM | DEVICE=C:\DOS\EMM386.EXE RAM | ||
DEVICEHIGH=C:\DOS\ANSI.SYS | DEVICEHIGH=C:\DOS\ANSI.SYS | ||
FILES=30 | FILES=30 | ||
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P | SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P | ||
</syntaxhighlight> | </syntaxhighlight> | ||
डॉस अनुप्रयोगों ने विभिन्न प्रकार की व्यक्तिगत कॉन्फ़िगरेशन फ़ाइलों का उपयोग किया, उनमें से अधिकांश बाइनरी, | डॉस अनुप्रयोगों ने विभिन्न प्रकार की व्यक्तिगत कॉन्फ़िगरेशन फ़ाइलों का उपयोग किया, उनमें से अधिकांश बाइनरी, स्वामित्व और अनडॉक्यूमेंटेड थे - और कोई सामान्य कन्वेंशनों या प्रारूप नहीं थे। | ||
===माइक्रोसॉफ्ट विंडोज़=== | ===माइक्रोसॉफ्ट विंडोज़ === | ||
[[File:Regedit (Wine).png|thumb|right| | [[File:Regedit (Wine).png|thumb|right|विंडोज रजिस्ट्री डेटा को संपादित करने के लिए REGEDIT एप्लिकेशन का उपयोग किया जा रहा है]]ऑपरेटिंग सिस्टम के प्रारंभिक [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] परिवार ने सादे-टेक्स्ट आईएनआई फ़ाइलों (प्रारंभिकरण से) का अधिक उपयोग किया। ये ऑपरेटिंग सिस्टम और एप्लिकेशन सुविधाओं को कॉन्फ़िगर करने के लिए प्राथमिक तंत्र के रूप में कार्य करते हैं।<ref>[https://www.microsoft.com/resources/documentation/windowsnt/4/workstation/reskit/en-us/26_ini.mspx Microsoft: Windows NT Workstation Resource Kit].</ref> इनसे पढ़ने और लिखने के लिए [[एपीआई]] अभी भी विंडोज़ में उपस्थित हैं, अधिकांशतः 1993 के बाद, माइक्रोसॉफ्ट ने डेवलपर्स को आईएनआई फ़ाइलों का उपयोग करने से दूर करना प्रारंभ कर दिया और [[विंडोज़ रजिस्ट्री]] में सेटिंग्स संग्रहीत करने की ओर अग्रसर किया, जो कॉन्फ़िगरेशन सेटिंग्स को संग्रहीत करने के लिए पदानुक्रमित डेटाबेस था, जिसे उस वर्ष प्रस्तुत किया गया था। जैसे की [[विंडोज़ एनटी]]. | ||
===मैकओएस=== | ===मैकओएस === | ||
[[संपत्ति सूची]] [[macOS]] (साथ ही [[IOS (Apple)]], [[NeXTSTEP]], [[GNUstep]] और [[Cocoa (API)]] अनुप्रयोगों में) में मानक कॉन्फ़िगरेशन फ़ाइल स्वरूप है। यह [[फ़ाइल नाम एक्सटेंशन]] का उपयोग करता है | [[संपत्ति सूची]] [[macOS|मैकओएस]] (साथ ही [[IOS (Apple)|आईओएस (एप्पल)]], [[NeXTSTEP|नेक्स्टस्टेप]], [[GNUstep|जीएनयूस्टेप]] और [[Cocoa (API)|कोको (एपीआई)]] अनुप्रयोगों में) में मानक कॉन्फ़िगरेशन फ़ाइल स्वरूप है। यह <code>.plist</code> [[फ़ाइल नाम एक्सटेंशन]] का उपयोग करता है. | ||
===आईबीएम ओएस/2=== | ===आईबीएम ओएस/2 === | ||
आईबीएम का ओएस/2 बाइनरी प्रारूप का उपयोग करता है, जिसमें . | आईबीएम का ओएस/2 बाइनरी प्रारूप का उपयोग करता है, जिसमें .आईएनआई प्रत्यय भी होता है, अधिकांशतः यह विंडोज़ संस्करणों से भिन्न होता है। इसमें अलिखित कुंजी-मूल्य जोड़े की सूचियों की [[सूची (डेटा संरचना)]] सम्मिलित है।<ref name="voice">''[http://www.os2voice.org/VNL/past_issues/VNL0904H/vnewsf4.htm The OS/2 INI Files]'' by James J. Weinkam.</ref> | ||
==[[क्रमबद्धता]] प्रारूप== | इस प्रकार दो फ़ाइलें सिस्टम-वाइड सेटिंग्स को नियंत्रित करती हैं: जैसे OS2.आईएनआई और OS2SYS.INI। एप्लिकेशन डेवलपर चुन सकते हैं कि उनका उपयोग करना है या अपने एप्लिकेशन के लिए विशिष्ट फ़ाइल बनाना है। | ||
कई सामान्य प्रयोजन क्रमांकन प्रारूप | |||
==[[क्रमबद्धता]] प्रारूप == | |||
इस प्रकार कई सामान्य प्रयोजन क्रमांकन प्रारूप उपस्थित हैं जो सरलता से संग्रहीत प्रारूप में जटिल डेटा संरचनाओं का प्रतिनिधित्व कर सकते हैं, और इन्हें अधिकांशतः कॉन्फ़िगरेशन फ़ाइलों के आधार के रूप में उपयोग किया जाता है, विशेष रूप से [[खुला स्रोत सॉफ्टवेयर|ओपन सोर्स सॉफ्टवेयर]], ओपन-सोर्स, और [[क्रॉस-प्लेटफॉर्म]], प्लेटफ़ॉर्म- तटस्थ सॉफ्टवेयर अनुप्रयोग और लाइब्रेरी। इन प्रारूपों का वर्णन करने वाले [[विनिर्देश]] नियमित रूप से जनता के लिए उपलब्ध कराए जाते हैं, जिससे [[पार्सर]] और एमिटर की उपलब्धता बढ़ जाती है सभी प्रोग्रामिंग लैंग्वेज जैसे। | |||
उदाहरणों में | उदाहरणों में सम्मिलित हैं: [[JSON|जेएसओएन]], [[XML|एक्सएमएल]], और [[YAML|वाईएएमएल]]। | ||
== तुलना == | == तुलना == | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+प्रारूप तुलना<ref>{{Citation |title=TOML |date=2023-01-15 |url=https://github.com/toml-lang/toml |publisher=TOML |access-date=2023-01-15}}</ref> | ||
! scope="col" |[[File format| | ! scope="col" |[[File format|प्रारूप]] | ||
! scope="col" | | ! scope="col" |औपचारिक विशिष्टताएँ | ||
! scope="col" | | ! scope="col" |[[Comment (computer programming)|कमेंट्स]] अनुमति | ||
! scope="col" | | ! scope="col" |सिंटैक्स टाइपिंग{{refn|Syntax typing refers to the use of [[Syntax (programming languages)|syntax]] to designate [[Data type|data types]]. In languages that allow syntax typing, type declaration will be syntax-based – e.g. <code>true</code> will be a [[Boolean data type|boolean]] while <code>"true"</code> will be a [[String (computer science)|string]] – whereas in languages that do not allow syntax typing it will be [[Semantics (computer science)|semantics]]-based – e.g. <code>true</code> and <code>"true"</code> will be both recognizable as booleans, while <code>microwave</code> and <code>"microwave"</code> will be both recognizable as strings (this will require the parser to have some prior expectations about the type of a particular field, but this is often the case in configuration files).}}{{refn|Opinions on whether syntax typing in configuration formats is a good or a bad feature vary among authors. with some considering it a disadvantage (see for example [https://hitchdev.com/strictyaml/why-not/toml/#4-syntax-typing What is wrong with TOML § Syntax typing]) and others favoring it.}} | ||
|- | |- | ||
| | |सीयूइ<ref>{{cite web |title=About {{!}} CUE |url=https://cuelang.org/docs/about/ |access-date=October 6, 2022}}</ref>|| {{Yes}} || {{Yes}} || {{good|Yes}} | ||
|- | |- | ||
|[[INI file| | |[[INI file|आईएनआई]]|| {{No}} || {{Yes}} || {{good|No}} | ||
|- | |- | ||
|[[JSON]]|| {{Yes}}<ref>{{Cite web|url=https://datatracker.ietf.org/doc/html/rfc8259|title=The JavaScript Object Notation (JSON) Data Interchange Format}}</ref> || {{No}} || {{good|Yes}} | |[[JSON|जेएसओएन]]|| {{Yes}}<ref>{{Cite web|url=https://datatracker.ietf.org/doc/html/rfc8259|title=The JavaScript Object Notation (JSON) Data Interchange Format}}</ref> || {{No}} || {{good|Yes}} | ||
|- | |- | ||
|[[TOML]]|| {{Yes}}<ref>{{Cite web|url=https://toml.io/en/v1.0.0|title=TOML Specification}}</ref> || {{Yes}} || {{good|Yes}} | |[[TOML|टीओएमएल]]|| {{Yes}}<ref>{{Cite web|url=https://toml.io/en/v1.0.0|title=TOML Specification}}</ref> || {{Yes}} || {{good|Yes}} | ||
|- | |- | ||
|[[YAML]]|| {{Yes}}<ref>{{Cite web|url=https://yaml.org/spec|title=YAML™ Specification Index}}</ref> || {{Yes}} || {{good|Yes}} | |[[YAML|वाईएएमएल]]|| {{Yes}}<ref>{{Cite web|url=https://yaml.org/spec|title=YAML™ Specification Index}}</ref> || {{Yes}} || {{good|Yes}} | ||
|- | |- | ||
|[[XML]]|| {{Yes}}<ref>{{Cite web|url=https://www.w3.org/TR/xml/|title=Extensible Markup Language (XML) 1.0 (Fifth Edition)}}</ref> || {{Yes}} || {{good|No}} | |[[XML|एक्सएमएल]]|| {{Yes}}<ref>{{Cite web|url=https://www.w3.org/TR/xml/|title=Extensible Markup Language (XML) 1.0 (Fifth Edition)}}</ref> || {{Yes}} || {{good|No}} | ||
|} | |} | ||
==यह भी देखें== | ==यह भी देखें == | ||
* . | * .प्रॉपर्टीज, फ़ाइल एक्सटेंशन जो मुख्य रूप से [[जावा (प्रोग्रामिंग भाषा)]] में उपयोग किया जाता है | ||
* [[HOCON]], . | * [[HOCON|होकोन]], .प्रॉपर्टीज और जेएसओएन का सुपरसेट | ||
* | * आईएनआई फ़ाइल, सामान्य कॉन्फ़िगरेशन फ़ाइल स्वरूप | ||
* | * जेएसओएन, जटिल डेटा प्रकारों और डेटा संरचनाओं के समर्थन के साथ | ||
* कमांड | * रन कमांड, जो आरसी प्रत्यय की ऐतिहासिक उत्पत्ति की व्याख्या करता है | ||
* [[TOML]], औपचारिक रूप से निर्दिष्ट कॉन्फ़िगरेशन फ़ाइल स्वरूप | * [[TOML|टीओएमएल]], औपचारिक रूप से निर्दिष्ट कॉन्फ़िगरेशन फ़ाइल स्वरूप | ||
* | * वाईएएमएल, जटिल डेटा प्रकारों और संरचनाओं के समर्थन के साथ | ||
==संदर्भ== | ==संदर्भ== |
Revision as of 11:32, 20 July 2023
कम्प्यूटिंग में, कॉन्फ़िगरेशन फ़ाइलें (सामान्यतः कॉन्फ़िगरेशन फ़ाइलों के रूप में जानी जाती हैं) कम्प्यूटर फाइल होती हैं जिनका उपयोग कुछ कंप्यूटर प्रोग्राम के लिए पैरामीटर (कंप्यूटर प्रोग्रामिंग) और इनिशियलाइज़ेशन (प्रोग्रामिंग) को कॉन्फ़िगर करने के लिए किया जाता है। इनका उपयोग उपयोगकर्ता एप्लीकेशन, सर्वर (कंप्यूटिंग) और ऑपरेटिंग सिस्टम सेटिंग्स के लिए किया जाता है।
इस प्रकार कुछ एप्लिकेशन अपनी कॉन्फ़िगरेशन फ़ाइलों के सिंटेक्स को बनाने, संशोधित करने और सत्यापित करने के लिए उपकरण प्रदान करते हैं; इनमें कभी-कभी ग्राफ़िकल इंटरफ़ेस होते हैं। अन्य प्रोग्रामों के लिए, सिस्टम प्रशासकों से टेक्स्ट एडिटर का उपयोग करके हाथ से फ़ाइलें बनाने और संशोधित करने की अपेक्षा की जा सकती है, जो संभव है क्योंकि कई मानव-संपादन योग्य प्लेन टेक्स्ट फ़ाइलें हैं। सर्वर प्रक्रियाओं और ऑपरेटिंग-सिस्टम सेटिंग्स के लिए, अधिकांशतः कोई मानक उपकरण नहीं होता है, अधिकांशतः ऑपरेटिंग सिस्टम अपने स्वयं के ग्राफिकल इंटरफेस जैसे YaST या debconf प्रदान कर सकते हैं।
कुछ कंप्यूटर प्रोग्राम केवल बूटिंग पर अपनी कॉन्फ़िगरेशन फ़ाइलें पढ़ते हैं। इस प्रकार अन्य लोग समय-समय पर परिवर्तनों के लिए कॉन्फ़िगरेशन फ़ाइलों की जाँच करते हैं। उपयोगकर्ता कुछ प्रोग्रामों को कॉन्फ़िगरेशन फ़ाइलों को फिर से पढ़ने और वर्तमान प्रक्रिया में परिवर्तन प्रयुक्त करने, या वास्तव में अर्बिटरी फ़ाइलों को कॉन्फ़िगरेशन फ़ाइल के रूप में पढ़ने का निर्देश दे सकते हैं। कोई निश्चित मानक या सशक्त कन्वेंशनों नहीं हैं।
कॉन्फ़िगरेशन फ़ाइलें और ऑपरेटिंग सिस्टम
यूनिक्स और यूनिक्स जैसे ऑपरेटिंग सिस्टम
इस प्रकार सभी ऑपरेटिंग सिस्टम में यूनिक्स और यूनिक्स जैसे ऑपरेटिंग सिस्टम यूनिक्स जैसे ऑपरेटिंग सिस्टम में कई अलग-अलग कॉन्फ़िगरेशन-फ़ाइल प्रारूप उपस्थित हैं, प्रत्येक एप्लिकेशन या सेवा में संभावित रूप से अद्वितीय प्रारूप होता है, अधिकांशतः उनके मानव-संपादन योग्य सादे में होने की सशक्त कन्वेंशनों है टेक्स्ट, और साधारण विशेषता-मूल्य जोड़ी की-वैल्यू युग्म प्रारूप सामान है। फ़ाइल नेम एक्सटेंशन .cnf
, .conf
, .cfg
, .cf
या .आईएनआई
अधिकांशतः उपयोग किये जाते हैं.
इस प्रकार लगभग सभी प्रारूप कमेंट (कंप्यूटर प्रोग्रामिंग) की अनुमति देते हैं, ऐसी स्थिति में, कमेंट आउट द्वारा व्यक्तिगत सेटिंग्स को अक्षम किया जा सकता है। अधिकांशतः डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइलों में टिप्पणियों के रूप में व्यापक आंतरिक डॉक्यूमेंट होते हैं[1][2] और मैन फ़ाइल का उपयोग सामान्यतः पर उपलब्ध प्रारूप और विकल्पों का डोकुमेंटेसन करने के लिए भी किया जाता है।
सिस्टम-वाइड सॉफ़्टवेयर अधिकांशतः संग्रहीत कॉन्फ़िगरेशन फ़ाइलों का उपयोग करता है /etc
, जबकि उपयोगकर्ता एप्लिकेशन अधिकांशतः dotfile का उपयोग करते हैं - होम निर्देशिका में फ़ाइल या निर्देशिका जिसके पहले पूर्ण विराम लगा होता है, जो कैज़ुअल लिस्टिंग से छुपी हुई फ़ाइल और छिपी हुई निर्देशिका यूनिक्स और यूनिक्स जैसे वातावरण में होती है।
कुछ कॉन्फ़िगरेशन फ़ाइलें स्टार्टअप पर कमांड का सेट चलाती हैं। ऐसी फ़ाइलों का होना सामान्य कन्वेंशनों हैrc
उनके नाम पर,[3] सामान्यतः प्रोग्राम के नाम का उपयोग करते हुए a(.)rc
प्रत्यय जैसे.xinitrc
,.vimrc
,.bashrc
,xsane.rc
. अधिक जानकारी के लिए रन कमांड देखें।
इसके विपरीत, आईबीएम का एआईएक्स ऑपरेटिंग सिस्टम अपनी अधिकांश सिस्टम सेटिंग्स को संग्रहीत करने के लिए ऑब्जेक्ट डेटा मैनेजर (ओडीएम) डेटाबेस का उपयोग करता है।
एमएस-डॉस
एमएस-डॉस स्वयं मुख्य रूप से केवल कॉन्फ़िगरेशन फ़ाइल पर निर्भर था, CONFIG.SYS
. यह सरल कुंजी-मूल्य जोड़े (उदाहरण के लिए) के साथ प्लेन टेक्स्ट फ़ाइल थी। DEVICEHIGH=C:\DOS\ANSI.SYS
) एमएस-डॉस 6 तक, जिसने आईएनआई-फ़ाइल शैली प्रारूप प्रस्तुत किया। नाम की मानक प्लेन टेक्स्ट बैच फ़ाइल भी थी AUTOEXEC.BAT
जो बूटिंग पर कमांडों की श्रृंखला चलाता था। इन दोनों फ़ाइलों को विंडोज 98एस तक यथावत् रखा गया था, जो अभी भी एमएस-डॉस के शीर्ष पर चलती थी।
एमएस-डॉस 5 के लिए CONFIG.SYS का उदाहरण:
DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH=C:\DOS\ANSI.SYS
FILES=30
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P
डॉस अनुप्रयोगों ने विभिन्न प्रकार की व्यक्तिगत कॉन्फ़िगरेशन फ़ाइलों का उपयोग किया, उनमें से अधिकांश बाइनरी, स्वामित्व और अनडॉक्यूमेंटेड थे - और कोई सामान्य कन्वेंशनों या प्रारूप नहीं थे।
माइक्रोसॉफ्ट विंडोज़
ऑपरेटिंग सिस्टम के प्रारंभिक माइक्रोसॉफ़्ट विंडोज़ परिवार ने सादे-टेक्स्ट आईएनआई फ़ाइलों (प्रारंभिकरण से) का अधिक उपयोग किया। ये ऑपरेटिंग सिस्टम और एप्लिकेशन सुविधाओं को कॉन्फ़िगर करने के लिए प्राथमिक तंत्र के रूप में कार्य करते हैं।[4] इनसे पढ़ने और लिखने के लिए एपीआई अभी भी विंडोज़ में उपस्थित हैं, अधिकांशतः 1993 के बाद, माइक्रोसॉफ्ट ने डेवलपर्स को आईएनआई फ़ाइलों का उपयोग करने से दूर करना प्रारंभ कर दिया और विंडोज़ रजिस्ट्री में सेटिंग्स संग्रहीत करने की ओर अग्रसर किया, जो कॉन्फ़िगरेशन सेटिंग्स को संग्रहीत करने के लिए पदानुक्रमित डेटाबेस था, जिसे उस वर्ष प्रस्तुत किया गया था। जैसे की विंडोज़ एनटी.
मैकओएस
संपत्ति सूची मैकओएस (साथ ही आईओएस (एप्पल), नेक्स्टस्टेप, जीएनयूस्टेप और कोको (एपीआई) अनुप्रयोगों में) में मानक कॉन्फ़िगरेशन फ़ाइल स्वरूप है। यह .plist
फ़ाइल नाम एक्सटेंशन का उपयोग करता है.
आईबीएम ओएस/2
आईबीएम का ओएस/2 बाइनरी प्रारूप का उपयोग करता है, जिसमें .आईएनआई प्रत्यय भी होता है, अधिकांशतः यह विंडोज़ संस्करणों से भिन्न होता है। इसमें अलिखित कुंजी-मूल्य जोड़े की सूचियों की सूची (डेटा संरचना) सम्मिलित है।[5]
इस प्रकार दो फ़ाइलें सिस्टम-वाइड सेटिंग्स को नियंत्रित करती हैं: जैसे OS2.आईएनआई और OS2SYS.INI। एप्लिकेशन डेवलपर चुन सकते हैं कि उनका उपयोग करना है या अपने एप्लिकेशन के लिए विशिष्ट फ़ाइल बनाना है।
क्रमबद्धता प्रारूप
इस प्रकार कई सामान्य प्रयोजन क्रमांकन प्रारूप उपस्थित हैं जो सरलता से संग्रहीत प्रारूप में जटिल डेटा संरचनाओं का प्रतिनिधित्व कर सकते हैं, और इन्हें अधिकांशतः कॉन्फ़िगरेशन फ़ाइलों के आधार के रूप में उपयोग किया जाता है, विशेष रूप से ओपन सोर्स सॉफ्टवेयर, ओपन-सोर्स, और क्रॉस-प्लेटफॉर्म, प्लेटफ़ॉर्म- तटस्थ सॉफ्टवेयर अनुप्रयोग और लाइब्रेरी। इन प्रारूपों का वर्णन करने वाले विनिर्देश नियमित रूप से जनता के लिए उपलब्ध कराए जाते हैं, जिससे पार्सर और एमिटर की उपलब्धता बढ़ जाती है सभी प्रोग्रामिंग लैंग्वेज जैसे।
उदाहरणों में सम्मिलित हैं: जेएसओएन, एक्सएमएल, और वाईएएमएल।
तुलना
प्रारूप | औपचारिक विशिष्टताएँ | कमेंट्स अनुमति | सिंटैक्स टाइपिंग[7][8] |
---|---|---|---|
सीयूइ[9] | Yes | Yes | Yes |
आईएनआई | No | Yes | No |
जेएसओएन | Yes[10] | No | Yes |
टीओएमएल | Yes[11] | Yes | Yes |
वाईएएमएल | Yes[12] | Yes | Yes |
एक्सएमएल | Yes[13] | Yes | No |
यह भी देखें
- .प्रॉपर्टीज, फ़ाइल एक्सटेंशन जो मुख्य रूप से जावा (प्रोग्रामिंग भाषा) में उपयोग किया जाता है
- होकोन, .प्रॉपर्टीज और जेएसओएन का सुपरसेट
- आईएनआई फ़ाइल, सामान्य कॉन्फ़िगरेशन फ़ाइल स्वरूप
- जेएसओएन, जटिल डेटा प्रकारों और डेटा संरचनाओं के समर्थन के साथ
- रन कमांड, जो आरसी प्रत्यय की ऐतिहासिक उत्पत्ति की व्याख्या करता है
- टीओएमएल, औपचारिक रूप से निर्दिष्ट कॉन्फ़िगरेशन फ़ाइल स्वरूप
- वाईएएमएल, जटिल डेटा प्रकारों और संरचनाओं के समर्थन के साथ
संदर्भ
- ↑ https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default. Archived 2017-08-03 at the Wayback Machine
- ↑ http://opensource.apple.com/source/apache/apache-769/httpd.conf. Archived 2020-08-01 at the Wayback Machine
- ↑ "आरसी फ़ाइल". Catb.org. Retrieved 2012-02-29.
- ↑ Microsoft: Windows NT Workstation Resource Kit.
- ↑ The OS/2 INI Files by James J. Weinkam.
- ↑ TOML, TOML, 2023-01-15, retrieved 2023-01-15
- ↑ Syntax typing refers to the use of syntax to designate data types. In languages that allow syntax typing, type declaration will be syntax-based – e.g.
true
will be a boolean while"true"
will be a string – whereas in languages that do not allow syntax typing it will be semantics-based – e.g.true
and"true"
will be both recognizable as booleans, whilemicrowave
and"microwave"
will be both recognizable as strings (this will require the parser to have some prior expectations about the type of a particular field, but this is often the case in configuration files). - ↑ Opinions on whether syntax typing in configuration formats is a good or a bad feature vary among authors. with some considering it a disadvantage (see for example What is wrong with TOML § Syntax typing) and others favoring it.
- ↑ "About | CUE". Retrieved October 6, 2022.
- ↑ "The JavaScript Object Notation (JSON) Data Interchange Format".
- ↑ "TOML Specification".
- ↑ "YAML™ Specification Index".
- ↑ "Extensible Markup Language (XML) 1.0 (Fifth Edition)".
<!-