पाठ फ़ाइलों के लिए किस एक्सटेंशन का उपयोग करना है? (यूनिक्स / लिनक्स)


20

मैंने देखा कि मैं बिना .txtठीक एक्सटेंशन के पाठ फ़ाइलों को पढ़ सकता हूं । कैसे? क्या मुझे .txtएक्सटेंशन के साथ या बिना इन फ़ाइलों को सहेजना चाहिए ?

इसके अलावा, .iniफ़ाइलों के बारे में क्या ? मैं आमतौर पर उन्हें इस तरह का उपयोग करता हूं: config.iniक्या मुझे यहां एक्सटेंशन को हटा देना चाहिए?

लिनक्स कैसे फाइल एक्सटेंशन को हैंडल करता है इस पर कोई भी सामान्य संसाधन उपयोगी होगा।

जवाबों:


37

UNIX / Linux में वही प्रारंभिक डॉस / सीपी / एम विरासत नहीं है जो विंडोज करता है। इसलिए एक्सटेंशन आमतौर पर अधिकांश यूनिक्स उपयोगिताओं और उपकरणों के लिए कम महत्वपूर्ण हैं।

मैं आमतौर पर कमांड-लाइन केवल पर्यावरण का उपयोग करता हूं। ऑपरेटर या उपयोगकर्ता की सुविधा के अलावा लिनक्स के तहत ऐसे वातावरण में विस्तार वास्तव में महत्वपूर्ण नहीं है। (मेरे पास यह जानने के लिए केडीई या गनोम के पास पर्याप्त अनुभव नहीं है कि उनके पुलिसकर्मी एक्सटेंशन के साथ कैसे व्यवहार करते हैं।)

लेकिन इस तरह की सुविधा आमतौर पर महत्वपूर्ण है। यदि config.iniवास्तव में Microsoft-मानक ".ini" प्रारूप में है, तो मैं एक्सटेंशन को खड़ा होने दूंगा। सादा पुरानी पाठ फ़ाइलें आमतौर पर लिनक्स में कोई विस्तार नहीं करती हैं, लेकिन यह सभी प्रोग्राम कॉन्फ़िगरेशन फ़ाइलों के लिए सार्वभौमिक नहीं है। प्रोग्रामर आमतौर पर यह तय करता है।

मुझे लगता है कि ".txt" लिनक्स के तहत उपयोगी है यदि आप इस बात पर जोर देना चाहते हैं कि यह कॉन्फ़िगरेशन फ़ाइल या अन्य मशीन-पठनीय दस्तावेज़ नहीं है। हालाँकि, सोर्स डिस्ट्रीब्यूशन में, कन्वेंशन में ऐसी फाइलों को बिना कैप के सभी नाम दिए गए हैं (जैसे README, INSTALL, COPYING, आदि)।

कुछ मानक और रूढ़ियां हैं, लेकिन कुछ भी जो आप चाहते हैं, उसका नामकरण करने से कुछ भी नहीं रोक सकता है, जब तक कि आप दूसरों के साथ चीजें साझा नहीं कर रहे हैं।

विंडोज में, एक फ़ाइल का नामकरण .exeशेल (आमतौर पर explorer.exe) को इंगित करता है कि यह एक निष्पादन योग्य फ़ाइल है। UNIX इस नॉलेज को फाइल सिस्टम की परमिशन में बनाता है। यदि उचित xबिट्स (देखें man chmod) सेट हैं, तो इसे शेल और कर्नेल फ़ंक्शन (मुझे विश्वास है) द्वारा निष्पादन योग्य के रूप में मान्यता प्राप्त है। इसके अलावा, लिनक्स परवाह नहीं करता है, अधिकांश गोले की देखभाल नहीं करेंगे, और अधिकांश प्रोग्राम इसे "प्रकार" खोजने के लिए फ़ाइल में देखते हैं।

बेशक, वहाँ अच्छा आदेश है fileजो फ़ाइल का विश्लेषण कर सकता है और आपको बता सकता है कि यह निश्चितता के साथ क्या है। मेरा मानना ​​है कि अगर यह किसी भी ज्ञात प्रकार के साथ फ़ाइल में डेटा से मेल नहीं खा सकता है, और यदि इसमें केवल मुद्रण योग्य ASCII / यूनिकोड वर्ण हैं, तो यह एक पाठ फ़ाइल मानता है।


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


7
यह बहुत उपयोगी है यदि आप कंसोल में बहुत काम कर रहे हैं, क्योंकि अच्छी तरह से नामित फ़ाइलों को ग्लोबिंग के साथ दूसरों से अलग करना आसान है।
lynxlynxlynx 17

9
आपको इस बात पर जोर देना चाहिए कि लिनक्स फ़ाइल नामों में "एक्सटेंशन" नहीं है - एक फ़ाइल नाम का ".txt" भाग जिसमें यह केवल एक विकल्प है। आपको इस बात पर भी जोर देना चाहिए कि आंतरिक फ़ाइल संगठन (LF- समाप्त स्ट्रिंग्स, CR-LF समाप्त स्ट्रिंग्स, निश्चित आकार रिकॉर्ड आदि) भी नाम से संबंधित नहीं है, और न ही "ऐप" है जो नाम से संबंधित फ़ाइल के बारे में जानता है। ।
ब्रूस एडिगर

2
मुझे लगता है कि DOS के तहत केवल FAT16 8.3 निर्देशिका प्रविष्टियों में विस्तार के लिए अलग-अलग 3-बाइट फ़ील्ड था। FAT32 ने संगतता के लिए 8.3 फ़ील्ड रखा, लेकिन वास्तविक "लॉन्ग फ़ाइल नाम" एक अलग एक्सटेंशन फ़ील्ड के साथ एक स्ट्रिंग है, कई निर्देशिका प्रविष्टियों ( fandecheng.com/personal/interests/ewindows/nuhelp/lfnspec.htm ) के खिलाफ विभाजन
लॉरेंस

