यूनिक्स फ़ाइल नामकरण सम्मेलन [बंद]


61

मैं सोच रहा था कि यूनिक्स में फ़ाइलों के लिए नामकरण सम्मेलन क्या है? मुझे इस पर यकीन नहीं है, लेकिन मुझे लगता है कि शायद एक सार्वभौमिक नामकरण सम्मेलन है जिसका पालन करना चाहिए?

उदाहरण के लिए, मैं एक फ़ाइल का नाम कहना चाहता हूं: के backupसाथ part 2औरrandom

क्या मुझे इसे इस तरह करना चाहिए:

backup_part2_random

या

backup-part2-random

या

backup.part2.random

मुझे उम्मीद है कि सवाल स्पष्ट है। मूल रूप से, मैं एक प्रारूप चुनना चाहता हूं जो यूनिक्स दर्शन के अनुरूप है।


4
एक सामान्य टिप्पणी के रूप में "सम्मेलनों" को फिर से ... मैंने अभी तक सभी उत्तरों को पढ़ा है, और इसने मुझे बहुत अजीब लगा कि यह एक प्रणाली में केवल एक मामले का उपयोग करने के साथ लगभग एक जुनून है जहां (मुझे लगता है) इसकी एक ताकत दोनों मामलों को सार्थक रूप से उपयोग करने की क्षमता है ... क्या मूल डिजाइन (केस-सेंसिटिव) एक ओवर डिजाइन था ... बस
पेशी

मेरी राय: कोई सम्मेलन नहीं है। फ़ाइल नाम केवल तार हैं। अपनी पसंदीदा शैली चुनें।
ग्लेन जैकमैन

1
ऐसा इसलिए है क्योंकि कोई भी कमांड के कैपिटलाइजेशन को याद नहीं रखना चाहता है, इसलिए वे सभी उसी का उपयोग करते हैं।
लेटवॉर्फ़

जवाबों:


57

.का उपयोग एक filetype एक्सटेंशन को अलग करने के लिए किया जाता है, जैसे foo.txt

-या _तार्किक शब्दों को अलग करने के लिए प्रयोग किया जाता है, जैसे my-big-file.txtया कभी-कभी my_big_file.txt-बेहतर है क्योंकि आपको Shift कुंजी (कम से कम एक मानक यूएस इंग्लिश पीसी कीबोर्ड के साथ) को प्रेस करने की आवश्यकता नहीं है, अन्य _इसे पसंद करते हैं क्योंकि यह अंतरिक्ष की तरह दिखता है।

इसलिए अगर मैं आपके उदाहरण को समझता हूं, backup-part2-randomया backup_part2_randomसामान्य यूनिक्स सम्मेलन के सबसे करीब होगा।


CamelCase आमतौर पर लिनक्स / यूनिक्स सिस्टम पर उपयोग नहीं किया जाता है। में फ़ाइल नाम पर एक नज़र डालें /binऔर /usr/bin। CamelCase यूनिक्स और लिनक्स सिस्टम पर नियम के बजाय अपवाद है।

( NetworkManagerएकमात्र उदाहरण मैं सोच सकता हूं कि कैमलकेस का उपयोग करता है, और यह एक मैक डेवलपर द्वारा लिखा गया था। कई लोगों ने नाम की इस पसंद के बारे में शिकायत की है। उबंटू पर, उन्होंने वास्तव में स्क्रिप्ट का नाम बदल दिया है network-manager।)

उदाहरण के लिए, /usr/binमेरे सिस्टम पर:

$ ls -d [A-Z]* | wc -w    # files starting with a capital
6
$ ls -d *_* | wc -w       # files containing an underscore
178
$ ls -d *-* | wc -w       # files containing a minus/dash
409

और फिर भी, राजधानी से शुरू होने वाली कोई भी फ़ाइल CamelCase का उपयोग नहीं करती है:

$ ls -d [A-Z]*
GET  HEAD  POST  X11  Xvnc  Xvnc4

.चार भी न केवल एक विस्तार निर्दिष्ट करने के लिए, चीजों को बारी बारी से करने के लिए इस्तेमाल किया जा सकता है। उदाहरण के लिए my.log my.log.1 my.log.2.gz
डेवडो

