file system in Linux आर्टिकल के माध्यम से हम लिनक्स फ़ाइल संरचना के बारे में पढ़ेंगे और हर एक फाइल सिस्टम के बारे में details में अध्ययन करेंगे। जब हम लिनक्स को इनस्टॉल करते है तो उस समय हम बहुत सारे पार्टीशन को बनाते है और जब Linux का USE करते है तो भी लिनक्स व फिर किसी भी open source ऑपरेटिंग सिस्टम में हमें बहुत सारे पार्टिशन्स देखने को मिलते है
जैसे की /boot /etc /opt /home etc. लेकिन हमें इन सारे partitions के बारे में डिटेल्स में पता नहीं होता की पार्टिशन्स लिनक्स में क्यों बनाये जाते है और इसका इस्तेमाल कैसे किया जाता है।इस आर्टिकल में हम file system in Linux के बारे में Discuss करेंगे और उम्मीद करेंगे की आपको इस विषय में अच्छी जानकारी मिले।
/ Root Partition
यह सबसे top level की डायरेक्टरी होती है और लिनक्स में इसे forward slash / से पहचाना जाता है। इस डायरेक्टरी के नीचे ही सभी अन्य प्रकार की directory होती है जिसे हम subdirectory कहते है। बहुत सारे लोग / और /root में confuse रहते है। /root रुट की home directory होती है.
root एक सुपर यूजर है जिसे लिनक्स में सभी प्रकर की परमिशन होती है जैसे की user को बना सकता है , फाइल डायरेक्टरी को Create और delete कर सकता है।कोई भी सॉफ्टवेयर को इनस्टॉल कर सकता है और लिनक्स में किसी भी प्रकार का changes कर सकता है।

/etc सभी प्रकार की Configuration file को स्टोर रखता है
इस पार्टीशन में लिनक्स की सभी सिस्टम कॉन्फ़िगरेशन से सम्बंधित फ़ाइलो को स्टोर कर के रखता है। सभी प्रकार की सर्विस की कॉन्फ़िगरेशन फाइल , mail ,webserver host इत्यादि को इसी लिनक्स के इसी पार्टीशन में स्टोर किया जाता है । यह Windows administrative tools के जैसे उपयोग किया जाता है सिस्टम की ज्यादातर कॉन्फ़िगरेशन फाइल्स इसी Partition में रहती है।लिनक्स इंस्टालेशन के टाइम यह आटोमेटिक बन जाता है . इसके नीचे बहुत सारे सब फोल्डर और फाइले होती है जिसे की आप नीचे के दिए गए स्क्रीन में देख सकते है।

/bin सिस्टम बाइनरी फाइल
इसका फुल नाम binary होता है यह / डायरेक्टरी की एक subdirectories है इस पार्टीशन में आपको executable (binary) files देखने को मिलेगी जिसका इस्तेमाल सिस्टम को चलने और सिस्टम को (single user mode ) Repair करने के लिए जिन कमांड की आवश्यकता पड़ती है वो सभी प्रकार के कमांड आपको यही मिलेंगे जैसे की cat, chmod, chgrp, chown, date, dir, dd, df, ln, mv etc. /bin में आपको किसी भी प्रकार की directories मिलेगी।

/Sbin system binaries फाइल्स
/sbin भी सिस्टम executable फाइल को रखता है यह भी root directories के subdirectories का ही पार्ट है। सिस्टम में सभी सिस्टम administrative कमांड को यही पर स्टोर रहते है। kernel ,हार्डवेयर में किसी प्रकार का सुधार यहाँ से कर सकते है जैसे की system को boot करना , restart करना इत्यादि काम।

/boot सिस्टम को Boot करने से सम्बंधित फाइल्स
Linux सिस्टम को बूट (boot loader ) करने से संबधित सभी फाइल को यही पर स्टोर कर के रखता है जैसे की grub kernels, initrd । Linux या फिर इससे सम्बंधित सभीऑपरेटिंग सिस्टम में ये बहुत ही महत्वपूर्ण फाइल होती है । इस तरह की फाइल में आप आसानी से open कर के कोई बदलाव नहीं कर सकते है इसके लिए आपको विशेष प्रोग्रामिंग की जरुरत पड़ती है।

