Windows में फ़ाइल मेटाडेटा कैसे संग्रहीत किया जाता है?


13

(मैं विंडोज एक्सपी का उपयोग कर रहा हूं लेकिन मुझे लगता है कि यह विंडोज के सभी हाल के संस्करणों में समान है।)

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

तो सभी मेटाडेटा कहाँ संग्रहीत हैं?


यहां कोई जादू नहीं है। इन उत्तरों को यहां पढ़ें: stackoverflow.com/questions/4954991/…
HighTechGeek

बहुत समय पहले मुझे याद है कि मेरे पास एक तरह का वायरस हुआ करता था जो किसी तरह मेरे पीसी में कुछ फाइलों को दूषित कर देता था जिससे वे आकार में लगभग 100GB दिखाई देते थे। उनमें से हर एक। मेरे 40GB हार्डडिस्क पर। तो किसी तरह का जादू चला होगा ...:
जेकेकोमॉन

1
उदाहरण के लिए: ntfs.com/ntfs_basics.htm
Koray Tugay

जवाबों:


11

आपको सिखाया गया है कि हार्ड डिस्क में फाइलें होती हैं, लेकिन यह पूरी सच्चाई नहीं है। दरअसल, हार्ड ड्राइव में बहुत सारे सिंगल बिट्स द्वारा व्यक्त की गई एक बहुत बड़ी संख्या होती है। लेकिन यह व्याख्या आपके या आपके कंप्यूटर के लिए कोई मतलब नहीं रखती है, क्योंकि एकल बड़ी संख्या में प्रसंस्करण बहुत आम नहीं है (और मैं वास्तव में बड़ी संख्या के बारे में बात कर रहा हूं)। इसके बजाय, कंप्यूटर इसे छोटे 'शब्दों' (8-बिट, 16-बिट, 32-बिट या जो कुछ भी) में विभाजित करता है और जैसे उपयोग करता है। फिर भी, यह सिर्फ शब्दों का एक समूह है (मान लीजिए 8-बिट शब्द, यानी बाइट्स)।

अब, वह ड्राइव विभाजन है। मैंने बताया है कि इस उत्तर में विभाजन एक अच्छा विचार क्यों है :

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

  • आपके पास एक ही हार्ड ड्राइव पर दो ओएस हो सकते हैं और एक दूसरे के साथ हस्तक्षेप नहीं कर सकते हैं। प्रत्येक व्यक्ति अपने विभाजन को एक तार्किक ड्राइव के रूप में मानेगा और जब तक आप इसे नहीं बताएंगे, तब तक यह दूसरे के साथ खिलवाड़ नहीं करेगा।
  • आप तार्किक रूप से अपना डेटा अलग कर सकते हैं। यदि किसी कारण से एक विभाजन दूषित हो जाता है, तो अन्य विभाजन बहुत हद तक बरकरार रहेंगे।
  • विभाजन का उपयोग करना कई छोटी हार्ड ड्राइव का उपयोग करने से बेहतर है, क्योंकि आपका सिस्टम शांत है, कम ऊर्जा खपत करता है और आप आकार बदल सकते हैं, हटा सकते हैं, उन्हें चारों ओर ले जा सकते हैं आदि।
  • आप कुछ विशेष उद्देश्यों के लिए हार्ड ड्राइव के कुछ हिस्सों का उपयोग कर सकते हैं।

अब, हर विभाजन का अपना फाइल सिस्टम है। विंडोज के आधुनिक संस्करण NTFS का उपयोग करते हैं , लेकिन FAT , FAT32 और exFAT बाहरी मीडिया या विरासत विभाजन के लिए समर्थित हैं। हर दिन उपयोग किए जाने वाले लिनक्स इंस्टॉलेशन में आमतौर पर एक्सट्रीम फाइलसिस्टम का इस्तेमाल होता है , एक्सट्रीम लेटेस्ट एक है।