तो हाइफ़न / माइनस / डैश अधिक सामान्य है जो अंडरस्कोर है।
ह्यूगो

@ ह्यूगो हां। उपरोक्त माइनस (409) बनाम अंडरस्कोर (178) को दर्शाता है।
मिकेल

धन्यवाद। क्या आपके पास इन सम्मेलनों के लिए कोई संदर्भ है?
सर्वहारा

3
संदर्भों के लिए +1। (@Proletariat, lsउत्पादन से /usr/bin है । एक संदर्भ इस बारे में एक प्रश्न है सम्मेलनों। )
वाइल्डकार्ड

35

सुदूर अधिक महत्वपूर्ण एक विशेष सम्मेलन लगातार किया जा रहा है कि। एक शैली चुनें, और इसके साथ रहें।


19

मेरी यूनिक्स / लिनक्स फ़ाइल नाम परंपराओं पर ले:

  • यूनिक्स / लिनक्स फाइल सिस्टम एक एक्सटेंशन की धारणा का स्वाभाविक समर्थन नहीं करते हैं। फ़ाइल एक्सटेंशन की अवधारणा पूरी तरह से उपयोगिताओं द्वारा समर्थित कुछ के रूप में मौजूद है cp, जैसे कि ls, या आपके द्वारा उपयोग किए जा रहे शेल। मेरा मानना ​​है कि यह NTFS पर भी इस तरह से है, लेकिन मैं गलत हो सकता है।

  • शेल स्क्रिप्ट सहित एक्ज़ीक्यूटेबल्स में आमतौर पर किसी भी प्रकार का एक्सटेंशन नहीं होता है। लिपियों में एक हैशबैंग लाइन (यानी #!/bin/bash) होगी जो यह पहचानती है कि किस प्रोग्राम को इसकी व्याख्या करनी चाहिए।

  • कोई भी निष्पादन योग्य जो दो अक्षर लंबा है, सुपर महत्वपूर्ण है। इसलिए अपने निष्पादन योग्य नाम दो-अक्षर फ़ाइल नाम न रखें। में किसी भी फाइल /etcमें समाप्त होने वाले tabभी इस तरह के रूप में सुपर महत्वपूर्ण है, है fstab, mtab, inittab
  • कभी कभी .dनिर्देशिका नाम, विशेष रूप से में में जोड़ा जाता है /etc, लेकिन यह व्यापक नहीं है (अद्यतन: https://serverfault.com/questions/240181/what-does-the-suffix-d-mean-in-linux )
  • rcकॉन्फ़िगरेशन स्क्रिप्ट या फ़ाइलों के लिए व्यापक रूप से उपयोग किया जाता है, या तो प्रचलित (जैसे, rc.local) या प्रत्यय ( .vimrc)
  • यूनिक्स / लिनक्स समुदाय में कभी भी एक्सटेंशन पर तीन-चरित्र की सीमा नहीं होती है और फिट होने के लिए अच्छी तरह से एक्सटेंशन को छोटा करने पर भ्रूभंग होता है। उदाहरण के लिए, .htmयूनिक्स / लिनक्स पर HTML फ़ाइलों के अंत में उपयोग न करें .html
  • फ़ाइलों के एक सेट में, एक फ़ाइल नाम कभी-कभी पूंजीकृत होता है, या सभी कैप्स में होता है, इसलिए यह एक निर्देशिका लिस्टिंग के प्रमुख पर दिखाई देता है। क्लासिक उदाहरण Makefileस्रोत पैकेज में है। केवल इस तरह के सामान के लिए करते हैं README
  • ~का उपयोग बैकअप फ़ाइल या निर्देशिका की पहचान करने के लिए किया जाता है, जैसा कि important_stuff~, या /etc~। कई गोले एक अकेले ~का विस्तार करेंगे $HOME
  • लाइब्रेरी की फाइलें लगभग हमेशा से शुरू होती हैं lib। अपवाद है zlibऔर शायद कुछ अन्य।
  • कभी-कभी inetd कहे जाने वाले लिपियों को एक अग्रणी के साथ टैग किया जाता है in., जैसे कि in.tftpd
  • अंत में z का vmlinuzअर्थ है ज़िप्ड, लेकिन मैंने इस तरह से किसी अन्य फ़ाइल का नाम कभी नहीं देखा है।

2
मैं अक्सर .shउन पर "विस्तार" के साथ शेल स्क्रिप्ट देखता हूं। मुझे व्यक्तिगत रूप से यह कुछ कष्टप्रद लगता है, लेकिन मुझे यह स्वीकार करना होगा कि मैं किसी अच्छे कारण से अनभिज्ञ हो सकता हूं .sh
डैन मोल्डिंग

4
एक बात दिमाग में आती है कि यह इस तथ्य पर जोर देने के लिए उपयोगी है कि यह एक पाठ-आधारित स्क्रिप्ट है न कि एक द्विआधारी।
लॉरेंस

1
@DanMoulding, व्यक्तिगत रूप से, मैं उन .shलिपियों पर उपयोग करता हूं जो (1) अंतःक्रियात्मक रूप से चलाने के लिए नहीं हैं, लेकिन केवल अन्य लिपियों / कार्यक्रमों से, या (2) निष्पादन के बजाय सोर्सिंग के लिए डिज़ाइन किए गए हैं। पूर्व के लिए उन्हें निष्पादन योग्य होना चाहिए; उत्तरार्द्ध के लिए मैं निष्पादन योग्य बिट को छोड़ देता हूं और केवल शेल के लिए शेलबैंग लाइन का उपयोग करता हूं कि फ़ंक्शन किस शेल के लिए लिखे गए हैं।
वाइल्डकार्ड

3
@Wildcard मैं (6 साल पहले) एक ही आदत में मिल गया है। विस्तार वास्तव में स्क्रिप्ट बिट्स की सोर्सिंग के लिए बहुत मायने रखता है। उदाहरण के लिए, zsh (यानी #!/bin/zshशीर्ष पर) के लिए लिखी गई एक निष्पादन योग्य स्क्रिप्ट से आप जानते हैं कि आप .zsh एक्सटेंशन के साथ किसी अन्य फ़ाइल को सुरक्षित रूप से स्रोत कर सकते हैं और सुनिश्चित करें कि इसमें कानूनी zsh कोड है। यदि आपकी निष्पादन योग्य स्क्रिप्ट सख्ती से बॉर्न शेल #!/bin/shकंप्लेंट (यानी शीर्ष पर) है, तो आपको पता होगा कि सोर्सिंग .zsh फाइल समस्याग्रस्त होने वाली है।
डैन मोल्डिंग

4
मुझे ".sh", ".py", ".pl" आदि का उपयोग करना सुविधाजनक लगता है, और कुछ पाठ संपादक (जैसे, गनी) उन लोगों का उपयोग करते हैं जो उचित वाक्य-विन्यास हाइलाइटिंग योजना में पहला अनुमान लगाते हैं।
bgvaughan

7

डॉक्स के विपरीत यूनिक्स फ़ाइल नाम में एक स्ट्रिंग है, जहां नाम और विस्तार से फ़ाइल नाम की रचना की गई थी। अतः दिए गए फ़ाइलनाम में से कोई भी पूरी तरह से स्वीकार्य है।

लेकिन कई प्रोग्राम अभी भी अलग-अलग फ़ाइल प्रकारों को अलग करने के लिए डॉट के साथ शुरुआत करने वाले फ़ाइल प्रत्यय का उपयोग करते हैं, यानी अपाचे वेब सर्वर उत्तर हेडर में सही MIME प्रकार सेट करने के लिए प्रत्यय का उपयोग करता है।


5
जबकि जेलरन 100% सही है: यूनिक्स / लिनक्स जैसे फ़ाइल एक्सटेंशन के बारे में परवाह नहीं करता है, लिनक्स के आधुनिक स्वाद अभी तक देखभाल करते हैं क्योंकि कुछ शेल एक्सटेंशन कुछ फ़ाइल प्रकारों की विशेष पहचान (रंग या अन्यथा) प्रदान करते हैं और फ़ाइल प्रबंधक स्वचालित संघ प्रदान करते हैं कार्यक्रमों के साथ। लेकिन बस इंसान के लिए यह जानना बहुत जरूरी है कि कौन सी फाइल किस प्रकार की है। यह अंत करने के लिए यह एक मानक योजना के लिए छड़ी करने के लिए सुविधाजनक है न केवल अपने लिए बल्कि दूसरों के साथ संगत। इस संबंध में चीजें एमएस विंडोज (या माइम) से अधिक भिन्न नहीं होनी चाहिए।
asoundmove

कहा कि कभी-कभी कई अलग-अलग विस्तार शैलियों का एक ही उद्देश्य मेल खा सकता है। इस प्रकार .tar.gz .tgz, .tar.bz2 = .tbz, .ps.gz के बराबर होता है जिसे अक्सर .ps (भ्रामक) के रूप में छोटा किया जाता है और मुझे यकीन है कि कई और भी हैं।
21

@asoundmove .ps.gz का अर्थ है कि यह एक संकुचित .ps फ़ाइल है। जैसे .tar.gz का मतलब होता है संपीड़ित .tar फ़ाइल।
jonescb

1
@jonescb, हां बिल्कुल। इस बारे में मेरी बात भ्रामक है कि जब मैं देखता हूं।। क्योंकि उन्हें सोर्स कोड देखने के लिए zcat या zless की आवश्यकता होती है)। कुछ लोगों ने केवल .ps के साथ संपीड़ित पोस्टस्क्रिप्ट फ़ाइलों को प्रत्यय देने का निर्णय लिया क्योंकि कुछ सामान्य ps दर्शक वास्तव में इस बात से सहमत नहीं हैं कि वे संकुचित हैं या नहीं।
asoundmove

6

दो विचार:

  1. जीएनयू कोडिंग मानकों के Naming Variables, Functions, and Filesअनुभाग में आप पाएंगे:

    कृपया एक नाम में अलग शब्दों के लिए अंडरस्कोर का उपयोग करें, ताकि Emacs शब्द कमांड उनके भीतर उपयोगी हो सकें। निचले मामले में छड़ी;

    जबकि IMO ने कहा "आपको उपयोग करना चाहिए _क्योंकि emacs" थोड़ा दिनांकित लगता है, फिर भी यह उनके 'मानकों' दस्तावेज़ में है।

  2. आइए एक पल के लिए मान लें कि हम सभी इस बात से सहमत हैं कि लिनक्स कर्नेल, लिनक्स प्रोजेक्ट्स का सब-एंड-एंड-एंड * है, और यह कि वहां इस्तेमाल होने वाले कन्वेंशनों को 'मानक' कन्वेंशन माना जा सकता है।

    grep-इन स्रोतों के लिए आपको निम्न अक्षर मिलेंगे:

    • 44.6% समय केवल डैश का उपयोग किया जाता है
    • समय का 54.1% केवल अंडरस्कोर होता है
    • किसी फाइल का उपयोग करने में 1.2% समय लगता है।

दिलचस्प बात यह है Git के लिए स्रोत पर में वजन का होता है 85% डैश के लिए, 3.8% अंडरस्कोर के लिए, और 11.1% दोनों के लिए।

पसंद स्पष्ट है, बहस खत्म। ;)

व्यक्तिगत राय: मैं सौंदर्यशास्त्र और प्रमुख कारणों के लिए डैश का उपयोग करता हूं। यदि आप एक टीम पर काम कर रहे हैं, तो वोट लें। लेकिन जो कहा गया है उसे दोहराना, सुसंगत होना

* या "be_all and end_all" अगर आपको पसंद है


4

वर्ण जिन्हें आपको फ़ाइल नाम में उपयोग नहीं करना चाहिए:

| ; ; @ # $ () <> / \ "'~ ~ {} [] = + & ^

चरित्र का वर्णन आपको नाम पढ़ने में आसान बनाने के लिए उपयोग करना चाहिए:

_ -। :

(कुछ मामलों में ":" का विशेष अर्थ है)


5
बेशक, आप फ़ाइल नाम में "/" का उपयोग नहीं कर सकते । बाकी सब संभव है। और यदि आप इसे उपयोग करना कठिन बनाना चाहते हैं, तो भी उपयोगी ;-)
जुरगेन ए। इरहार्ड