/home root यूजर की होम डायरेक्टरी
इस पार्टीशन में लिनक्स में बनाये गए सभी user की होम directories और उससे संबधित सेटिंग को रखता है। जब कभी भी लिनक्स मे कोई यूजर create किया जाता है तो /home पार्टीशन के अंदर उसी यूजर के नाम से उसकी होम डायरेक्टरी बन जाती है और उस यूजर से सम्बंधित कुछ फोल्डर (Document , picture , video इत्यादि ) भी Automatic बन जाते है जैसे की हमें विंडोज में यूजर Create करने पर मिलते है। यूजर यहाँ पर अपना डाटा को रख सकता है सिर्फ सुपर यूजर यानी की root इसे access कर सकता है अन्य कोई नहीं जब तक root यूजर उसे यह सब कुछ करने की परमिशन न दे।
/ media USB और CD /DVD का डाटा देख सकते है
लिनक्स में temporary समय के लिए इस्तेमाल करने वाले डिवाइस जैसे की USB Pen drive, cd/DVD को यही पर Mount किया जाता है आप जैसे ही सिस्टम को restart करेंगे ये ऑटोएटिस unmount हो जायेगे। लिनक्स कभी कभी USB Pen drive और CD /DVD को automatic Mount (Read करना ) कर लेता है और कभी कभी उसे manual कमांड से mount करना पड़ता है।

/ mnt नेटवर्क से शेयर डाटा को access करें
यह पार्टीशन भी /media के जैसे ही काम करता है इसमें file system को temporary समय के लिए माउंट करने के लिए किया जाता है जैसे की नेटवर्क में शेयर (NFS, samba सर्वर से शेयर किया गया डाटा )की गयी फाइल को आप यहाँ पर माउंट करा सकते है लेकिन जैसे ही आप सिस्टम को restart करोगे यह आटोमेटिक unmount हो जायेगा।

/ tmp सिस्टम में उपयोग हो रही Temporary files
लिनक्स में Temporary फाइल को स्टोर कर के रखने के लिए किया जाता है जो अलग अलग प्रोग्राम द्वारा उपयोग में लाया जाता है । इस तरह की फाइल को सिस्टम ज्यादा समय के लिए स्टोर करके नहीं रखता है सिस्टम जैसे ही restart या फिर shutdown होता है ये फाइल यहाँ से डिलीट हो जाती है।
/ proc सर्विस (Process) से सम्बंधित फाइल
यह एक वर्चुअल फाइल सिस्टम है जो process जैसे की kernel, हार्डवेयर , memory, CPU से संबधित सभी इनफार्मेशन को स्टोर कर के रखता है। इसमें आप लिनक्स में चल रही सभी प्रोसेस को देख सकते है। यह ठीक उसी प्रकार काम करता है जैसे की Windows में आप Task Manager में सभी सर्विस को देखते है।

/ var system की परिवर्तनीय सर्विस(Process) और System logs फ़ाइलें
जिन फाइलों की स्थित समय समय पर बदलती रहती है उसे /proc के अंदर रखा जाता है जैसे की system logs, temporary e-mail files, /var/log, /var/lock, and /var/run इत्यादि। इस filesystem का उपयोग सिस्टम हो रहे activity को देखने के लिए किया जाता है।

/ dev सिस्टम में लगे सभी हार्डवेयर की information
इस फाइल सिस्टम से आप सिस्टम में सभी device की सूचना को फाइल के रूप में देख सकते है जैसे की /dev/hda (pata Hard Disk),dev/md0( Raid से सम्बंधित हार्ड डिस्क ),/dev/sda (SATA हार्ड डिस्क की जानकारी) इत्यादि। या पार्टीशन लिनक्स के सिस्टम में इंस्टालेशन के टाइमAutomatic बन जाता है।

/lib सिस्टम Library Files
lib का फुल नाम library है और इसमें सिस्टम की library से संबधित फाइले रहती है इसमें /bin और /sbin डायरेक्टरी में मौजूद binary फाइलों से सम्बंधित जानकारियों को देख सकते है ।