फाइलसिस्टम उस तरह को परिभाषित करता है जिस तरह से फाइल भौतिक रूप से डिस्क पर स्थित होती है। आप इसे इस तरह से सोच सकते हैं: यदि आपके पास बिना किसी अध्याय, पृष्ठ संख्या या रेखा विराम के 10000 पृष्ठों की पुस्तक थी, तो इसका उपयोग करना बहुत कठिन होगा। बेशक पृष्ठ संख्या और अध्याय शीर्षक पृष्ठ पर कुछ स्थान लेते हैं, लेकिन वे पुस्तक का उपयोग बहुत आसान और तेज करते हैं। यदि आप अध्याय में कूदना चाहते हैं, तो हम कहते हैं, 42, आप इसे केवल सामग्री की तालिका में देखते हैं। तब आप पुस्तक के माध्यम से पत्ता जब तक आप चाहते हैं अध्याय नहीं मिल रहा है। आपकी फाइलें अध्याय हैं और आपका फाइल सिस्टम पुस्तक है। फ़ाइलसिस्टम मेटाडेटा, जैसे फ़ाइल सीमाएँ, फ़ाइल नाम आदि में भी जगह होती है, लेकिन यह तुलनात्मक रूप से बहुत कम जगह है, और यह चीजों को बहुत तेज़ी से काम करता है।

यदि आपका "अध्याय" खाली है, तो उसमें अभी भी हेडिंग या पेज नंबर हो सकता है? खाली फ़ाइल में डेटा का शून्य बाइट्स होता है। मेटाडेटा जगह लेता है, लेकिन यह फाइल का हिस्सा नहीं है, बल्कि फाइल सिस्टम का है। अन्यथा आप अपनी पाठ फ़ाइलों के अंदर फ़ाइल नाम देखेंगे?

वैसे, इसीलिए DOS के शुरुआती संस्करण केवल 8.3 नामों को स्वीकार कर रहे थे - फाइलनाम के लिए आरक्षित स्थान बहुत सीमित था। NTFS उन फिल्नामों की अनुमति देता है जो 255 वर्ण लंबे [1] हैं


आपकी टिप्पणी पर सिर्फ एक और शब्द:

मेरे पास एक तरह का वायरस था जो किसी भी तरह से मेरे पीसी में कुछ फ़ाइलों को दूषित कर देता था ताकि वे आकार में लगभग 100GB दिखाई दें। उनमें से हर एक। मेरे 40GB हार्डडिस्क पर। तो किसी तरह का जादू रहा होगा ...: -डॉ

यह पूरी तरह से संभव है कि आपकी हार्ड ड्राइव की तुलना में वैध फाइलें बड़ी हों, जिन्हें स्पार्स फाइल कहा जाता है । हेन्स ने इस सवाल पर अपनी टिप्पणी में इनका एक उत्कृष्ट स्पष्टीकरण दिया है :

एक बांधने की कल्पना करें जो 100 पृष्ठों को रखने में सक्षम है। यदि आप उस बाइंडर का उपयोग एक नियमित फ़ाइल के रूप में करते हैं तो आप 100 पृष्ठ सम्मिलित कर सकते हैं। आप सभी 100 पढ़ सकते हैं। आप सभी को 100 लिख सकते हैं। अब एक विरल बाइंडर की कल्पना करें। आप पहले पृष्ठ को "पेज 1: कंटेंट ए" लिखते हैं। इसके बाद आप एक दूसरा पेज लिखते हैं जिसे आप लिखते हैं "पेज 9999: कंटेंट बी:"। जब भी आप किसी पृष्ठ को पढ़ने की कोशिश करते हैं तो आप देखते हैं कि क्या यह मौजूद है। यदि ऐसा नहीं होता है, तो आपका उत्तर होगा कि यह एक खाली पृष्ठ है। यदि यह मौजूद है तो आप पृष्ठ की सामग्री लौटाते हैं। जब भी आप एक ऐसे पृष्ठ पर लिखते हैं जो अभी तक बांधने की मशीन में मौजूद नहीं है तो आप एक नई शीट जोड़ते हैं।