सूची वास्तव में बहुत लंबी है, जिसमें नियंत्रण और गैर-एएससीआईआई अक्षर शामिल हैं। हां, आपके पास * nix फ़ाइल नाम के भाग के रूप में एक बैकस्पेस हो सकता है।
l0b0

1
इस बिंदु पर अधिक, अधिकांश * निक्स सिस्टम केवल फ़ाइल नामों में दो विशिष्ट वर्णों को अस्वीकार करते हैं: /पथ विभाजक, और \ 0 (ASCII शून्य) स्ट्रिंग टर्मिनेटर।
बजे एक CVn

4

दूसरों ने जो कहा है, उसे जोड़ने के लिए, मैं सिर्फ इतना कहूंगा कि उच्चारण किए गए अक्षरों और कई विशेष वर्णों के फ़ाइलनाम में कानूनी होने के बावजूद वे निम्नलिखित में से किसी भी परिदृश्य में समस्याएँ पैदा कर सकते हैं:

  • आप अपने फाइल सिस्टम को अन्य कंप्यूटरों के साथ साझा करते हैं, विशेष रूप से विभिन्न ऑपरेटिंग सिस्टम के साथ;
  • आप दूसरों के साथ फ़ाइलें साझा करते हैं (और यद्यपि ईमेल रूपांतरणों के साथ काफी अच्छा है, कभी-कभी यह काम नहीं करता है);
  • आप कुछ कार्यों को स्वचालित करने के लिए शेल स्क्रिप्ट का उपयोग करते हैं (रिक्त स्थान विशेष रूप से समस्याग्रस्त हैं, हालांकि उनसे निपटने के कई तरीके हैं);
  • आप दूसरे कंप्यूटर से फाइल शेयर का उपयोग करते हैं।

