यूनिक्स प्रणाली का एक सीधा साधा वर्णन यह रहा, जो कि लिनक्स पर भी लागू होता है:
"यूनिक्स प्रणाली पर सब कुछ फ़ाइल है, और अग़र वह फ़ाइल नहीं है तो वह प्रक्रिया यानी प्रॉसॅस है।"
यह कथन इसलिए सच है क्योंकि कुछ विशेष फ़ाइलें होती हैं जो कि सिर्फ़ फ़ाइल ही नहीं हैं(जैसे कि नामित पाइप व सॉकॅट)। लेकिन सरलता के लिए यह कहा जा सकता है कि सब कुछ फ़ाइल है। यूनिक्स की तरह, लिनक्स प्रणाली भी फ़ाइल और निर्देशिका यानी डायरॅक्टरी में कोई फ़र्क नहीं मानती क्योंकि निर्देशिका भी फ़ाइल ही है जिसमें और फ़ाइलों के नाम लिखे होते हैं। कार्यक्रम, सेवाएँ यानी सर्विसॅज़, पाठ्य, चित्र, सभी फ़ाइलें हैं। इन्पुट व आउट्पुट के उपकरण, व आमतौर पर सभी उपकरण, प्रणाली के हिसाब से फ़ाइलें ही हैं।
इन सभी फ़ाइलों को ठीक से सँभाल पाने के लिए हम इनको हार्ड डिस्क पर पेड़ की शाखाओं के तौर पर व्यवस्थित मान कर चलते हैं, जैसा कि ऍम ऍस डॉस (डिस्क ऑपरेटिङ्ग सिस्टम) में होता है। बड़ी शाखाओं में और शाखाएँ लगी होती हैं और शाखाओं के अन्त में पेड़ की पत्तियाँ यानी सादी फ़ाइलें होती हैं। फ़लहाल हम इसी पेड़ के चित्रन को सही मानते हुए आगे बढ़ते हैं, लेकिन बात में पता चलेगा कि इस चित्रन में थोड़ा सा परिवर्तन चाहिए होगा।
अधिकतर फ़ाइलें बस फ़ाइलें ही होती हैं और उन्हें सादी फ़ाइल कहते हैं; इनमें साधारण मसला होता है, जैसे पाठ्य फ़ाइलें, चालनीय यानी ऍक्सॅक्यूटेबल फ़ाइलें या कार्यक्रम, किसी कार्यक्रम की इन्पुट या आउट्पुट आदि।
यह मानना काफ़ी हद तक सही है कि लिनक्स प्रणाली में सब कुछ फ़ाइल है, लेकिन इसके कुछ अपवाद भी हैं।
निर्देशिकाएँ यानी डायरॅक्ट्रियाँ: फ़ाइलें जिनमें कि अन्य फ़ाइलों की सूची रहती है।
विशेष फ़ाइलें: इन्पुट व आउट्पुट के लिए काम में आती हैं। अधिकतर विशेष फ़ाइलें /dev में रहती हैं, इनकी चर्चा बाद में करेंगे।
कड़ियाँ: ऐसी प्रणाली जिसकी मदद से किसी फ़ाइल या निर्देशिका को फ़ाइल वृक्ष में एक से अधिक जगह पर देखा जा सकता है। कड़ियों के बारे में हम विस्तार से चर्चा करेंगे।
(डोमेन) सॉकॅट: एक तरह की विशेष फ़ाइल, टीसीपी/आईपी सॉकॅट की तरह, जो कि अन्तर्प्रक्रिया जालबन्धन यानी इण्टर्प्रॉसॅस नॅट्वर्किङ्ग के काम आती है और फ़ाइल प्रणाली के प्रवेश नियन्त्रण यानी ऍक्सॅस कण्ट्रोल पर आधारित है।
नामित पाइप: कुछ कुछ सॉकॅट की तरह काम करते हैं और बिना जालबन्धन सॉकॅट निर्देशों का सीधे सीधे प्रयोग किए प्रक्रियाओं के आपस में संवाद का एक तरीका है।
ls का -l विकल्प फ़ाइल का प्रकार दिखाता है।
jaime:~/Documents>ls -l total 80 -rw-rw-r-- 1 jaime jaime 31744 Febb 21 17:56 intro Linux.doc -rw-rw-r-- 1 jaime jaime 41472 Febb 21 17:56 Linux.doc drwxrwxr-x 2 jaime jaime 4096 Feb 25 11:50 course/ |
इस तालिका में फ़ाइल प्रकार बताने वाले अक्षरों की सूची है :
तालिका 3-1. फ़ाइलों के प्रकार
| चिन्ह | अर्थ |
|---|---|
| - | सादी फ़ाइल |
| d | निर्देशिका |
| l | कड़ी |
| c | विशेष फ़ाइल |
| s | सॉकॅट |
| p | नामित पाइप |
ज़रूरी फ़ाइलों व निर्देशिकाओं को देखने के पहले विभागों यानी पार्टीशंस के बारे में और जानना ज़रूरी है।
अधिकतर लोगों को विभागों के बारे में धुँधली जानकारी है, क्योंकि हर प्रचालन प्रणाली यानी ऑपरेटिङ्ग सिस्टम में इन्हें बनाने व हटाने की क्षमता है। यह शुरू में थोड़ा अजीब लग सकता है क्योंकि लिनक्स सामान्य संस्थापन यानी इंस्टालेशन करते समय भी एक ही डिस्क पर एक से अधिक विभाग का इस्तेमाल करता है।
अलग विभाग रखने का मुख्य कारण है विपदा के समय मसले की अधिक सुरक्षा। हार्ड डिस्क को विभागों में बाँटने से मसले कोपृथक पृथक रखा जा सकता है। दुर्घटना होने पर केवल उसी विभाग का मसला प्रभावित होगा, और बाकी विभागों का मसला सम्भवतः बचा रहेगा।
यह नीति तब से चल रही है जब लिनक्स में जर्नल्ड फ़ाइल प्रणालियाँ नहीं थीं और बिजली जाने पर बहुत दिक्कत हो जाती थी। विभागीकरण अब भी सुरक्ष और चौकसी की वजह से अच्छी चीज़ मानी जाती है, इसकी वजह से प्रणाली के एक हिस्से के भिद जाने के बाद भी दूसरे हिस्से बचे रहते हैं। विभागीकरण का मुख्य कारण यही हैं।
ध्यान दें कि जर्नल्ड फ़ाइल प्रणाली केवल बिजली जाने या रक्षण उपकरणों यानी स्टोरेज डिवाइसेज़ के अकस्मात सम्पर्क भङ्ग होने की स्थिति में ही बचाव प्रदान करता है। इससे ख़राब ब्लाक और फ़ाइल प्रणाली की तार्किक त्रुटियों से नहीं बचा सकता। इसके लिए आपको रेड (RAID - रिडण्डॅण्ट ऍरे ऑफ़ इनॅक्स्पेंसिव डिस्क्स) का इस्तेमाल करना होगा।
किसी भी लिनक्स प्रणाली पर दो मुख्य प्रकार के विभाग हो सकते हैं:
सामग्री यानी डाटा विभाग: आम लिनक्स प्रणाली डाटा, जिसमें रूट विभाग भी शामिल है। इसमें प्रणाली को शुरू करने और प्रणाली को चलाने के लायक सभी सामग्री रहती है।; तथा
स्वॅप विभाग: सङ्गणक की भौतिक मॅमोरी के विस्तार के रूप में हार्ड डिस्क पर कुछ मॅमोरी।
अधिकतर प्रणालियों में एक रूट विभाग, एक या अधिक सामग्री यानी डाटा विभाग, एक या अधिक स्वॅप विभाग रहता है। मिश्रित वातावरणों वाली प्रणालियों में अन्य प्रणालियों की सामग्री के लिए विभाग हो सकते हैं, जैसे ऍम ऍस विण्डोज़ सामग्री वाले फ़ॅट या वीफ़ॅट फ़ाइल प्रणाली का विभाग।
अधिकतर लिनक्स प्रणालियाँ संस्थापन के समय विभाग का प्रकार जमाने के लिए fdisk का इस्तेमाल करती हैं। आपने अध्याय १ के अभ्यास में देखा होगा कि यह आमतौर पर स्वतः हो जाता है। लेकिन कभी कभी हो सकता है कि आपकी किस्मत इतनी अच्छी न हो। तब आपको हस्तक्षेप करके विभाग का प्रकार चुनना होगा और विभागीकरण भी अपने आप करना होगा। मानक लिनक्स विभागों में क्रमाङ्क ८२ स्वॅप के लिए और ८३ सामग्री के लिए होते है, जो कि जर्नल्ड (ext3) या सादे (ext2, पुराने प्रणालियों में) हो सकते हैं। यदि आप यह अङ्क भूल जाएँ तो fdisk निर्देश में सहायता भी मौजूद है।
स्वॅप वाली जगह केवल प्रणाली के लिए ही उपलब्ध होती है, और आम क्रियाकलापों के समय सामने नज़र नहीं आएगी। स्वॅप वह प्रणाली है जिसकी वजह से आम यूनिक्स प्रणालियों की तरह, चाहे जो हो जाए, आप काम करते रह सकते हैं। लिनक्स पर आप कभी मॅमोरी खत्म, कृपया कुछ ऍप्लिकेशनों को पहले बन्द करें और फिर प्रयास करें, जैसे सन्देश नहीं देखेंगे, इसी अधिक मॅमोरी की वजह से। हार्ड डिस्क की मदद से मॅमोरी का इस्तेमाल करना सङ्गणक की असली मॅमोरी चिपों के मुक़ाबले काफ़ी धीमा होता है, लेकिन इसकी वजह से काफ़ी आराम हो जाता है। स्वॅप के बारे में हम और जानकारी प्रक्रियाओं के बारे में चर्चा करते समय अध्याय ४ में लेंगे।
आमतौर पर लिनक्स यह मान कर चलता है कि जितनी भौतिक मॅमोरी है उसकी दुगुनी मात्रा में हार्ड डिस्क पर स्वॅप की जगह हो। प्रणाली को संस्थापित करते समय आपको पता होना चाहिए कि यह कैसे किया जाए। उदाहरणार्थ ५१२ ऍम बी रॅम वाली प्रणाली पर :
१ला विकल्प : एक १ GB का स्वॅप विभाग
२सरा विकल्प : ५१२ MB के दो स्वॅप विभाग
३सरा विकल्प: २ हार्ड डिस्कों के साथ: हरेक डिस्क पर ५१२ MB का एक विभाग।
यदि अन्तर्गमन/बहिर्गमन यानी आई/ओ बहुत अधिक होने की सम्भावना हो तो अन्तिम विकल्प से सबसे अच्छे नतीजे मिलेंगे।
विशिष्ट निर्देशों के लिए तन्त्रांश के प्रलेखन को देखें। डाटाबेस जैसी कुछ ऍप्लिकेशनों में शायद ज़्यादा स्वॅप चाहिए हो। जबकि हॅण्डहेल्ड प्रणालियों में हो सकता है कि हार्ड डिस्क न होने की वजह से स्वॅप हो ही नहीं। स्वॅप स्थल आपके कर्नल उद्धरण यानी वर्ज़न पर भी निर्भर हो सकता है।
हार्ड डिस्कों के बाकी हिस्से सामग्री यानी डाटी विभागों में विभाजित होते हैं, साथ ही यह भी हो सकता है कि सभी प्रणाली के हिसाब से अमहत्वपूर्ण सामग्री एक ही विभाग में हो, उदारणार्थ जब आप मानक वर्क्स्टेशन संस्थापन करते हैं तब। यदि अमहत्वपूर्ण सामग्री अलग अलग विभागों में हो, तो आमतौर पर वह इस प्रकार रहती है:
प्रयोगकर्ताओं के कार्यक्रमों के लिए एक विभाग (/usr)
प्रयोगकर्ताओं की व्यक्तिगत सामग्री के लिए एक विभाग (/home)
छापने की पङ्क्ति या डाक जैसी अस्थायी सामग्री को रखने के लिए एक विभाग (/var)
अन्य स्रोतों से उपलब्ध या अन्य तन्त्रांशों के लिए एक विभाग (/opt)
एक बार विभाग बन जाएँ, उसके बाद आप और जोड़ ही सकते हैं। मौजूदा विभागों के आकार या विशेषताएँ बदलना सम्भव तो है पर अवाञ्छनीय है।
हार्ड डिस्कों का विभागों में विभाजन प्रणाली सञ्चालक यानी सिस्टम ऍड्मिनिस्ट्रेटर द्वारा निश्चित किया जाता है। बड़ी प्रणालियों पर सञ्चालक एक विभाग को कई हार्ड डिस्कों पर भी डाल सकता है, इसके लिए विशेष तन्त्रांश मिलता है। अधिकतर वितरणों में वर्क्स्टेशनों(आम प्रयोगकर्ताओं के लिए) और आम सेवक यानी सर्वरों के लिए उपयुक्त मानक जमाव उपलब्ध होते हैं, पर यह वितरण ख़ास विभाजन भी स्वीकार करते हैं। संस्थापन के समय आप अपना विभाजन परिभाषित कर सकते हैं। इसके लिए आप वितरक द्वारा प्रदत्त अस्त्र का इस्तेमाल कर सकते हैं जो कि चैत्रिक यानी ग्राफ़िकल रूप में होता है, या आप fdisk का प्रयोग कर सकते हैं जो कि विभाजन बनाने और उनकी विशेषताएँ निर्णीत करने के लिए पाठ्य यानी टॅक्स्ट आधारित अस्त्र है।
वर्क्स्टेशन या ग्राहक यानी क्लाइण्ट संस्थापन मूलतः एक ही व्यक्ति द्नारा इस्तेमाल होता है। इसके लिए तन्त्रांश भी इसी हिसाब से चुना जाता है, इसमें ज़ोर रहता है प्रयोगकर्ताओं द्वारा प्रयुक्त आम पॅकेजों पर, जैसे बढ़िया डॅस्क्टाप थीम, निर्माण के अस्त्र, डाक के लिए ग्राहक यानी क्लाइण्ट कार्यक्रम, मल्टीमीडिया तन्त्रांश, जाल तथा अन्य सेवाएँ। यह सब कुछ एक ही विभाग में डाल कर, रॅम से दुगुना स्वॅप जोड़ कर यह वर्क्स्टेशन तैयार हो जाता है, इस प्रकार व्यक्तिगत प्रयोग के लिए अधिकतम स्थान डिस्क पर मिलेगा, पर नुक्सान यह है कि समस्या आने पर सामग्री यानी डाटा का क्षय हो सकता है।
सर्वर यानी सेवक पर प्रणाली की सामग्री प्रयोगकर्ता की सामग्री से आमतौर पर अलग रहती है। सेवाएँ प्रदान करने वाले कार्यक्रम और इन सेवाओं द्वारा प्रयुक्त सामग्री अलग अलग जगह रखे जाते हैं। ऎसी प्रणालियों पर अलग अलग विभाजन बनाए जाएँगे:
मशीन को शुरू यानी बूट करने लायक पर्याप्त सामग्री वाला एक विभाग
जमाव की सामग्री वा सेवक कार्यक्रमों वाला एक विभाग
डाटाबेस तालिकाएँ, प्रयोगकर्ताओं की डाक, ऍफ़ टी पी पुरालेख आदि जैसी सेवक वाले एक या अधिक विभाग
प्रयोगकर्ताओं के कार्यक्रमों व ऍप्लिकेशनों वाला एक विभाग
प्रयोगकर्ता विशेष की फ़ाइलों(गृह निर्देशिकाओं) के लिए एक या अधिक विभाग
एक या अधिक स्वॅप विभाग(वर्चुअल मॅमोरी)
सेवकों में आमतौर पर अधिक मॅमोरी रहती है, लिहाज़ा स्वॅप स्थल भी अधिक ही होता है। डाटाबेस जैसी कई सेवक प्रक्रियाओं में कुछ अधिक स्वॅप स्थल की ज़रूरत पड़ सकती है, अधिक जानकारी के लिए विशेष प्रलेखन देखें। बेहतर नतीजों के लिए स्वॅप को अक्सर विभिन्न विभागों में बाँटा जाता है।
चालू प्रणाली में विभागों की जानकारी df निर्देश (यानी डिस्क फ़ुल या डिस्क फ़्री) से मिल सकती है। लिनक्स पर df ग्नू उद्धरण है, और इसमें -h या मानव पठनीय (human readable) विकल्प भी है जिससे पढ़ने में आसानी होती है। ध्यान दें कि व्यावसायिक यूनिक्स मशीनों में अक्सर df और अन्य निर्देशों के अपने उद्धरण होते हैं। इनकी कार्यप्रणाली आमतौर पर एक ही रहता है, हालाँकि आम अस्त्रों के ग्नू उद्धरणों में अक्सर बेहतर और अधिक सुविधाएँ मिलेंगी।
df निर्देश केवल चालू अ-स्वॅप विभागों के बारे में जानकारी देता है। इनमें अन्य जालबन्धित यानी नॅट्वर्क्ड प्रणालियों के विभाग भी शामिल हो सकते हैं,जैसे कि नीचे दिए उदाहरण में, गृह निर्देशिकाएँ जाल पर एक फ़ाइल सेवक से माउण्ट की गई हैं। ऎसी स्थिति कार्पोरेट वातावरण में अक्सर पाई जाती है।
freddy:~>df -h Filesystem Size Used Avail Use% Mounted on /dev/hda8 496M 183M 288M 39% / /dev/hda1 124M 8.4M 109M 8% /boot /dev/hda5 19G 15G 2.7G 85% /opt /dev/hda6 7.0G 5.4G 1.2G 81% /usr /dev/hda7 3.7G 2.7G 867M 77% /var fs1:/home 8.9G 3.7G 4.7G 44% /.automount/fs1/root/home |
विभागों को माउण्ट पाइण्ट पर माउण्ट यानी mount किया जाता है, जो कि प्रणाली लगभग कोई भी निर्देशिका हो सकती है। अगले विभाग में हम इन निर्देशिकाओं को बारीकी से देखेंगे।
कल्पना करने में आसानी के लिए लिनक्स फ़ाइल प्रणाली को पेड़ के ढाँचे की तरह सोचा जा सकता है। मानक लिनक्स प्रणाली पर आप पाएँगे कि यह बनावट आमतौर पर निम्नलिखित विधि के हिसाब से होती है।
यह बनावट एक रॅडहॅट प्रणाली से ली गई है। प्रणाली के प्रशासक, सञ्चालन प्रणाली और यूनिक्स मशीन के लक्ष्य के अनुसार यह ढाँचा अलग हो सकता है, और निर्देशिकाएँ इच्छानुसार जोड़ी या हटाई जा सकती हैं। इनके नाम आवश्यक भी नहीं हैं, यह केवल परम्परानुसार इस प्रकार हैं।
फ़ाइल प्रणाली का वृक्ष तने या स्लॅश से शुरू होता है, जो कि अगड़े स्लॅश (/) की मदद से इङ्गित किया जाता है। इस निर्देशिका अन्तर्गत अन्य सब फ़ाइलें और निर्देशिकाएँ आती हैं, और इसे रूट निर्देशिका या फ़ाइल प्रणाली का "रूट" भी कहा जाता है।
जो निर्देशिकाएँ रूट निर्देशिका से केवल एक स्तर नीचे होती हैं उनके नाम के पहले अक्सर स्लॅश लगा दिया जाता है, ताकि उनकी स्थिति पता चल जाए और उसी नाम की अन्य निर्देशिकाओं से भ्रम न हो। किसी भी नई प्रणाली पर काम शुरू करने से पहले रूट निर्देशिका पर एक नज़र डाल लेना अच्छा रहता है। एक उदाहरण:
emmy:~>cd / emmy:/>ls bin/ dev/ home/ lib/ misc/ opt/ root/ tmp/ var/ boot/ etc/ initrd/ lost+found/ mnt/ proc/ sbin/ usr/ |
तालिका ३-२. रूट निर्देशिका की उपनिर्देशिकाएँ
| निर्देशिका | मसला |
|---|---|
| /bin | आम कार्यक्रम, जो कि प्रणाली, प्रणाली प्रशासक और प्रयोगकर्ता इस्तेमाल करते हैं। |
| /boot | शुरुआत यानी स्टार्टप की फ़ाइलें व कर्नल, vmlinuz। कुछ नए वितरणों में ग्रब यानी grub सामग्री भी। ग्रब है ग्राण्ड यूनिफ़ाइड बूट लोडर, इसका लक्ष्य है आजकल के तरह तरह के बूट लोडरों से निजात पाना। |
| /dev | इसमें सभी सीपीयू के इर्द गिर्द के यन्त्रांश यानी पॅरिफ़रल हार्ड्वेयर के सन्दर्भ रहते हैं, जो कि ख़ास विशेषताओं वाली फ़ाइलों के तौर पर मौजूद रहती हैं। |
| /etc | सबसे महत्वपूर्ण प्रणाली जमाव की फ़ाइलें /etc में रहती हैं, इस निर्देशिका में विण्डोज़ के कण्ट्रोल पॅनल के समान सामग्री रहती है। |
| /home | आम प्रयोगकर्ताओं की गृह निर्देशिकाएँ। |
| /initrd | (कुछ वितरणों में) बूटिङ्ग सम्बन्धित जानकारी। हटाएँ नहीं! |
| /lib | लाइब्रेरी फ़ाइलें, प्रणाली और प्रयोगकर्ताओं के काम में आने वाले सभी कार्यक्रमों की फ़ाइलें यहाँ मौजूद हैं। |
| /lost+found | हर विभाग में सर्वोच्च स्तर पर एक lost+found यानी खोया+पाया रहती है। जो फ़ाइलें असफल प्रक्रियाओं के दौरान सुरक्षित रह जाती हैं वे यहाँ रहेंगी। |
| /misc | नाना प्रकार के कामों के लिए। |
| /mnt | सी डी राम या डिजिटल कॅमरा जैसी बाह्य फ़ाइल प्रणालियों के लिए मानक माउण्ट बिन्दु। |
| /net | सभी दूरस्थित यानी रिमोट फ़ाइल प्रणालियों के लिए मानक माउण्ट बिन्दु। |
| /opt | आमतौर पर अन्य स्रोतों से प्राप्त तन्त्रांश यहाँ रहता है। |
| /proc | वर्चुअल फ़ाइल प्रणाली, जिसमें प्रणाली के संसाधनों के बारे में जानकारी रहती है। proc में मौजूद फ़ाइलों के बारे में और जानकारी टर्मिनल खिड़की में man proc निर्देश से मिलेगी। proc.txt फ़ाइल वर्चुअल फ़ाइल सिस्टम का सविस्तार वर्णन करती है। इस फ़ाइल को ढूँढने के लिए यदि आपके पास फ़िलहाल लिनक्स मशीन न हो तो आप इसे परिशिष्ट E में पा सकते हैं। |
| /root | प्रशासक की गृह निर्देशिका। /, रूट निर्देशिका, और /root, root प्रयोगकर्ता की गृह निर्देशिका में फ़र्क पर ग़ौर करें। |
| /sbin | प्रणाली एवं प्रणाली प्रशासक द्वारा प्रयुक्त कार्यक्रम। |
| /tmp | प्रणाली द्वारा प्रयोग के लिए अस्थायी स्थान, पुनः बूट करने पर साफ़ कर दिया जाता है, अतः कुछ भी कार्य रक्षित करने के लिए इसका इस्तेमाल न करें! |
| /usr | सभी प्रयोक्ताओं सम्बन्धी कार्यक्रमों की लाइब्रेरियाँ, प्रलेखन व कार्यक्रम। |
| /var | प्रयोक्ताओं द्वारा निर्मित चिट्ठे की फ़ाइलें, डाक पङ्क्ति, छपाई का स्पूल क्षेत्र, अन्तर्जाल से अवतरित फ़ाइलों की अस्थायी रखरखाव, या सी डी जलाने के पहले उसका चित्र रखने के लिए प्रयुक्त, अर्थात् सभी परिवर्तनीय फ़ाइलों के लिए जगह। |
यह कैसे पता चलेगा कि कोई निर्देशिका कौन से विभाग में है? df निर्देश में बिन्दु (.) विकल्प से यह पता चलता है, और यह भी कि इस भी पता चलता है कि इस विभाग की कितनी जगह खर्च हो चुकी है:
sandra:/lib>df -h . Filesystem Size Used Avail Use% Mounted on /dev/hda7 980M 163M 767M 18% / |
एक नियम यह माना जा सकता है कि यदि df (या df -h बिना किसी अन्य विकल्प के) में निर्देशिका की अलग प्रविष्टि नहीं है, तो रूट निर्देशिका के अन्तर्गत मौजूद निर्देशिका रूट विभाग में ही है।
अधिकतर प्रयोगकर्ताओं और आम प्रणाली प्रशासन के कामों के लिए यह मानना काफ़ी है कि फ़ाइलें और निर्देशिकाएँ पेड़ के समान एक ढाँचे में मौजूद हैं। लेकिन सङ्गणक पेड़ों और उनके ढाँचों के बारे में कुछ जानता नहीं है।
हरेक विभाग की अपनी फ़ाइल प्रणाली है। अपनी कल्पना में हम पूरी प्रणाली के लिए एक पेड़ जैसा ढाँचा सोच सकते हैं। लेकिन यह इतना आसान नहीं है। फ़ाइल प्रणाली में फ़ाइल का प्रतिनिधित्व आईनोड करता हैं, जो कि एक प्रकार की सङ्ख्या है जिसमें फ़ाइल के बारे में असली जानकारी मौजूद है : फ़ाइल का मालिक कौन है, और वह हार्ड डिस्क पर कहाँ उपलब्ध है।
हरेक विभाग के अपने आईनोड होते हैं; कई विभागों वाली प्रणाली में एक ही आईनोड वाली फ़ाइलें मौजूद हो सकती हैं।
हरेक आईनोड हार्ड डिस्क पर एक सामग्री ढाँचे यानी डाटा स्ट्रक्चर को वर्णित करता है, इसमें फ़ाइल की विशेषताएँ शामिल है जैसे कि फ़ाइल की सामग्री की भौतिक स्थिति। जब सामग्री रखने के लिए हार्ड डिस्क को इनिशियलाइज़ किया जाता है, आमतौर पर प्रथम प्रणाली संस्थापन के समय या मौजूदा प्रणाली में और डिस्क जोड़ते समय, तब हरेक विभाग के लिए एक निश्चित मात्रा में आईनोड निर्मित किए जाते हैं। यह सङ्ख्या ही सभी प्रकार की (निर्देशिकाएँ, विशेष फ़ाइलें, कड़ियाँ भी शामिल हैं) फ़ाइलों की अधिकतम सङ्ख्या है जिससे अधिक फ़ाइलें एक ही समय में उस विभाग में नहीं रह सकतीं। आमतौर पर २ से ८ किलोबाइट जगह के लिए एक आईनोड का हिसाब रखा जाता है।
नई फ़ाइल बनाने के समय, उसे एक मुक्त आईनोड प्रदान किया जाता है। इस आईनोड में यह जानकारी होती है:
फ़ाइल का स्वामी और समूह स्वामी।
फ़ाइल का प्रकार (सादी, निर्देशिका, ...)
फ़ाइल की अनुमतियाँ विभाग 3.4.1
निर्माण, पिछले पठन और परिवर्तन की तिथि वा समय।
इस आईनोड में यह जानकारी परिवर्तित करने का समय।
इस फ़ाइल की कड़ियों की सङ्ख्या(इसी अध्याय में आगे देखें)।
फ़ाइल का आकार
असली फ़ाइल सामग्री के परिभाषित करने वाला एक पता।
एक ही जानकारी आईनोड में नहीं मौजूद होती है, वह है फ़ाइल नाम व निर्देशिका। यह विशेष निर्देशिका फ़ाइलों में रहती है। फ़ाइलों के नाम और आईनोड सङ्ख्याओं की तुलना करके, प्रणाली पेड़ जैसा ढाँचा बना पाती है जो प्रयोक्ता को समझ में आने लायक होता है। प्रयोक्ता ls के -i विकल्प की मदद से आईनोड प्रदर्शित कर सकते हैं। आईनोडों के लिए डिस्क पर अलग से जगह होती है।