23

विंडोज के विपरीत, यूनिक्स प्रणालियों में फ़िलेटाइप को एक्सटेंशन द्वारा निर्धारित नहीं किया जाता है। फ़ाइल एक्सटेंशन है और बस मनुष्यों के लिए एक दृश्य संकेतक है। आप JPEG foo.c को नाम दे सकते हैं और इसे जिम्प में खोल सकते हैं। विंडोज से एक और विपरीत यह है कि UNIX सिस्टम पर आपको पूरे फ़ाइलनाम का उपयोग करना होगा, जबकि विंडोज अक्सर आपके लिए इसका ख्याल रखेगा (जैसे, सिर्फ explorerबनाम चल रहा है explorer.exe)। UNIX पर foo.shकहा जाना चाहिए foo.sh, बस नहीं foo

कन्वेंशन द्वारा लोग एक्सटेंशन के एक सामान्य सेट का उपयोग करते हैं। यह अभ्यास, जबकि अनावश्यक, संभवतः बड़े पैमाने पर मानवता के लिए फायदेमंद है।


7
+1 के लिएThis practice…is probably beneficial for humanity at large
उलरिच डांगेल

बहुत बुरा पैकेजिंग विविधता उचित माइम को कभी-कभी कठिन बना देती है (जैसे मेरे अनुभव से केडीई में), हालांकि मुझे नहीं पता कि जादू बाइट की जांच करने पर प्रोग्राम वापस क्यों नहीं आते हैं।
lynxlynxlynx 17

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

1
@bahamat यह एक बाइट नहीं है, लेकिन फ़ाइल का एक हिस्सा पारंपरिक रूप से " मैजिक नंबर " कहलाता है जो यह परिभाषित करता है कि फ़ाइल में क्या है। यह वही है जो fileकमांड देख रहा है। ( #!उदाहरण के लिए श लिपियों के लिए जादू की संख्या है)
इजाकाटा

1
@lzkata ठीक है, जैसे मैंने कहा: "ज्ञात फ़िलिपीज़ जो बहुत अच्छी तरह से प्रलेखित और संरचित हैं, जो निश्चित रूप से उच्च स्तर की निश्चितता के साथ पहचाने जाते हैं"।
बहमट

7

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

1) अगर उस फ़ाइल को कभी एक विंडोज़ मशीन द्वारा पढ़ा जाएगा, तो "ओपन विथ ..." खोजने की कोशिश करने की तुलना में इसे खोलना आसान होगा।

2) एक्सटेंशन आपकी मदद करता है, उपयोगकर्ता, यह पता लगाता है कि फ़ाइल क्या कर रही है। हमारी लैब में: .txt = टेक्स्ट फ़ाइल .sgi = irix संकलित बाइनरी .linux = linux संकलित बाइनरी

यदि आपको पुरानी यूनिक्स मशीनों (हम अभी भी IRIX का उपयोग करते हैं) का उपयोग करना है, तो ध्यान रखें कि * nix मशीनों में कैरेज रिटर्न अलग है, और यदि आप कोशिश करते हैं और विंडोज़ कैरिज रिटर्न के साथ फाइल खोलते हैं तो प्रोग्राम की सराहना नहीं हो सकती है।



3

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

एक्सटेंशन को पंजीकृत करना संभव है, ताकि लिनक्स हमेशा कुछ कार्यक्रमों के साथ कुछ एक्सटेंशन खोलता है। इस सुविधा को बिनफाम्ट कहा जाता है ।

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

प्रत्येक प्रारूप में / proc / sys / fs / binfmt_misc निर्देशिका में संबंधित फ़ाइल प्रविष्टि होती है जिसे किसी दिए गए फ़ाइल प्रारूप के बारे में जानकारी प्राप्त करने के लिए पढ़ा जा सकता है।


-2

.txt को विभिन्न अनुप्रयोगों के माध्यम से खोला जा सकता है। लेकिन महत्वपूर्ण बात यह है कि इसका उपयोग फ़ाइल को कुछ प्रकारों में वर्गीकृत करने के लिए किया जाता है। आप देख सकते हैं कि क्या हम उसी फ़ाइल का उपयोग करके सहेजते हैं। Html फ़ाइल इंटरनेट एक्सप्लोरर में खोलने की कोशिश करती है। इस तरह के फ़ाइल प्रकारों का समर्थन करने के लिए अनुप्रयोगों के अनुसार किया जाता है। यदि आप उपयोग करते हैं। ऊपर संकलक में। Html इसमें html विशेषताओं को खोजने का प्रयास करता है और तदनुसार परिणाम दिखाता है। अन्य एक्सटेंशन के साथ भी ऐसा ही है। .ini फ़ाइल को पाठ के रूप में पढ़ा जा सकता है, लेकिन एक्सटेंशन इसे कॉन्फ़िगरेशन फ़ाइल के रूप में वर्गीकृत करता है और इसलिए संकलक इसे कॉन्फ़िगरेशन फ़ाइल के रूप में मानता है न कि एक साधारण पाठ फ़ाइल के रूप में पाठ फ़ाइल केवल रिकॉर्ड का एक सेट है और इसमें विशिष्ट कार्य नहीं है। ini.hence आप ini के विस्तार को टेक्स्ट में बदलना नहीं चाहेंगे


6
यह विंडोज पर मामला हो सकता है, लेकिन (जैसा कि अन्य उत्तरों में बताया गया है), यह UN * X-ish ऑपरेटिंग सिस्टम में अप्रासंगिक है।
पिस्कवर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.