...


3

अल्फ़ान्यूमेरिक फ़ाइल नाम के लिए छड़ी। रिक्त स्थान से बचें या अंडरस्कोर (_) के साथ रिक्त स्थान बदलें। फ़ाइल नामों को अवधि (।), अंडरस्कोर (_), और हाइफ़न (-) तक सीमित करें। आम तौर पर फ़ाइल नाम कम होते हैं, लेकिन जब मैं फ़ाइल नाम में एक से अधिक शब्द होता हूं तो मैं कैमलकेस का उपयोग करता हूं।

एक्सटेंशन का उपयोग करें जो फ़ाइल के प्रकार को इंगित करता है। प्रोग्राम को एक्सटेंशन की आवश्यकता नहीं है क्योंकि प्रोग्राम को इंगित करने के लिए एग्जीक्यूट बिट का उपयोग किया जाता है, और शेल विभिन्न प्रकार के प्रोग्राम चलाना जानते हैं। शेल स्क्रिप्ट्स के लिए (.sh) और पर्ल स्क्रिप्ट्स के लिए (.pl) की आवश्यकता नहीं है, यह आम है। Windows निष्पादन योग्य एक्सटेंशन .bat, .com, .scr, और .exe यूनिक्स पर विंडोज निष्पादन योग्य दर्शाते हैं।