अन्यथा आप अपनी पाठ फ़ाइलों के अंदर फ़ाइल नाम देखेंगे? खैर, कई समृद्ध फ़िलाटाइप जैसे चित्रों या पीडीएफ फाइलों में बहुत अधिक मेटाडेटा हो सकता है। यहां तक ​​कि सरल UTF-8 एन्कोडेड टेक्स्ट फ़ाइलों में एक अनुक्रम EFBBBF होता है जो कि ज्यादातर टेक्स्ट एडिटर्स द्वारा छिपाया जाता है इसलिए मुझे उम्मीद है कि फाइल मेटाडेटा सिर्फ फाइल का कुछ और छिपा हुआ और अप्राप्य हिस्सा होगा। वैसे भी, आप एक भयानक शिक्षक होंगे! यहाँ दिया गया हर उत्तर (और होगा) वास्तव में किसी तरह से मददगार था लेकिन मैं आपके प्रयास की सबसे अधिक सराहना करता हूँ।
ज्येकोमन

यह सवाल का जवाब नहीं देता है, यह करता है? तो सभी मेटाडेटा कहाँ संग्रहीत हैं?
कोरे तुगे

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

7

बस आज विंडोज वैकल्पिक डेटा स्ट्रीम (ADS) के बारे में सीखा। यह एक छिपा हुआ संसाधन कांटा है जो किसी फ़ाइल से जुड़ा होता है। यह Windows NT 3.1 के बाद से NTFS का हिस्सा रहा है।

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

आप कमांड प्रॉम्प्ट से ADS फ़ाइलों को बना और देख सकते हैं।

echo "ABCDE" > test.txt:hidden.txt

छिपी हुई। ADT फ़ाइल के साथ एक test.txt फ़ाइल बनाएगा

आप फ़ाइल को संपादित करने के लिए इस कमांड का उपयोग कर सकते हैं:

notepad test.txt:hidden.txt

यहां एक आसान लेख पढ़ा गया है जो अधिक विवरण में है।


यह वास्तव में एक दिलचस्प बात है! मैंने वास्तव में इसके बारे में कभी नहीं सुना है ... धन्यवाद।
जेयाकोमोन

@Jeyekomon यह 'प्रकार' लगता है इसका समर्थन नहीं करता, pastebin.com/raw/4Ae3GGkN लेकिन मैं देख रहा हूँ गूंज और नोटपैड (Win7 में परीक्षण किया गया) है
barlop

2

मैंने एक खोज की और स्टैक ओवरफ्लो पर पूछे गए एक समान प्रश्न के बारे में बताया।

यह मूल रूप से कहता है कि फ़ाइल बनाई जाती है और कुछ बाइट्स या हार्ड ड्राइव क्लस्टर आदि लेती है। यह हार्ड ड्राइव की ग्रैन्युलैरिटी और फाइल सिस्टम आदि पर निर्भर करता है।

वे यहां इसकी चर्चा करते हैं: /programming/4954991/are-0-bytes-files-really-0-bytes

अतिरिक्त अनुसंधान के लिए अतिरिक्त लिंक के साथ।


2

NTFS वॉल्यूम पर यह जानकारी मेटाफ़ाइल्स में संग्रहीत होती है। विशेष रूप से, फ़ाइल नाम और टाइमस्टैम्प $ MFT नामक मेटाफ़ाइल में संग्रहीत किए जाते हैं। मेटाफ़ाइल्स एक्सप्लोरर या कमांड प्रॉम्प्ट जैसी सामान्य विंडोज विधियों द्वारा सुलभ नहीं हैं।

अधिक पढ़ने के लिए:

http://ntfs.com/ntfs-system-files.htm

http://en.wikipedia.org/wiki/NTFS


धन्यवाद। तो इसका जवाब मेरी एचडीडी के फाइल सिस्टम की गहरी समझ में है ... और बस जिज्ञासा से बाहर - क्या आप किसी भी "अप्राकृतिक" विंडोज विधि को जानते हैं? वह जो वास्तव में उन मेटाफ़ाइल्स तक पहुँचने के लिए उपयोगी है? Google के लिए कुछ कीवर्ड पर्याप्त होंगे ...
Jeyekomon

1
@Jeyekomon आपको एक सेक्टर संपादक का उपयोग करने की आवश्यकता है। यहाँ एक उदाहरण है: blogs.technet.com/b/askcore/archive/2013/03/01/…
डेविड मार्शल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.