/ sys ड्राइवर से सम्बंधित फाइल्स
इस फाइल में आप सभी डिवाइस,driver, kernel के संबधित जानकारियों को प्राप्त कर सकते है।

फाइल सिस्टम के प्रकार
हार्ड डिस्क में सुनिश्चित तरीके से डाटा को सुरक्षित ऱखना और जरुरत पडने पर उसे आसानी से मिल सके और जिसको उपयोगकर्ता अच्छे से उपयोग कर सके। विंडोज में हम हार्ड डिस्क को फॉर्मेट करने के लिए विभिन्न प्रकार के फाइल सिस्टम का उपयोग करते है जैसे की FAT ,NTFS इत्यादि ठीक उसी तरह हम लिनक्स में भी पार्टीशन का उपयोग करने के लिए EXT2 EXT3 EXT4, journal इत्यादि फाइल सिस्टम का उपयोग करते है। सभी फाइल सिस्टम में कुछ अलग अलग फीचर होते है जिसे उसके उपयोग और उसकी सुरक्षा को ध्यान में रख कर बनाये जाते है।
EXT (Extended File System)
extended file system जिसको Rémy Card (जो एक फ्रेंच के सॉफ्टवेयर डेवलपर है ) ने सबसे पहले 1992 में UNIX से प्रेरित हो कर लिनक्स ऑपरेटिंग सिस्टम के लिए बनाया गया था
EXT2 Extended File System Version 2
ext2 second Edition of Extended File System को EXT संस्करण को और अधिक विकसित करने के लिए फ्रेंच सॉफ्टवेयर इंजीनियर Rémy Card ने EXT के विकसित होने के एक साल में यानि 1993 में विकसित किया था। यह लिनक्स के लिए पहला संस्करण था जिसे commercial में इस्तेमाल किया जा सकता था। इस Edition में फाइल सिस्टम का साइज 16 GB से 32 GB तक ही रख सकते थे और इसमें journaling का फीचर नहीं था।
EXT3 Extended File System Version 3
EXT3 को Stephen Tweedie ने 2001 में Linux 2.4.15 Kernel के साथ Release किया था यह फाइल सिस्टम journal फीचर जो सपोर्ट करता था इसमें फाइल का साइज 16 GB से 2 TB और volume या drive का साइज 16 GiB से 2 TiB तक रख सकते है। जो Linux, BSD, ReactOS, Windows (through an IFS) को सपोर्ट करता था.
journal एक ऐसा स्पेशल फीचर था जो लिनक्स के फाइल को स्वयं ही Repair और recover करता था यदि आप का कंप्यूटर अचानक से बंद , खराबी होने पर.
ext4 Extended File System Version 4
यह एक forth एडिशन का फाइल सिस्टम है जिसे 2008 में Linux 2.6 kernel के साथ कुछ सॉफ्टवेयर developer की टीम (Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts’o, Eric Sandeen, Sam Naghshineh, others) ने developed किया गया था। यह file system पहले के file system Ext 3 के साथ भी compatible है। जिसका उपयोग clustering और advance स्टोरेज में कर सकते है। Ext4 filesystem6 1 exbibyte (EiB) तक के आकार के volume साइज और 16 terabyte (TiB) तक की सिंगल फाइल्स को support करता है।
निष्कर्ष
file system in Linux आर्टिकल में हमने लिनक्स फ़ाइल संरचना और लिनक्स में उपयोग किये जाने वाले file system in Linux के बारे में पढ़ा और उम्मीद करते है इस आर्टिकल में आपको बहुत सारी जानकारिया मिली होगी जो आपके लिनक्स knowledge को और बढ़ाने में मदत करेगा और अगर आपको इस आर्टिकल से सम्बंधित को संदेह हो तो आप नीचे कमेंट में हमसे पूछ सकते है। आप हमारे Linux simitech वेबसाइट में जाकर इंग्लिश आर्टिकल को भी पढ़ सकते है। लिनक्स के बेसिक कमांड को जानें