एक मानक उठाओ और इसे छड़ी। यदि आप इससे बचते हैं तो यह चीजों को तोड़ नहीं देगा।

छिपी (या डॉट) फ़ाइलों में एक अवधि के साथ शुरू होने वाले नाम हैं। ये आमतौर पर निर्देशिका लिस्टिंग में दिखाई नहीं देते हैं। सूची में डॉट फ़ाइलों को शामिल करने के लिए 'ls -a' का उपयोग करें।


5
CamelCase यूनिक्स पर एक विरोधी पैटर्न है। ओपी सम्मेलनों के बारे में पूछ रहा था।
मिकेल

2
यह "बुरा" बनाम "अच्छा" नहीं है। यह "यह है कि यह आमतौर पर कैसे किया जाता है"। यह एक सम्मेलन है जिसे ओपी पूछ रहा था। कारण? ऐसा इसलिए हो सकता है क्योंकि यूनिक्स के लोग शिफ्ट को दबाना पसंद नहीं करते हैं, ऐसा इसलिए हो सकता है क्योंकि पुराने सिस्टम में केवल UPPERCASE या अन्य कारण थे। मुझे यकीन नहीं है।
मिकेल

@ मिकेल मैं जावा का भी कार्यक्रम करता हूं जहां कैमलकेस एक सम्मेलन है। कभी-कभी पैटर्न और सम्मेलनों में टकराव होता है।
बिलथोर

.scr भी एक विंडोज़ निष्पादन योग्य एक्सटेंशन है।
लॉरेंस

1
@ultrasawblade धन्यवाद, दिखाता है कि मैं कितनी बार विंडोज स्क्रिप्ट करता हूं। मैंने cmd, pif, vb *, wsh और उनमें से बाकी जैसे दुर्लभ निष्पादन योग्य एक्सटेंशन को छोड़ने का प्रयास किया।
बिलचोर

2

शब्दों के बीच विभाजक के रूप में स्थान बदलने के लिए एक सम्मेलन "_" का उपयोग करना है। अन्य पात्रों का उपयोग रिक्त स्थान को बदलने के लिए किया जा सकता है, लेकिन "-" और "" के लिए थोड़ा मजबूत पारंपरिक उपयोग हैं। पथनामों में, इसलिए "_" आमतौर पर पसंद किया जाता है।

पथनामों में रिक्तियाँ कानूनी हैं, लेकिन परंपरागत रूप से बचा जाता है, क्योंकि उन्हें पथनाम ("फू बार") या रिक्त स्थान से बचने की आवश्यकता होती है। एक अच्छी तरह से लिखी गई शेल स्क्रिप्ट वैरिएबल को उद्धृत करेगी जिसमें रिक्त स्थान, विशेष रूप से पथनाम शामिल हो सकते हैं, लेकिन ऐसा करने में विफल रहना एक सामान्य निरीक्षण है, और कमांड लाइन पर दर्ज किए गए एक-बंद कमांड को करते समय यह बहुत अतिरिक्त टाइपिंग है।

टाइमस्टैम्प या सीरियल नंबर के रूप में संख्याओं के समूहों को अलग करने के लिए "-" का उपयोग करना, एक सम्मेलन है जो आमतौर पर फाइल सिस्टम के संदर्भ में उपयोग किया जाता है। "का उपयोग कर रहे हैं।" "फ़ाइल एक्सटेंशन" को अलग करने के लिए जो इंगित करता है कि फ़ाइल का प्रकार बहुत सामान्य है, और कुछ महत्वपूर्ण उपकरण इस पर निर्भर करते हैं। उदाहरण के लिए, Red Hat Enterprise Linux और इसके व्युत्पन्न RPM पर संकुल प्रबंधन प्रणाली, .rpm के साथ संकुल फाइलों को समाप्त करने की उम्मीद करती है। पारंपरिक टारबॉल एक टार फाइल (".tar") है जिसे gzipped (".gz") किया गया है, और इसलिए ".tar.gz" में समाप्त होता है।

इसलिए इनको एक साथ रखने पर, आप अक्सर उन फिल्नामों को समाप्त कर देते हैं, जो "home_backup_2017-07-01.tar.gg" जैसे लगते हैं।


2

एक्सटेंशन के लिए फ़ंक्शंस के लिए फ़ाइलों का नामकरण -या _उनका उपयोग करें
_
.

cat << EOF > foo-bar.sh  
foo_bar() {  
echo baz  
}  
EOF  

0

मैं डेविड वनिल से सहमत हूं कि आपको बस कुछ के साथ जाना चाहिए।

लेकिन यह अच्छा है अगर फाइलें एक ही dir में सॉर्ट की जाती हैं , इसलिए नंबर 0 ..10 नहीं, बल्कि नंबर 00 ..10 है।

नामों में तारीखों का उपयोग करते समय, ISO8601 जैसे मानक दिनांक प्रारूप के साथ जाएं

और नाम में तार्किक भागों को अलग करने के लिए कई वर्णों का उपयोग करने से डरो मत। यदि आप _ (वह 3 _) का उपयोग करते हैं, तो आप बाद में फ़ाइल नाम पर regexps को सरल बना सकते हैं।

तो आपका उदाहरण कुछ इस तरह हो सकता है:

backup_2011-06-19T114012___part002___random

पढ़ने के लिए आसान और स्क्रिप्ट के साथ पार्स करना आसान है।


0

एक फ़ाइल नाम में शब्द किसी के साथ अलग किया जा सकता _या -यूनिक्स परंपरा के अनुसार।

यदि आप उपयोग करते हैं -, तो टाइप करना आसान है, आपको SHIFT दबाने से बचाता है। लेकिन चूंकि -यह बहुत कम जगह लेता है, इसलिए इसकी तुलना में शब्द अलगाव को पढ़ना थोड़ा कठिन है __अलग-अलग शब्दों का उपयोग करने से यह अधिक साफ दिखता है क्योंकि यह _अधिक स्थान लेता है।

शेल स्क्रिप्टिंग और अन्य कंप्यूटर प्रोग्रामिंग में, _मल्टी वर्ड वेरिएबल के लिए उपयोग किया जाता है, जैसे MY_ENVIRONMENT_FILE। फ़ाइलनाम का उपयोग करने के _साथ ही यह सुसंगत रहता है MY_ENVIRONMENT_FILE=~/my_environment_file:।

वेब विकास में, -फ़ाइल नामकरण के लिए प्राथमिकता दी जाती है। एक कारण शायद यह है कि वेबलिंक्स में अंडरलाइन अंडरस्कोर छिपा सकते हैं और यदि आप वेबलिंक को हाथ से टाइप कर रहे हैं तो यह मुश्किल बना सकता है।

अधिकांश संपादकों और साथ ही वेब पृष्ठों में, this_long_wordपूरी तरह से एक डबल क्लिक के साथ चुना जा सकता है , लेकिन नहीं this-long-word


हम्म, आप अपने फ़ाइलनाम को एक चर-चौड़ाई फ़ॉन्ट में क्यों पढ़ रहे हैं? अपने टर्मिनल खोलें और -और _बस ठीक उसी स्थान ले! :)
वाइल्डकार्ड

हाहा, तुम सही हो। मैं SourceCodePro + Powerline + विस्मयकारी नियमित पैचित फ़ॉन्ट का उपयोग करता हूं। यहां तक ​​कि मोनोस्पेस फॉन्ट के साथ, _क्लीनर दिखता है , भले ही यह उतना ही स्थान लेता है -। मुझे "जाहिरा तौर पर" शब्द का इस्तेमाल करना चाहिए था। के बारे में _और -मोनोस्पेस फॉन्ट का उपयोग करते समय, अंतर को इस अनुरूप चित्र के साथ सबसे अच्छा समझाया जा सकता है: evsc.net/v8/wp/wp-content/uploads/2010/09/…
GMaster

-1

लिनक्स के लिए निश्चित रूप से एक मानक है। यदि आप किसी भी लिनक्स सिस्टम में फ़ाइल नामों को देखते हैं तो वे डैश के साथ कम मामले हैं: / usr / bin / ssh-keygen। यह लिनक्स मानक बेस दस्तावेजों में से एक में निर्दिष्ट है जो मुझे अभी नहीं मिल सकता है। यह जीएनयू द्वारा भी निर्दिष्ट किया गया है जो फ़ाइल नामों के लिए चर नामों और डैश के लिए अंडरस्कोर का उपयोग करने के लिए कहता है।


-2

बाकी सभी ने जो कहा है उसे जोड़ने के लिए:

1-भले ही लिनक्स एक्सटेंशन के बारे में ज्यादा परवाह नहीं करता है, विंडोज करता है, इसलिए सुनिश्चित करें कि किसी भी फाइल को आप कभी भी किसी को भी देने की योजना बना सकते हैं।

2-कैमल कैप के साथ स्क्रिप्ट का उपयोग करना सबसे आसान लगता है, बचने के दृश्यों के बारे में चिंता करने के लिए कोई विशेष वर्ण नहीं।


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