पिछले अध्याय 5 से जारी… अध्याय 6 लिनक्स फ़ाइल सिस्टम व लिनक्स कमांड 6.1 उबुन्टु लिनक्स की फ़ाइल सिस्टम डिरेक्ट्री वैसे तो आमतौर पर सभी लिनक...
पिछले अध्याय 5 से जारी…
bin
dev
media
proc
selinux
tmp
boot
etc
lib
mnt
root
srv
usr
cdrom
home
lost+found
opt
sbin
sys
var
यहाँ पर हल्के नीले रंग में भी कुछ अतिरिक्त फ़ाइल और डिरेक्ट्रियाँ मिलेंगीं – जैसे कि
initrd.img
vmlinuz
cdrom
इत्यादि. इसमें से सीडीरोम डिरेक्ट्री को छोड़कर बाक़ी दोनों लिनक्स सिस्टम फ़ाइलें हैं. आमतौर पर लिनक्स में विविध क़िस्म की फ़ाइलों को विविध रंगों में दर्शित किया जाता है. नीचे दिए गए टेबल अनुसार –
तालिका
रंग फ़ाइल किस्में
नीला डिरेक्ट्रियाँ
लाल संपीडित अभिलेख
सफेद पाठ फ़ाइलें
गुलाबी चित्र
स्यान कड़ियाँ
पीला उपकरण
हरा चलाने लायक फ़ाइलें (एक्जीक्यूटेबल)
चमकते लाल टूटी कड़ियाँ
आप इसी टर्मिनल पर लिनक्स के उपरिलिखित अन्य कमांडों को भी चलाकर देख सकते हैं. उदाहरण के लिए, अपने कम्प्यूटर को बन्द करने के लिए halt तथा इसे फिर से चालू करने के लिए reboot कमांड दें. ध्यान दें कि सामान्य विंडोज़ कम्प्यूटरों की तरह लिनक्स कम्प्यूटरों को भी, जब तक कोई असाधारण परिस्थिति न हो, सीधे बन्द या रीसेट न करें. बल्कि उचित हाल्ट या रीबूट कमांड देकर ही बन्द या फिर से चालू करें.
$ ls -al
यहाँ पर ls तो वही फ़ाइलों की सूची बताने वाला कमांड है. परंतु यहाँ उसे ए तथा एल विकल्पों के साथ प्रयोग किया गया है ए विकल्प है सभी के लिए, तथा एल विकल्प है पूरी विस्तृत सूची के लिए. इस कमांड से आपको निम्न आउटपुट मिलेगा:
आप देखेंगे कि प्रदर्शित सूची में रूट डिरेक्ट्री की फ़ाइलों का विस्तृत विवरण दर्ज है. एकदम बाएँ तरफ आपको कुछ ऐसा लिखा मिलेगा – drwxr-xr-x या lrwxrwxrwx इत्यादि. पहले अक्षर d डिरेक्ट्री को प्रदर्शित करता है, तथा l कड़ी को. rwx का अर्थ है कि फ़ाइल या डिरेक्ट्री पर पढ़ने (रीड), लिखने (राइट) तथा चलाने (एक्जीक्यूट) करने की अनुमतियाँ. पहला rwx मालिक के लिए, दूसरा समूह के लिए तथा तीसरा अन्य के लिए अनुमति. यदि कहीं पर r , w या x की जगह – है, तो इसका अर्थ है कि उस विशिष्ट प्रयोक्ता को उस फ़ाइल या डिरेक्ट्री में उस विशेष कार्य की अनुमति नहीं है. उदाहरण के लिए किसी प्रयोक्ता के लिए किसी फ़ाइल में r-x लिखा है, तो प्रयोक्ता उसे पढ़ सकता है, चला सकता है, परंतु उस पर लिख नहीं सकता. निम्न चित्र से इसे और स्पष्ट किया गया है-
डिरेक्ट्री स्ट्रक्चर के दूसरे स्तम्भ में आपको कुछ संख्या दिखाई देगी. ये संख्या उस डिरेक्ट्री के भीतर स्थित सब-डिरेक्ट्री की संख्या हैं. तीसरे स्तम्भ पर डिरेक्ट्री के मालिक का नाम दर्ज है जैसे कि यहाँ पर रूट का नाम है. चौथे स्तम्भ पर उपयोक्ता का नाम दर्ज है. यहाँ पर भी रूट दिखाई दे रहा है क्योंकि ये शीर्ष स्तर की डिरेक्ट्री है, और ये रूट स्तर के प्रयोक्ता के लिए ही आमतौर पर डिफ़ॉल्ट रूप में रहते हैं. अगले स्तम्भों में डिरेक्ट्री व फ़ाइल आकार तथा उसे तैयार करने की तिथि दर्ज रहती है.
आप डिरेक्ट्री स्ट्रक्चर को और भी विविध तरीके से देख सकते हैं. इसके लिए कुछ कमांड विकल्प हैं -
विंडोज़ के /windows फ़ोल्डर में मौजूद विभिन्न अंतर्निर्मित प्रोग्रामों को चलाने वाले कमांड मौजूद रहते हैं उसी प्रकार लिनक्स तंत्र में /bin फ़ोल्डर में लिनक्स प्रोग्रामों को चलाने वाले कमांड मौजूद रहते हैं. /sbin डिरेक्ट्री में भी कुछ अतिरिक्त कमांड होते हैं. /etc डिरेक्ट्री में तमाम संस्थापित सॉफ़्टवेयरों के कॉन्फ़िगरेशन फ़ाइलें होती हैं. /usr डिरेक्ट्री में संस्थापित सॉफ़्टवेयरों की फ़ाइलें और डिरेक्ट्रियाँ होती हैं. ठीक विंडोज़ के प्रोग्राम फ़ाइल फ़ोल्डर की तरह. इस डिरेक्ट्री के भीतर भाषाई सेटिंग्स इत्यादि के लिए भी डिरेक्ट्रियाँ होती हैं. लिनक्स तंत्र के लिए यह एक प्रमुख डिरेक्ट्री है. यदि आप कुछ वैकल्पिक अनुप्रयोग जैसे कि ओपन ऑफ़िस इत्यादि संस्थापित करते हैं तो वे आमतौर पर /opt डिरेक्ट्री में संस्थापित होती हैं. /dev डिरेक्ट्री में लिनक्स तंत्र के सभी उपकरणों, हार्डवेयरों इत्यादि के बारे में जानकारी संग्रहित रहती है. जैसे कि /dev/cdrom आपके कम्प्यूटर के सीडीरॉम ड्राइव का सूचक है.
आमतौर पर लिनक्स तंत्र में (हालाँकि उबुन्टु में यह स्वचालित रूप से उपलब्ध होता है) आप बाहरी उपकरणों जैसे कि सीडी रॉम या रिमोट ड्राइव को सीधे काम में नहीं ले सकते. उन्हें आपको पहले अपने लिनक्स तंत्र पर माउन्ट करना होता है. /mnt डिरेक्ट्री में आपके ऐसे ही सीडीरोम तथा बाहरी उपकरण जैसे कि यूएसबी ड्राइव इत्यादि को काम में लेने के लिए माउन्ट किया जाता है. और फिर इसी डिरेक्ट्री में वे चीजें जब तक माउन्ट रहती हैं, उनकी सामग्री यहाँ मौजूद रहती है.
/home डिरेक्ट्री में प्रत्येक उपयोक्ता के लिए (रूट को छोड़कर, क्योंकि उसके लिए /root नाम की एक अलग डिरेक्ट्री होती है, हालाँकि रूट कहीं पर भी अपनी डिरेक्ट्री बना सकता है) एक डिरेक्ट्री होती है जिसमें उसके दस्तावेज, सेटिंग्स, ईमेल इत्यादि उसके लिए उपलब्ध रहते हैं. /boot डिरेक्ट्री में लिनक्स तंत्र को बूट (चालू) करने के समय आवश्यक लिनक्स कर्नेल व बूट लोडर कॉन्फ़िगरेशन फ़ाइलें होती हैं. /proc डिरेक्ट्री में वर्तमान में लिनक्स तंत्र में चल रहे तमाम प्रोसेसों की जानकारी संग्रहित रहती है. आपकी सुविधा के लिए लिनक्स फ़ाइल तंत्र डिरेक्ट्री की संक्षिप्त तालिका दी जा रही है –
लिनक्स फ़ाइल तंत्र की ये ख़ूबी है कि उपयोक्ता अपने मन माफ़िक इनका प्रयोग कहीं से भी किसी भी डिरेक्ट्री से कर सकता है. जैसे कि आप सीडीरोम को /mnt में माउन्ट करने के बजाय किसी अन्य स्थान पर माउन्ट कर वहां से चला सकते हैं. परंतु बहुत से मामलों में परंपरा बन चुकी है, और विशिष्ट मामलों को छोड़ दें तो भ्रम की स्थिति से बचने के लिए आमतौर पर पारंपरिक फ़ाइल स्ट्रक्चर का ही सहारा तमाम लिनक्स वितरणों – चाहे वो रेडहैट हो या मंड्रिवा या उबुन्टु – लेते हैं.
लिनक्स फ़ाइल तंत्र में एक और महत्वपूर्ण हिस्सा होता है स्वैप फ़ाइल का. यह या तो अलग पार्टीशन में अलग स्वैप पार्टीशन के रूप में उपस्थित हो सकता है या फिर आपके लिनक्स संस्थापना में स्वैप फ़ाइल के रूप में भी हो सकता है. स्वैप का प्रयोग लिनक्स बढ़िया मेमोरी प्रबंधन के लिए करता है और आमतौर पर इस बात की ताकीद की जाती है कि जितना रैम आपके मशीन में लगा है उससे दोगुना स्वैप का आकार होना चाहिए. जैसे कि यदि आपके कम्प्यूटर पर 1 जीबी का रैम लगा है तो आपके लिनक्स स्वैप का आकार 2 जीबी रखने की अनुशंसा की जाती है.
कर्नल प्रणाली का हृदय है। यह तन्त्र यानी हार्डवेयर और पेरिफ़ेरल उपकरणों के बीच संचार का प्रबन्धन करता है। कर्नल यह भी निश्चित करता है कि प्रक्रियाएँ व डीमन (सेवक यानी सर्वर प्रक्रियाएँ) सही समय पर शुरू व बन्द की जाएँ। कर्नल के और भी कई काम हैं, इतने कि इस विषय पर विशेष कर्नल विकास डाक सूची है, जहाँ पर बहुत जानकारी का आदान प्रदान किया जाता है। कर्नल के बारे में यहाँ विस्तृत विवरण देना उचित नहीं है। फ़िलहाल इतना ही कि कर्नल प्रणाली की सबसे महत्वपूर्ण फ़ाइल है।
6.5.2 शेल
शेल क्या है?
shell के बारे में समझाने के लिए आपको कुछ परिभाषाएँ बताते हैं। इसकी कई परिभाषाएँ हैं, जैसे कि "शेल कार की स्टीयरिंग की तरह है", या फिर बॅश की पुस्तिका की परिभाषा, "बॅश एक sh-अनुकूल कमांड भाषा भंजक है," या फिर यह, "शेल प्रयोक्ताओं और मशीन के बीच सन्देशों का आदान प्रदान करता है"। वास्तव में देखा जाए तो शेल इन सबसे कहीं ज़्यादा है।
शेल को आप कम्प्यूटर से बात करने का एक तरीका मान सकते हैं, एक भाषा की तरह। अधिकतर प्रयोक्ताओं को दूसरी वाली भाषा तो मालूम है, विंडो मेन्यूओं में इंगित करने और चटका लगाने वाली डेस्कटॉप की भाषा। लेकिन उस भाषा में प्रयोक्ता को एक छोटे शिशु की तरह, मौजूद विकल्पों में से चुनने के लिए कहा जाता है।
दूसरी ओर, शेल, प्रणाली के साथ संचार करने का एक बेहद विकसित तरीका है, क्योंकि इसकी मदद से सूचना का आदान प्रदान तो होता ही है साथ ही कई चीज़ें की जा सकती हैं।
6.5.3 शेल के प्रकार
जिस तरह लोगों को कई भाषाएँ व बोलियाँ आती हैं, उसी प्रकार कम्प्यूटर में शॅलों के कई प्रकार हैं:
एक शेल से दूसरे शेल को जाने के लिए बस उसी सत्र में नए शेल का नाम दे दें। PATH की मदद से प्रणाली इसकी डिरेक्ट्री ढूँढ लेती है, और चूँकि शेल एक चलनीय फ़ाइल(प्रोग्राम) है, मौजूदा शेल इसको चला देता है और यह आपके पर्दे पर आ जाता है। आमतौर पर नया प्रॉम्प्ट प्रदर्शित किया जाता है, क्योंकि हरेक शेल की अपनी शैली होती है:
हम कौन से शेल का प्रयोग कर रहे हैं?
यदि आप को पता नहीं है कि आप कौन से शेल का इस्तेमाल कर रहे हैं, तो कृपया अपने खाते की पंक्ति देखें, इस फ़ाइल में, /etc/passwd या यह कमांड दें:
echo $SHELL
6.5.5 शेल की विशेषताएँ –
शेल में कुछ अंतर्निर्मित कमांड हैं जिनका उपयोग कर विविध कार्य किए जा सकते हैं -
लगे हाथ आपको लिनक्स तंत्र में चलते प्रक्रियाओं के प्रबंधन के कमांड भी बताना जरूरी है. यदा कदा इनका प्रयोग आवश्यक हो जाता है – जैसे कि reboot कमांड का प्रयोग लिनक्स तंत्र को बन्द कर फिर से चालू करने के लिए किया जाता है.
कुछ विशेष क़िस्म के कमांड विशिष्ट कार्यों के लिए होते हैं. जैसे कि छपाई के लिए छपाई के कमांड –
किसी भी कम्प्यूटर में काम करने के दौरान डाटा सुरक्षित बनाए रखना अनिवार्य आवश्यकता है. इसका सबसे बढ़िया, आसान हल है – नियमित रूप से डाटा का बैकअप बनाए रखना. कुछ बैकअप संबंधी लिनक्स कमांड -
इनमें से बहुत से कमांड आमतौर पर उन्नत प्रयोक्ताओं द्वारा काम में लिए जाते हैं. अतः यदि आपको ये कमांड अटपटे लगते हैं तो घबराएँ नहीं, क्योंकि उबुन्टु के जीयूआई वातावरण में आपका काम इनके बग़ैर भी बख़ूबी चल सकता है.
पथ कुछ भी हो, इसकी ज़्यादा चिन्ता करने की ज़रूरत नहीं है। यह पथ होम एनवायरनमेंटल वेरिएबल में हमेशा संचित रहता है। किसी कार्यक्रम को यदि इसकी ज़रूरत हो तो यहाँ से इसका इस्तेमाल हो सकता है। echo कमांड की मदद से आप इसे देख सकते हैं:
होम डिरेक्ट्री में आप जो चाहे कर सकते हैं। आप जितनी चाहे उतनी डिरेक्ट्रियों में जितनी चाहे फ़ाइलें डाल सकते हैं, हालाँकि कुल सामग्री और फ़ाइलों की संख्या की एक सीमा तो होगी ही, तंत्र यानी हार्डवेयर और विभाजनों यानी पार्टिशनों के आकार की वजह से। कभी कभी प्रणाली प्रशासक भी प्रत्येक प्रयोक्ता के लिए सीमा स्थापित करते हैं। जब हार्ड डिस्क महँगी हुआ करती थीं तो यह सीमा बन्धन काफ़ी आम था। आजकल प्रायः बहुत बड़े वातावरण में ही सीमाबन्धन किया जाता है। सीमा लागू है या नहीं यह आप ख़ुद ही देख सकते हैं, quota कमांड की मदद से:
यदि सीमा बन्धित हैं तो आपको विभाजनों यानी पार्टिशनों की सूची मिलेगी, सीमाओं के लेखे जोखे के साथ। माफ़ी अवधि में सीमाओं का उल्लंघन मान्य हो सकता है, यानी कि कुछ सीमाएँ लागू नहीं होंगी, या फिर कोई भी सीमा लागू नहीं होगी। और विस्तृत जानकारी के लिए info quota या man quota कमांड की मदद ले सकते हैं.
आपकी होम डिरेक्ट्री के लिए चिन्ह है लहरिया डॅश (~), यह /होम_का_पथ/प्रयोक्ता_नाम का छोटा रूप है। यही पथ HOME परिवर्तनीय में भी संचित रहता है, आपके बिना कुछ किए बग़ैर भी। इसके प्रयोग का एक उदाहरण: /var/music/albums/arno/2001 डिरेक्ट्री से, अपनी होम डिरेक्ट्री में स्थित images डिरेक्ट्री को जाएँ, एक ही कमांड की मदद से:
आगे, इस अध्याय में होम डिरेक्ट्री को साफ़ सुथरा रखने के लिए प्रयुक्त निर्देशों का वर्णन करेंगे।
cat file1 file2 ... fileN
इस विभाग में हम सेटिंग सम्बन्धी कुछ आम फ़ाइलों के बारे में जानकारी देंगे। यह सूची पूर्ण कतई नहीं है। अन्य पैकेज जोड़ने पर /etc डिरेक्ट्री में सेटिंग सम्बन्धी अन्य फ़ाइलें आएँगी। सेटिंग फ़ाइलों को पढ़ते समय आप पाएँगे कि अक्सर इनमें काफ़ी टिप्पणियाँ रहती हैं, ताकि इनकी क्रिया को समझने में कोई दिक्कत न आए। कई फ़ाइलों के मॅन पृष्ठ भी हैं, जिनमें प्रोग्राम में कैसे काम करें इस बाबत अधिक विवरण रहता है, उदाहरणार्थ man aliases.
तालिका - सेटिंग सम्बन्धी आम फ़ाइलें
यद्यपि इन फ़ाइलों के बारे में संक्षिप्त में ऊपर बताया गया है, मगर यदि इनमें से ज़्यादा कुछ आपको समझ नहीं आए, तो निराश न हों और घबराएँ नहीं, क्योंकि लिनक्स में आम प्रयोजन के दैनंदिनी कम्प्यूटिंग कार्य इन्हें जाने बिना भी आराम से हो सकते हैं. तो, चलिए, आगे बढ़ते हैं -
लिनक्स और यूनिक्स के नए प्रयोक्ताओं को अक्सर नए नामों और विचारों की भूल भुलैया में गुम होते देखा गया है। अतः इस परिचय में लीजिए आम उपकरणों की एक सूची।
तालिका आम उपकरण
सुरक्षा की दृष्टि से इन फ़ाइलों को आमतौर पर मुख्य प्रणाली फ़ाइलों से अलग रखा जाता है, ताकि हम इन पर नज़र रख सकें और आवश्यकतानुसार अनुमतियाँ और कड़ी कर सकें। इनमें से कई फ़ाइलों के लिए अक्सर ज़्यादा अनुमतियाँ चाहिए होती हैं, जैसे /var/tmp, जिसमें कि हरेक को लिखने की अनुमति होनी चाहिए। यहाँ पर बहुत अधिक प्रयोक्ता गतिविधि हो सकती है, सम्भव है आपकी प्रणाली से जुड़े बेनामी अन्तर्जाल प्रयोक्ताओं की वजह से। इसीलिए /var डिरेक्ट्री व उसकी सभी उप-डिरेक्ट्रियाँ आमतौर पर अलग विभाग में रहती हैं। इस प्रकार, उदाहरण के लिए, यदि कोई डाक बम वायरस आपके सिस्टम पर आ जाए तो वह जड़ फ़ाइल सिस्टम, जिसमें आपके कार्यक्रम और सेटिंग फ़ाइलों जैसी ज़रूरी सामग्री है, पर किसी सूरत में नहीं आएगा।
यूनिक्स की एक मुख्य सुरक्षा प्रणाली, जो कि लिनक्स पर भी लागू की गई है, चिट्ठे रखने की सुविधा है, जो कि प्रयोक्ताओं की क्रियाओं, प्रक्रियाओं, प्रणाली उपलक्ष्यों आदि का चिट्ठा (लॉग) रखती है। syslogdaemon की सेटिंग फ़ाइल यह निर्धारित करती है कि कौन सी जानकारी का चिट्ठा रखा जाएगा, और वह कितनी देर रहेगा। चिट्ठों की मूल स्थिति है /var/log, इसमें प्रवेश, सेवक, प्रणाली सन्देश आदि के चिट्ठों की अलग अलग फ़ाइलें हैं।
/var पर आमतौर पर हमें सेवक सामग्री मिलेगी, जो कि अधिक महत्वपूर्ण सर्वर कार्यक्रम और उसकी सेटिंग फ़ाइलों से अलग रखा जाता है। लिनक्स प्रणालियों पर इसका एक उदाहरण है /var/www, जिसमें कि जाल सेवक द्वारा प्रदत्त एच टी एम एल पन्ने, स्क्रिप्ट और चित्र रखे जाते हैं। एफ़ टी पी सेवक का एफ़ टी पी वृक्ष (वह सामग्री जो किसी दूरस्थ ग्राहक द्वारा उतारी जा सकती है) भी /var किसी उपडिरेक्ट्री में रखी जाती है। यह सामग्री सार्वजनिक रूप से उपलब्ध है और अक्सर बेनामी प्रयोक्ताओं द्वारा परिवर्तनीय भी है, इसलिए इसे यहाँ रखना बेहतर है, अन्य महत्वपूर्ण सामग्रियों से युक्त विभागों व डिरेक्ट्रियों से दूर।
$ top
इस कमांड को चलाते ही आपके टर्मिनल पर लगातार अद्यतित होते प्रोसेसों की सूची दिखाई देगी. लिनक्स की एक और ख़ूबी ये है कि इसमें चल रहे प्रोसेस अपनी आवश्यकता पूर्ति करने - यानी काम निष्पादित करने के बाद स्लीप मोड में चले जाते हैं जिससे प्रोसेसिंग पावर और मेमोरी की बचत होती है.
विभिन्न प्रोसेसों के बीच आपसी संबंधों को दर्शित करने के लिए एक अन्य कमांड pstree का प्रयोग किया जाता है. प्रोसेस-ट्री देखने के लिए टर्मिनल पर कमांड दें-
$ pstree
इस कमांड के फल स्वरूप आपके टर्मिनल पर प्रोसेसों की सूची शाखाओं सहित दिखेगी. कुछ इस तरह:
यहाँ पर आप देख रहे हैं कि जीडीएम प्रोसेस ने एक्सऑर्ग के साथ मिलकर गनोम सेसन नाम का प्रोसेस चलाया जिसने फिर से कोई आधा दर्ज़न से अधिक प्रोसेस को चालू किया. इस तरह लिनक्स तंत्र में पृष्ठभूमि में दर्ज़नों प्रोसेस एक साथ चलते रहते हैं.
प्रबंधन बेसिक
passwd किसी उपयोक्ता के पासवर्ड को बदलता है. उदाहरण – passwd a यह कमांड उपयोक्ता a के पासवर्ड को बदलने के लिए नया पासवर्ड पूछेगा.
chpasswd यह बैच मोड में फ़ाइल से पढ़कर उपयोक्ताओं के पासवर्ड एक साथ बदलता है
useradd इस कमांड से नए उपयोक्ता बना सकते हैं. उदाहरण – useradd arun यह कमांड उपयोक्ता arun को तंत्र में जोड़ेगा.
Linux Quick Reference
SOME USEFUL COMMANDS
. फ़ाइल/डिरेक्ट्री बेसिक
ls फ़ाइलों/डिरेक्ट्री की सूची दिखाता है. कुछ उदाहरण आपने पिछले अध्याय में देखे हैं जब हमने लिनक्स फ़ाइल व डिरेक्ट्री स्ट्रक्चर के संबंध में चर्चा की थी.
cp फ़ाइलों की नक़ल बनाता है. उदाहरण – cp /home/hi.txt /home/arun/ यह कमांड /home डिरेक्ट्री की hi.txt फ़ाइल की नक़ल /home/arun डिरेक्ट्री में बनाता है.
mv फ़ाइलों का नाम बदलता है या एक स्थान से दूसरे स्थान पर रखता है. उदाहरण – rm /home/hi.txt /home/arun/ यह कमांड /home डिरेक्ट्री की hi.txt फ़ाइल को खिसका कर /home/arun डिरेक्ट्री में ले जाता है.
rm फ़ाइलें मिटाता है
ln फ़ाइलों की कड़ी बनाता है
cd डिरेक्ट्री बदलता है. कुछ विकल्प –
cd.. डिरेक्ट्री में एक स्तर ऊपर ले जाता है
cd / सबसे ऊपरी स्तर की डिरेक्ट्री (रूट) में ले जाता है
cd ~ प्रयोक्ता के होम डिरेक्ट्री में ले जाता है
cd – पिछली मर्तबा प्रयोग की गई डिरेक्ट्री में ले जाता है
pwd वर्तमान डिरेक्ट्री नाम दिखाता है
mkdir डिरेक्ट्री बनाता है. उदाहरण – mkdir /home/a यह कमांड /home डिरेक्ट्री में a नाम की डिरेक्ट्री बनाता है.
rmdir डिरेक्ट्री मिटाता है
फ़ाइल प्रदर्शक
cat फ़ाइल (की सामग्री) दिखाता है
less फ़ाइल को प्रति पेज दिखाता है
head फ़ाइल के शुरू के कुछ लाइनों को दिखाता है
tail फ़ाइल के अंतिम कुछ लाइनों को दिखाता है
nl लाइन का नंबर देता है
od बाइनरी डाटा दिखाता है
xxd बाइनरी डाटा दिखाता है
gv पोस्ट स्क्रिप्ट/पीडीएफ़ फ़ाइलों को दिखाता है
xdvi यह TeX तथा DVI फ़ाइलों को दिखाता है
फ़ाइलें बनाना व संपादित करना
emacs पाठ संपादक है
vim पाठ संपादक है
umask डिफ़ॉल्ट फ़ाइल सुरक्षा सेट करता है
soffice ओपन ऑफ़िस चालू करता है जहाँ वर्ड, एक्सेल, प्रेज़ेन्टेशन इत्यादि दस्तावेज़ बनाए जा सकते हैं
abiword एबीवर्ड वर्ड प्रोसेसर चालू करता है.
gnumeric एक्सेल शीट संपादन हेतु प्रोग्राम चालू करता है
फ़ाइल गुण
stat फ़ाइल गुण दिखाता है
wc बाइट्स, शब्द, लाइनें गिनता है
du डिस्क जगह उपयोग बताता है
file फ़ाइल की क़िस्म बताता है
touch फ़ाइल का टाइमस्टैम्प बदलता है
chown फ़ाइल का मालिक बदलता है
chgrp फ़ाइल का समूह बदलता है
chmod फ़ाइल सुरक्षा तथा उपयोक्ता व समूहों के फ़ाइल अधिकार बदलता है
chattr फ़ाइल के उन्नत गुणों को बदलता है
lsattr उन्नत फ़ाइल गुणों की सूची बताता है
फ़ाइल स्थान
find फ़ाइलों को ढूंढता है. उदाहरण – find golu.jpg कमांड golu.jpg फ़ाइल को ढूंढता है.
slocate सूची के ज़रिए फ़ाइलों को ढूंढता है
which यह किसी जगह या लिनक्स कमांड का पूरा पथ बताता है. उदाहरण which grep का आउटपुट होगा - /bin/grep
whereis मानक फ़ाइलों जैसे कि कमाण्ड प्रोग्राम, सोर्स कोड या मैनुअल पृष्ठों को ढूंढता है
फ़ाइल (के पाठ) में परिवर्तन
grep मिलते जुलते पंक्तियों वाली फ़ाइलों को ढूंढता है
cut स्तम्भ काटता है
paste स्तम्भ जोड़ता है
tr अक्षर अनुवादित करता है
sort लाइनें छांटता है
uniq एक जैसी लाइनें ढूंढता है
tee फ़ाइल में stdin कॉपी करता है तथा साथ ही stdout करता है
फ़ाइल संपीडन
gzip फ़ाइल संपीडित करता है
(GNU ज़िप)
compress फ़ाइल संपीडित करता है (यूनिक्स)
bzip2 फ़ाइलें संपीडित करता है (BZip2)
zip फ़ाइलें संपीडित करता है
(विंडोज़ ज़िप)
फ़ाइल तुलना
diff फ़ाइलों को पंक्ति-दर-पंक्ति तुलना करता है
comm छांटे गए फ़ाइलों की तुलना करता है
cmp फ़ाइल बाइटों की तुलना करता है
by बाइट
md5sum चेकसम गणना करता है
डिस्क व फ़ाइल तंत्र
df रिक्त डिस्क जगह बताता है
mount डिस्क (यूएसबी, कैमरा इत्यादि भी) को माउन्ट करता है तथा उसकी सामग्री पहुँच योग्य बनाता है
fsck डिस्क को त्रुटियों के लिए जाँचता है
sync डिस्क कैश फ्लश करता है
बैकअप तथा रिमोट भंडार
mt टेप ड्राइव नियंत्रित करता है
dump डिस्क बैकअप करता है
restore डम्प को रीस्टोर करता है
tar टेप अभिलेखों को पढ़ता/लिखता है
cdrecord सीडी बर्न करता है
rsync फ़ाइलों के सेट की अनुकृति बनाता है
छपाई
lpr फ़ाइलें छापता है
lpq छपाई कतार को दिखाता है
lprm छपाई के कार्यों को मिटाता है
वर्तनी जाँच कार्य
look वर्तनी देखता है
aspell वर्तनी इंटरेक्टिव जाँच करता है
spell बैच में वर्तनी जाँचता है
प्रोसेस
ps सभी प्रोसेस दिखाता है
w प्रयोक्ता के प्रोसेस दिखाता है
uptime तंत्र लोड दिखाता है
top प्रोसेस मॉनीटर करता है
xload तंत्र लोड मॉनीटर करता है
free मुक्त (फ्री) मेमोरी दिखाता है
kill प्रोसेस को बन्द करता है
nice प्रोसेस प्राथमिकता सेट करता है
renice प्रोसेस प्राथमिकता बदलता है
कार्य शेड्यूल करना
sleep कुछ समय के लिए इंतजार करता है
watch सेट किए गए अंतराल पर प्रोग्राम चलाता है
at किसी कार्य को शेड्यूल करता है
crontab बारंबार किए जाने वाले कार्य को शेड्यूल करता है
होस्ट
uname तंत्र जानकारी बताता है
hostname तंत्र के होस्टनाम को बताता है
ifconfig नेटवर्क जानकारी को दिखाता / सेट करता है
host डीएनएस ढूंढता है
whois डोमेन पंजीकरण ढूंढता है
ping जाँचता है कि क्या होस्ट उपलब्ध है
traceroute किसी होस्ट के लिए नेटवर्क पथ ट्रेस करता है
नेटवर्किंग
ssh रिमोट होस्ट से सुरक्षित लॉगइन करता है
telnet रिमोट होस्ट से लॉगइन करता है
scp फ़ाइलों को होस्ट के बीच सुरक्षित नक़ल करता है
sftp होस्ट के बीच फ़ाइलों को सुरक्षित नक़ल करता है
ftp होस्ट के बीच फ़ाइलों को नक़ल करता है
evolution ईमेल प्रोग्राम इवाल्यूशन चालू करता है
mutt पाठ आधारित ईमेल प्रोग्राम मट चालू करता है
mail छोटा सा ईमेल प्रोग्राम मेल चालू करता है
mozilla मोजिला वेब ब्राउजर चालू करता है
lynx सिर्फ़ पाठ वाला ब्राउजर लायनक्स चालू करता है
wget डिस्क में जाल पृष्ठों को डाउनलोड करता है
slrn यूजनेट समाचार दिखाता है
gaim इंस्टैंट मैसेजिंग प्रोग्राम गेम चालू करता है
talk लिनक्स/यूनिक्स चैट प्रोग्राम चालू करता है
write संदेश टर्मिनल में भेजता है
mesg लिखने की अनुमति रोकता है
ऑडियो तथा वीडियो
grip सीडी बजाता है तथा एमपी3 रिप करता है
xmms ऑडियो फ़ाइलें – एमपी3 बजाने का प्रोग्राम चालू करता है
cdparanoia ऑडियो रिप करता है
audacity ऑडियो फ़ाइलें संपादित करने का प्रोग्राम चालू करता है
xcdroast सीडी बर्न करता है
तंत्र उपयोग के कमांड
free यह तंत्र मेमोरी का उपयोग व उपलब्ध मेमोरी बताता है
clear यह कमांड टर्मिनल स्क्रीन का डिस्प्ले साफ कर देता है
echo यह कमांड इनपुट पाठ को स्क्रीन पर दिखाता है
टीप – टर्मिनल में किसी भी चल रहे प्रोग्राम या प्रोसेस से बाहर आने के लिए आमतौर पर प्राय: कंट्रोल+z का प्रयोग किया जाता है. यदा कदा एस्केप या कंट्रोल+q का भी प्रयोग होता है.
यदि आप विंडोज़ तंत्र के जीयूआई मोड में काम करने को अभ्यस्त हैं तो इन कमांडों को याद रखने की आवश्यकता आपको वैसे तो नहीं ही है, चूंकि आमतौर पर हर क़िस्म के आम कम्प्यूटिंग कार्य अब लिनक्स में भी जीयूआई के ज़रिए माउस क्लिकों के ज़रिए संभव हो गए हैं. फिर भी, इनके प्रयोग को न सिर्फ़ सीखना चाहिए, बल्कि इनमें महारत हासिल करना चाहिए क्योंकि लिनक्स जैसे ऑपरेटिंग सिस्टम की पूरी शक्ति इसके कमांड लाइन में है, जिसमें कार्यों को अत्यंत तीव्र गति से निष्पादित किया जा सकता है.
***************
पिछले अध्याय 5 से जारी…
अध्याय 6
लिनक्स फ़ाइल सिस्टम व लिनक्स कमांड
6.1 उबुन्टु लिनक्स की फ़ाइल सिस्टम डिरेक्ट्री
वैसे तो आमतौर पर सभी लिनक्स तंत्रों की फ़ाइल सिस्टम की डिरेक्ट्री लगभग एक समान होती है, फिर भी कहीं कहीं छोटे मोटे बदलाव नजर आ सकते हैं. ऊपर हमने देखा कि जब आप रूट डिरेक्ट्री / में फ़ाइल सिस्टम की सूची देखते हैं तो नीले रंग में निम्न डिरेक्ट्रियाँ मिलती हैं –bin
dev
media
proc
selinux
tmp
boot
etc
lib
mnt
root
srv
usr
cdrom
home
lost+found
opt
sbin
sys
var
यहाँ पर हल्के नीले रंग में भी कुछ अतिरिक्त फ़ाइल और डिरेक्ट्रियाँ मिलेंगीं – जैसे कि
initrd.img
vmlinuz
cdrom
इत्यादि. इसमें से सीडीरोम डिरेक्ट्री को छोड़कर बाक़ी दोनों लिनक्स सिस्टम फ़ाइलें हैं. आमतौर पर लिनक्स में विविध क़िस्म की फ़ाइलों को विविध रंगों में दर्शित किया जाता है. नीचे दिए गए टेबल अनुसार –
तालिका
रंग फ़ाइल किस्में
नीला डिरेक्ट्रियाँ
लाल संपीडित अभिलेख
सफेद पाठ फ़ाइलें
गुलाबी चित्र
स्यान कड़ियाँ
पीला उपकरण
हरा चलाने लायक फ़ाइलें (एक्जीक्यूटेबल)
चमकते लाल टूटी कड़ियाँ
आप इसी टर्मिनल पर लिनक्स के उपरिलिखित अन्य कमांडों को भी चलाकर देख सकते हैं. उदाहरण के लिए, अपने कम्प्यूटर को बन्द करने के लिए halt तथा इसे फिर से चालू करने के लिए reboot कमांड दें. ध्यान दें कि सामान्य विंडोज़ कम्प्यूटरों की तरह लिनक्स कम्प्यूटरों को भी, जब तक कोई असाधारण परिस्थिति न हो, सीधे बन्द या रीसेट न करें. बल्कि उचित हाल्ट या रीबूट कमांड देकर ही बन्द या फिर से चालू करें.
6.2 विस्तृत लिनक्स फ़ाइल तंत्र
लिनक्स के साथ ख़ूबी यह है कि किसी फ़ाइल या डिरेक्ट्री के गुणों को अलग तरीके से उस पर अलग अलग प्रयोक्ताओं द्वारा पहुँच सकने के हिसाब से सेट किया जा सकता है. रूट डिरेक्ट्री (ऊपर के उदाहरण में, ls कमांड के बजाए ls –al कमांड दें) में ls –al कमांड दें –$ ls -al
यहाँ पर ls तो वही फ़ाइलों की सूची बताने वाला कमांड है. परंतु यहाँ उसे ए तथा एल विकल्पों के साथ प्रयोग किया गया है ए विकल्प है सभी के लिए, तथा एल विकल्प है पूरी विस्तृत सूची के लिए. इस कमांड से आपको निम्न आउटपुट मिलेगा:
आप देखेंगे कि प्रदर्शित सूची में रूट डिरेक्ट्री की फ़ाइलों का विस्तृत विवरण दर्ज है. एकदम बाएँ तरफ आपको कुछ ऐसा लिखा मिलेगा – drwxr-xr-x या lrwxrwxrwx इत्यादि. पहले अक्षर d डिरेक्ट्री को प्रदर्शित करता है, तथा l कड़ी को. rwx का अर्थ है कि फ़ाइल या डिरेक्ट्री पर पढ़ने (रीड), लिखने (राइट) तथा चलाने (एक्जीक्यूट) करने की अनुमतियाँ. पहला rwx मालिक के लिए, दूसरा समूह के लिए तथा तीसरा अन्य के लिए अनुमति. यदि कहीं पर r , w या x की जगह – है, तो इसका अर्थ है कि उस विशिष्ट प्रयोक्ता को उस फ़ाइल या डिरेक्ट्री में उस विशेष कार्य की अनुमति नहीं है. उदाहरण के लिए किसी प्रयोक्ता के लिए किसी फ़ाइल में r-x लिखा है, तो प्रयोक्ता उसे पढ़ सकता है, चला सकता है, परंतु उस पर लिख नहीं सकता. निम्न चित्र से इसे और स्पष्ट किया गया है-
डिरेक्ट्री स्ट्रक्चर के दूसरे स्तम्भ में आपको कुछ संख्या दिखाई देगी. ये संख्या उस डिरेक्ट्री के भीतर स्थित सब-डिरेक्ट्री की संख्या हैं. तीसरे स्तम्भ पर डिरेक्ट्री के मालिक का नाम दर्ज है जैसे कि यहाँ पर रूट का नाम है. चौथे स्तम्भ पर उपयोक्ता का नाम दर्ज है. यहाँ पर भी रूट दिखाई दे रहा है क्योंकि ये शीर्ष स्तर की डिरेक्ट्री है, और ये रूट स्तर के प्रयोक्ता के लिए ही आमतौर पर डिफ़ॉल्ट रूप में रहते हैं. अगले स्तम्भों में डिरेक्ट्री व फ़ाइल आकार तथा उसे तैयार करने की तिथि दर्ज रहती है.
आप डिरेक्ट्री स्ट्रक्चर को और भी विविध तरीके से देख सकते हैं. इसके लिए कुछ कमांड विकल्प हैं -
6.3 लिनक्स फ़ाइल स्ट्रक्चर
लिनक्स फ़ाइल सिस्टम में सारा कुछ रूट यानी “/” से शुरू होता है. लिनक्स में किसी ड्राइव या पार्टीशन को विंडोज़ की तरह c, d, e इत्यादि अक्षरों से इंगित करने की सुविधा नहीं है. जैसे विंडोज़ की रूट डिरेक्ट्री में सी, डी, ई ड्राइव इत्यादि रहते हैं, लिनक्स में जैसे कि हमने ऊपर रूट डिरेक्ट्री लिस्टिंग में देखा, विविध कार्यों के लिए /usr, /etc, /bin, /sbin, /opt, /mnt, /dev इत्यादि डिरेक्ट्री होती हैं.विंडोज़ के /windows फ़ोल्डर में मौजूद विभिन्न अंतर्निर्मित प्रोग्रामों को चलाने वाले कमांड मौजूद रहते हैं उसी प्रकार लिनक्स तंत्र में /bin फ़ोल्डर में लिनक्स प्रोग्रामों को चलाने वाले कमांड मौजूद रहते हैं. /sbin डिरेक्ट्री में भी कुछ अतिरिक्त कमांड होते हैं. /etc डिरेक्ट्री में तमाम संस्थापित सॉफ़्टवेयरों के कॉन्फ़िगरेशन फ़ाइलें होती हैं. /usr डिरेक्ट्री में संस्थापित सॉफ़्टवेयरों की फ़ाइलें और डिरेक्ट्रियाँ होती हैं. ठीक विंडोज़ के प्रोग्राम फ़ाइल फ़ोल्डर की तरह. इस डिरेक्ट्री के भीतर भाषाई सेटिंग्स इत्यादि के लिए भी डिरेक्ट्रियाँ होती हैं. लिनक्स तंत्र के लिए यह एक प्रमुख डिरेक्ट्री है. यदि आप कुछ वैकल्पिक अनुप्रयोग जैसे कि ओपन ऑफ़िस इत्यादि संस्थापित करते हैं तो वे आमतौर पर /opt डिरेक्ट्री में संस्थापित होती हैं. /dev डिरेक्ट्री में लिनक्स तंत्र के सभी उपकरणों, हार्डवेयरों इत्यादि के बारे में जानकारी संग्रहित रहती है. जैसे कि /dev/cdrom आपके कम्प्यूटर के सीडीरॉम ड्राइव का सूचक है.
आमतौर पर लिनक्स तंत्र में (हालाँकि उबुन्टु में यह स्वचालित रूप से उपलब्ध होता है) आप बाहरी उपकरणों जैसे कि सीडी रॉम या रिमोट ड्राइव को सीधे काम में नहीं ले सकते. उन्हें आपको पहले अपने लिनक्स तंत्र पर माउन्ट करना होता है. /mnt डिरेक्ट्री में आपके ऐसे ही सीडीरोम तथा बाहरी उपकरण जैसे कि यूएसबी ड्राइव इत्यादि को काम में लेने के लिए माउन्ट किया जाता है. और फिर इसी डिरेक्ट्री में वे चीजें जब तक माउन्ट रहती हैं, उनकी सामग्री यहाँ मौजूद रहती है.
/home डिरेक्ट्री में प्रत्येक उपयोक्ता के लिए (रूट को छोड़कर, क्योंकि उसके लिए /root नाम की एक अलग डिरेक्ट्री होती है, हालाँकि रूट कहीं पर भी अपनी डिरेक्ट्री बना सकता है) एक डिरेक्ट्री होती है जिसमें उसके दस्तावेज, सेटिंग्स, ईमेल इत्यादि उसके लिए उपलब्ध रहते हैं. /boot डिरेक्ट्री में लिनक्स तंत्र को बूट (चालू) करने के समय आवश्यक लिनक्स कर्नेल व बूट लोडर कॉन्फ़िगरेशन फ़ाइलें होती हैं. /proc डिरेक्ट्री में वर्तमान में लिनक्स तंत्र में चल रहे तमाम प्रोसेसों की जानकारी संग्रहित रहती है. आपकी सुविधा के लिए लिनक्स फ़ाइल तंत्र डिरेक्ट्री की संक्षिप्त तालिका दी जा रही है –
डिरेक्ट्री | विवरण |
/bin | आम प्रोग्राम व कमांड, जो कि तंत्र, तंत्र प्रशासक और प्रयोक्ता इस्तेमाल करते हैं। |
/boot | शुरुआत यानी स्टार्टअप की फ़ाइलें व कर्नल, vmlinuz। कुछ नए वितरणों में ग्रब यानी grub सामग्री भी। ग्रब है ग्राण्ड यूनिफ़ाइड बूट लोडर, इसका लक्ष्य है आजकल के तरह तरह के बूट लोडरों से निजात पाना। |
/dev | इसमें सभी सीपीयू के इर्द गिर्द के तंत्र यानी पॅरिफ़रल हार्डवेयर के सन्दर्भ रहते हैं, जो कि ख़ास विशेषताओं वाली फ़ाइलों के तौर पर मौजूद रहते हैं। |
/etc | सबसे महत्वपूर्ण तंत्र जमावट की फ़ाइलें इस डिरेक्ट्री में रहती हैं, इस निर्देशिका में विण्डोज़ के कण्ट्रोल पैनल के समान कॉन्फ़िगरेशन सामग्री रहती है। |
/home | आम प्रयोक्ताओं की गृह डिरेक्ट्रियाँ। |
/initrd | (कुछ विशिष्ट वितरणों में) बूटिंग सम्बन्धित जानकारी। इसे हटाएँ नहीं! |
/lib | लाइब्रेरी फ़ाइलें, तंत्र और प्रयोक्ताओं के काम में आने वाले सभी कार्यक्रमों की फ़ाइलें यहाँ मौजूद रहती हैं। |
/lost+found | हर विभाग में सर्वोच्च स्तर पर एक lost+found यानी खोया+पाया रहती है। जो फ़ाइलें असफल प्रक्रियाओं के दौरान सुरक्षित रह जाती हैं वे यहाँ रहती हैं। |
/misc | नाना प्रकार के कार्यों के लिए एक अतिरिक्त डिरेक्ट्री। |
/mnt | सीडीरॉम, यूएसबी ड्राइव, विंडोज़ पार्टीशन या डिजिटल कैमरा जैसी बाह्य फ़ाइल प्रणालियों के लिए मानक माउन्ट बिन्दु। |
/net | सभी दूरस्थ यानी रिमोट फ़ाइल प्रणालियों के लिए मानक माउन्ट बिन्दु। |
/opt | आमतौर पर अन्य स्रोतों से प्राप्त प्रोग्राम व अनुप्रयोग यहाँ संस्थापित होते हैं। |
/proc | वर्चुअल फ़ाइल तंत्र, जिसमें तंत्र के संसाधनों के बारे में जानकारी रहती है। proc में मौजूद फ़ाइलों के बारे में आपको और अधिक जानकारी टर्मिनल खिड़की में man proc कमांड देने से मिलेगी। |
/root | प्रशासक की गृह निर्देशिका। /, रूट डिरेक्ट्री, और /root, root प्रयोगकर्ता की गृह निर्देशिका में फ़र्क पर ग़ौर करें। |
/sbin | तंत्र एवं तंत्र प्रशासक द्वारा प्रयुक्त प्रोग्राम यहाँ उपलब्ध होते हैं। |
/tmp | तंत्र द्वारा प्रयोग के लिए अस्थायी स्थान, पुनः बूट करने पर साफ़ कर दिया जाता है, अतः कुछ भी कार्य सुरक्षित करने के लिए इस डिरेक्ट्री का इस्तेमाल न करें! |
/usr | सभी प्रयोक्ताओं सम्बन्धी कार्यक्रमों की लाइब्रेरियाँ, प्रलेखन व प्रोग्राम। |
/var | प्रयोक्ताओं द्वारा निर्मित चिट्ठे की फ़ाइलें, डाक पंक्ति, छपाई का स्पूल क्षेत्र, अन्तर्जाल से अवतरित फ़ाइलों की अस्थायी रखरखाव, या सीडी बर्न करने के पहले उसका इमेज रखने के लिए प्रयुक्त, अर्थात् सभी परिवर्तनीय फ़ाइलों के लिए जगह। |
लिनक्स फ़ाइल तंत्र में एक और महत्वपूर्ण हिस्सा होता है स्वैप फ़ाइल का. यह या तो अलग पार्टीशन में अलग स्वैप पार्टीशन के रूप में उपस्थित हो सकता है या फिर आपके लिनक्स संस्थापना में स्वैप फ़ाइल के रूप में भी हो सकता है. स्वैप का प्रयोग लिनक्स बढ़िया मेमोरी प्रबंधन के लिए करता है और आमतौर पर इस बात की ताकीद की जाती है कि जितना रैम आपके मशीन में लगा है उससे दोगुना स्वैप का आकार होना चाहिए. जैसे कि यदि आपके कम्प्यूटर पर 1 जीबी का रैम लगा है तो आपके लिनक्स स्वैप का आकार 2 जीबी रखने की अनुशंसा की जाती है.
6.4 लिनक्स फ़ाइल सिस्टम में फ़ाइलों-डिरेक्ट्री चिह्न-
लिनक्स तंत्र में फ़ाइलों व डिरेक्ट्री को विविध अक्षरों से चिह्नित किया जाता है. जैसे कि डिरेक्ट्री को d तथा कड़ी को l से. कुछ और चिह्न हैं –चिन्ह | अर्थ |
- | सादी फ़ाइल |
d | निर्देशिका |
l | कड़ी |
c | विशेष फ़ाइल |
s | सॉकॅट |
p | नामित पाइप |
6.5 लिनक्स तंत्र की महत्वपूर्ण फ़ाइलें व डिरेक्ट्रियाँ:
6.5.1 कर्नलकर्नल प्रणाली का हृदय है। यह तन्त्र यानी हार्डवेयर और पेरिफ़ेरल उपकरणों के बीच संचार का प्रबन्धन करता है। कर्नल यह भी निश्चित करता है कि प्रक्रियाएँ व डीमन (सेवक यानी सर्वर प्रक्रियाएँ) सही समय पर शुरू व बन्द की जाएँ। कर्नल के और भी कई काम हैं, इतने कि इस विषय पर विशेष कर्नल विकास डाक सूची है, जहाँ पर बहुत जानकारी का आदान प्रदान किया जाता है। कर्नल के बारे में यहाँ विस्तृत विवरण देना उचित नहीं है। फ़िलहाल इतना ही कि कर्नल प्रणाली की सबसे महत्वपूर्ण फ़ाइल है।
6.5.2 शेल
शेल क्या है?
shell के बारे में समझाने के लिए आपको कुछ परिभाषाएँ बताते हैं। इसकी कई परिभाषाएँ हैं, जैसे कि "शेल कार की स्टीयरिंग की तरह है", या फिर बॅश की पुस्तिका की परिभाषा, "बॅश एक sh-अनुकूल कमांड भाषा भंजक है," या फिर यह, "शेल प्रयोक्ताओं और मशीन के बीच सन्देशों का आदान प्रदान करता है"। वास्तव में देखा जाए तो शेल इन सबसे कहीं ज़्यादा है।
शेल को आप कम्प्यूटर से बात करने का एक तरीका मान सकते हैं, एक भाषा की तरह। अधिकतर प्रयोक्ताओं को दूसरी वाली भाषा तो मालूम है, विंडो मेन्यूओं में इंगित करने और चटका लगाने वाली डेस्कटॉप की भाषा। लेकिन उस भाषा में प्रयोक्ता को एक छोटे शिशु की तरह, मौजूद विकल्पों में से चुनने के लिए कहा जाता है।
दूसरी ओर, शेल, प्रणाली के साथ संचार करने का एक बेहद विकसित तरीका है, क्योंकि इसकी मदद से सूचना का आदान प्रदान तो होता ही है साथ ही कई चीज़ें की जा सकती हैं।
6.5.3 शेल के प्रकार
जिस तरह लोगों को कई भाषाएँ व बोलियाँ आती हैं, उसी प्रकार कम्प्यूटर में शॅलों के कई प्रकार हैं:
- sh या बोर्न शेल: मूल शेल जो कि अभी भी यूनिक्स प्रणालियों और यूनिक्स सम्बन्धी वातावरणों में अभी भी प्रयुक्त होता है। यह मूलभूत शेल है, छोटा सा प्रोग्राम, जिसमें थोड़ी सी सुविधाएँ है। पोसिक्स-अनुकूल रूप में bash इसी शेल की तरह बर्ताव करता है।
- bash या बोर्न अगेन (पुनर्जीवित) शेल: ग्नू का शेल, समझदार और कामलायक। नौसिखियों के लिए उचित, साथ ही अनुभवी के लिए भी एक सशक्त अस्त्र। लिनक्स पर आम प्रयोक्ताओं के लिए bash शेल ही रहता है। जो कमांड sh पर चलते हैं, वे bash पर भी चलेंगे, लेकिन इसका उल्टा हमेशा सच नहीं होगा।
- csh या सी शेल: इस शेल की भाषा सी भाषा से मिलती जुलती है। कभी कभी प्रोग्रामर इसकी माँग करते हैं।
- tcsh यानी टर्बो सी शेल: सी शेल, कुछ और सुविधाओं के साथ, इसमें सुहूलियत और गति बेहतर है।
- ksh या कॉर्न शेल: अक्सर यूनिक्स वालों की पसन्द, बोर्न शेल की सब सुविधाएँ इसमें हैं। नौसिखियों को इसकी सेटिंग कठिन लगेगी।
ravi:~$cat /etc/shells /bin/bash /bin/sh /bin/tcsh /bin/csh |
6.5.4 नकली बोर्न शेल | |
ध्यान दें कि /bin/sh आमतौर पर bash की ही एक कड़ी होती है, जो कि बोर्न शेल अनुकूल रूप में चलती है। |
ravi:$tcsh [ravi@post21 ~]$ |
यदि आप को पता नहीं है कि आप कौन से शेल का इस्तेमाल कर रहे हैं, तो कृपया अपने खाते की पंक्ति देखें, इस फ़ाइल में, /etc/passwd या यह कमांड दें:
echo $SHELL
6.5.5 शेल की विशेषताएँ –
शेल में कुछ अंतर्निर्मित कमांड हैं जिनका उपयोग कर विविध कार्य किए जा सकते हैं -
Command | Meaning |
> | आउटपुट आगे भेजता है |
>> | फ़ाइल में आगे जोड़ता है |
< | इनपुट आगे भेजता है |
<< | "यहाँ" दस्तावेज़ (इनपुट आगे भेजता है) |
| | आउटपुट को पाइप करता है |
& | प्रक्रिया पृष्ठभूमि में चलाता है. |
; | कमांडों को एक ही लकीर में अलग करता है |
* | फ़ाइल नाम में किसी भी अक्षर का जोड़ा मिलाता है |
? | फ़ाइल नाम में एक अक्षर का जोड़ा मिलाता है |
[ ] | कोष्ठक के भीतर के किसी भी अक्षर का जोड़ा मिलाता है |
( ) | सब-शेल में चलाता है |
` ` | कमांड का आउटपुट बदलता है |
" " | आंशिक उद्धरण (वेरियेबल व कमांड एक्सपांशन स्वीकारता है) |
' ' | पूरा उद्धरण (कोई एक्सपांशन नहीं) |
\ | आगे के अक्षर उद्धरण |
$var | वेरियेबल मूल्य प्रयोग करें |
$$ | प्रक्रिया आईडी |
$0 | कमांड नाम |
$n | nवां आर्गुमेंट (n हो सकता है 0 से 9) |
$* | सभी आर्गुमेंट साधारण शब्द जैसे |
# | टिप्पणी चालू करता है |
bg | पृष्ठभूमि में चलाता है |
break | लूप स्टेटमेंट से ब्रेक करता है |
cd | डिरेक्ट्री बदलता है |
continue | प्रोग्राम लूप बहाल करता है |
echo | आउटपुट दिखाता है |
eval | आर्गुमेंट इवेल्यूएट करता है |
exec | नटशेल में चलाता है |
fg | अग्रभूमि में चलाता है |
jobs | सक्रिय कार्यों को दिखाता है |
kill | चलते कार्यों को बंद करता है |
newgrp | नए समूह में जाता है |
shift | पोजीशनल पैरामीटर शिफ़्ट करता है |
stop | पृष्ठभूमि कार्य बन्द करता है |
suspend | अग्रभूमि कार्य बन्द करता है |
time | कमांड को समय पर चलाता है |
umask | फ़ाइल अनुमतियों की सूची सेट करता है |
unset | वेरियेबल या फ़ंक्शन परिभाषा मिटाता है |
wait | पृष्ठभूमि में चल रहे कार्य के पूरा होने का इंतजार करता है |
6.6 प्रक्रिया प्रबंधन के कमांड
कमांड | अर्थ |
at | काम को बाद में चलाने के लिए कतार में लगाता है |
atq | प्रयोक्ता के लंबित कामों की सूची देता है |
atrm | काम नंबर के अनुसार कामों को मिटाता है. |
batch | जब सिस्टम लोड स्तर अनुमति देता है तो कमांडों को चलाता है. |
crontab | हर उपयोक्ता के लिए क्रॉनटैब फ़ाइल प्रबंधित करता है. |
halt | सिस्टम को बन्द करता है |
init | प्रक्रिया नियंत्रण का प्रारंभ |
jobs | वर्तमान में चल रहे कामों की सूची देता है. |
kill | प्रक्रिया को बन्द करता है. |
mesg | आपके टर्मिनल में लिखने की पहुँच को नियंत्रित करता है. |
netstat | नेटवर्क कनेक्शन, रूटर टेबल, इंटरफेस सांख्यिकी, मास्करेड कनेक्शन तथा मल्टीकास्ट सदस्यता दिखाता है. |
nice | परिवर्धित शेड्यूलिंग प्राथमिकता के आधार पर प्रोग्राम को चलाता है. |
ps | प्रक्रिया स्थिति की रपट देता है |
pstree | प्रक्रियाओं की शाखाओं को दिखाता है. |
reboot | तंत्र (कम्प्यूटर) को बन्द कर फिर से चालू करता है. |
renice | चल रहे प्रक्रियाओं के प्राथमिकताओं को बदलता है. |
shutdown | तंत्र (कम्प्यूटर) को बन्द करता है. |
sleep | निश्चित समय के लिए देरी करता है. |
time | कमांड या रिसोर्स उपयोग को समयबद्ध करता है. |
top | शीर्ष के सीपीयू प्रक्रियाओं को दिखात है. |
uptime | दिखाता है कि कितनी देर से आपका कम्प्यूटर चल रहा है. |
vmstat | आभासी मेमोरी की स्थिति बताता है. |
w | दिखाता है कि कौन कौन लॉगिन हैं और क्या क्या कर रहे हैं. |
wall | हर एक के टर्मिनल पर ये सदेंश भेजता है. |
who | दिखाता है कि कौन कौन लॉगिन हैं. |
write | किसी दूसरे उपयोक्ता को संदेश भेजें. |
कुछ विशेष क़िस्म के कमांड विशिष्ट कार्यों के लिए होते हैं. जैसे कि छपाई के लिए छपाई के कमांड –
6.7 छपाई से सम्बद्ध कमांड
निर्देश | अर्थ |
lpr | फ़ाइल को छापता है |
lpq | छपाई पंक्ति का निरीक्षण करता है |
lprm | छपाई कार्य को निरस्त करता है |
acroread | पीडीएफ़ (PDF) फ़ाइलों को दिखाता है |
groff | प्रारूपीकरण तंत्र |
gv | पोस्टस्क्रिप्ट फ़ाइलों को देखने के लिए कमांड |
printconf | प्रिण्टर के संस्थापन के लिए |
xdvi | डीवीआई (DVI) फ़ाइलों को देखने के लिए कमांड |
xpdf | पीडीएफ़ (PDF) फ़ाइलों को देखने के लिए कमांड |
*2ps | अन्य रूप में निर्मित फ़ाइल को पोस्टस्क्रिप्ट रूप में परिवर्तित करता है |
किसी भी कम्प्यूटर में काम करने के दौरान डाटा सुरक्षित बनाए रखना अनिवार्य आवश्यकता है. इसका सबसे बढ़िया, आसान हल है – नियमित रूप से डाटा का बैकअप बनाए रखना. कुछ बैकअप संबंधी लिनक्स कमांड -
6.8 बैकअप हेतु कमांड
निर्देश | अर्थ |
bzip2 | खण्ड-क्रमीकरण प्रणाली पर आधारित फ़ाइल संपीडन तंत्र. |
cdrecord | सीडी पर ध्वनि अथवा सामग्री लिखने के लिए. |
dd | फ़ाइल को रूपांतरित करे व प्रतिलिपि बनाता है. |
fdformat | फ़्लॉपी डिस्क की सतह को प्रारूपित (फ़ॉरमेट) करता है. |
gzip | फ़ाइल को संपीडित अथवा पुनर्स्थापित करता है. |
mcopy | फ़ाइलों को यूनिक्स से डॉस या डॉस से यूनिक्स ले जाता है. |
mdir | डाँस निर्देशिका प्रदर्शित करता है. |
mformat | जिस फ़्लॉपी डिस्क की सतह फ़ॉरमॅट की गई हो, उस पर डॉस फ़ाइल प्रणाली बनाता है. |
mkbootdisk | बूट फ़्लॉपी बनाता है - जिससे आप एकमात्र फ़्लॉपी द्वारा अपना यंत्र बूट कर सकें. |
mount | किसी उपकरण पर स्थित फ़ाइल प्रणाली को आपके तंत्र की फ़ाइल प्रणाली पर स्थापित (माउंट) करता है. |
tar | टेप पर अभिलेखन के लिए. टेप के बजाए डिस्क पर भी पुरालेख बना सकता है. |
umount | फ़ाइल प्रणाली को आपके यंत्र से विस्थापित (अनमाउंट) करता है. |
6.9 फ़ाइल व डिरेक्ट्री सुरक्षा संबंधी सीएचमोड कमांड
Command | Meaning |
chmod 400 file | दुर्घटनावश किसी फ़ाइल के ऊपर मिटाकर लिखे जाने से बचाने हेतु. |
chmod 500 directory | इस डिरेक्ट्री से दुर्घटनावश किसी वस्तु को हटाने, मिटाने या नाम बदलने से बचाने हेतु. |
chmod 600 file | प्रयोक्ता द्वारा बनाया गया निजी फ़ाइल जो वह ख़ुद बदल सकता है. |
chmod 644 file | सबके द्वारा पढ़ा जा सकने वाला फ़ाइल पर जिसे सिर्फ़ उपयोक्ता ही बदल सकता है. |
chmod 660 file | समूह के प्रयोक्ता इस फ़ाइल को बदल सकेंगे, परंतु अन्यों को इस पर पहुँच अधिकार नहीं. |
chmod 700 file | फ़ाइल को मालिक के अलावा किसी भी अन्य प्रयोक्ता की पहुँच से दूर रखता है. |
chmod 755 directory | डिरेक्ट्री की फ़ाइलों को अन्य कोई भी पढ़ व चला सकते हैं, परंतु बदलने का अधिकार सिर्फ़ मालिक प्रयोक्ता का होगा. |
chmod 775 file | किसी समूह के लिए मानक फ़ाइल साझा मोड. |
chmod 777 file | इस फ़ाइल में हर कोई कुछ भी कर सकता है. |
6.10 आपकी होम डिरेक्ट्री
प्रणाली से सम्पर्क साधने के बाद आपका मूल गन्तव्य है आपकी होम डिरेक्ट्री। आमतौर पर यह /home की उप-डिरेक्ट्री होती है, हालाँकि यह बदल भी सकती है। आपकी होम डिरेक्ट्री किस दूरस्थित फ़ाइल सेवक यानी फ़ाइल सर्वर की हार्ड डिस्क पर भी हो सकती है। ऐसी स्थिति में वह यहाँ होगी: /nethome/your_user_name। ऐसा भी हो सकता है कि आपके प्रणाली प्रशासक ने थोड़ा अधिक गूढ़ सेटिंग चुना हो, तब सम्भव है कि आपकी होम डिरेक्ट्री यहाँ कहीं हो: /disk8/HU/07/jgillard।पथ कुछ भी हो, इसकी ज़्यादा चिन्ता करने की ज़रूरत नहीं है। यह पथ होम एनवायरनमेंटल वेरिएबल में हमेशा संचित रहता है। किसी कार्यक्रम को यदि इसकी ज़रूरत हो तो यहाँ से इसका इस्तेमाल हो सकता है। echo कमांड की मदद से आप इसे देख सकते हैं:
Ravi:~$echo $HOME /nethome/orlando |
ravi:~$quota -v Diskquotas for user ravi (uid 501): none |
आपकी होम डिरेक्ट्री के लिए चिन्ह है लहरिया डॅश (~), यह /होम_का_पथ/प्रयोक्ता_नाम का छोटा रूप है। यही पथ HOME परिवर्तनीय में भी संचित रहता है, आपके बिना कुछ किए बग़ैर भी। इसके प्रयोग का एक उदाहरण: /var/music/albums/arno/2001 डिरेक्ट्री से, अपनी होम डिरेक्ट्री में स्थित images डिरेक्ट्री को जाएँ, एक ही कमांड की मदद से:
ravi:~$/var/music/albums/arno/2001>cd ~/images ravi:~$/images>pwd /home/rom/images |
6.11 सेटिंग सम्बन्धी महत्वपूर्ण फ़ाइलें
जैसे कि पहले बताया जा चुका है, ज़्यादातर सेटिंग की फ़ाइलें /etc डिरेक्ट्री में रहती हैं। इनका सामग्री cat डिरेक्ट्री की मदद से देखी जा सकती है। इसकी मदद से पाठ फ़ाइलें मानक आउट्पुट को भेजी जा सकती हैं, जो कि आमतौर पर आपके कम्प्यूटर का चित्रपट होगा। इसका प्रयोग इस प्रकार कर सकते हैं:cat file1 file2 ... fileN
इस विभाग में हम सेटिंग सम्बन्धी कुछ आम फ़ाइलों के बारे में जानकारी देंगे। यह सूची पूर्ण कतई नहीं है। अन्य पैकेज जोड़ने पर /etc डिरेक्ट्री में सेटिंग सम्बन्धी अन्य फ़ाइलें आएँगी। सेटिंग फ़ाइलों को पढ़ते समय आप पाएँगे कि अक्सर इनमें काफ़ी टिप्पणियाँ रहती हैं, ताकि इनकी क्रिया को समझने में कोई दिक्कत न आए। कई फ़ाइलों के मॅन पृष्ठ भी हैं, जिनमें प्रोग्राम में कैसे काम करें इस बाबत अधिक विवरण रहता है, उदाहरणार्थ man aliases.
तालिका - सेटिंग सम्बन्धी आम फ़ाइलें
फ़ाइल | जानकारी/सेवा |
aliases | डाक उपनाम सम्बन्धी फ़ाइल जिसका इस्तेमाल सेण्डमेल डाक सेवक करता है। हरेक प्रणाली पर एक डाक सेवक चलाने की परम्परा यूनिक्स की दुनिया में पहले से चली आ रही है, और प्रायः हरेक लिनक्स वितरण में सेण्डमेल पैकेज मौजूद रहता है। इस फ़ाइल की मदद से स्थानीय प्रयोक्ता नामों और डाक पतों में प्रयुक्त नामों अथवा अन्य स्थानीय पतों के बीच में सम्बन्ध स्थापित किया जाता है। |
bashrc | पूरी प्रणाली के लिए बॉर्न अगेन शेल के सेटिंग की फ़ाइल। सभी प्रयोक्ताओं के लिए मूल प्रॉम्प्ट का सेटिंग करती है। इसके अलावा अन्य चीज़ों का सेटिंग भी करती है। अन्य शॅलों की भी अन्य सेटिंग सम्बन्धी फ़ाइलें हो सकती हैं, जैसे कि cshrc. |
crontab तथा cron.* डिरेक्ट्रियाँ | बारम्बार किए जाने वाले कार्यों - बॅकप, प्रणाली के डाटाबेसों का बदलाव, प्रणाली की सफ़ाई, चिट्ठों को बदलना आदि - के सेटिंग के लिए। |
default | useradd जैसे कुछ निर्देशों के मूल विकल्प। |
file systems | ज्ञात फ़ाइल प्रणालियाँ: ext3, vfat, iso9660 etc. |
fstab | विभाजनों और उनके माउण्ट बिन्दुओं की सूची। |
ftp* | एफ़ टी पी सेवक का सेटिंग: कौन सम्बन्ध स्थापित कर सकता है, प्रणली के कौन से हिस्से प्राप्य हैं, आदि। |
group | प्रयोक्ता समूहों के सेटिंग की फ़ाइल। इस फ़ाइल को बदलने के लिए groupadd, groupmod और groupdel नामक शॅडो यूटिलिटियों का इस्तेमाल करें। सीधे सम्पादन तभी करें जब आपको मालूम हो कि उसका असर क्या होगा। |
grub.conf | बूट सम्बन्धी जानकारी। |
hosts | जालबन्धन का प्रयोग करके बिना डोमेन नाम सेवा के जिन मशीनों के साथ सम्बन्ध स्थापित किया जा सकता है, उनकी सूची। इसका प्रणाली के जालबन्धन सेटिंग से कोई सम्बन्ध नहीं है, जो कि /etc/sysconfigमें रहता है। |
httpd | अपाची जाल सेवक के लिए फ़ाइलों का सेटिंग करता है। |
inittab | बूटिंग सम्बन्धी जानकारी: रीति, पाठ कंसोलों की संख्या आदि। |
issue | वितरण सम्बन्धी जानकारी(उद्धरण संख्या)। |
ld.so.conf | लाइब्रेरी फ़ाइलों की स्थिति। |
lilo.conf, silo.conf, aboot.conf etc. | लिनक्स लोडर के लिए बूट सम्बन्धी जानकारी। यह बूटिंग प्रणाली पहले प्रयुक्त होती थी, अब इसके बदले ग्रब का इस्तेमाल होता है। पुराने वितरणों में मिल सकती है। |
logrotate.* | लॉग का परिक्रमण, बहुत अधिक लॉग न बनें इसके लिए प्रणाली। |
डिरेक्ट्री, जिसमें डाक सेवक के बर्ताव सम्बन्धी जानकारी रहती है। | |
modules.conf | ख़ास सुविधाएँ(ड्राइवर) मुहैया कराने वाले मॉड्यूलों की सेटिंग। |
motd | आज का सन्देश: जो भी प्रणाली से जुड़ता है(पाठ रीति से) उसे यह दिखाया जाता है। प्रणाली प्रशासक द्वारा प्रणाली सम्बन्धी सेवाएँ/मरम्मत के बारे में जानकारी देने के लिए प्रयोग किया जा सकता है। |
mtab | फ़िलहाल माउण्ट की गई फ़ाइल प्रणालियाँ। इस फ़ाइल का कभी सम्पादन न करने की सलाह दी जाती है। |
nsswitch.conf | यदि किसी प्रक्रिया को कोई होस्ट नाम पता लगाना है, तो यह फ़ाइल बताती है कि नाम भंजकों यानी नेम रिज़ाल्वरों से सम्पर्क किस क्रम में करना है |
pam.d | पुष्टि सम्बन्धी मॉड्यूलों का सेटिंग। |
passwd | स्थानीय प्रयोक्ताओं की सूची। शॅडो कार्यसहायकों useradd, usermod and userdel की मदद से इस फ़ाइल का सम्पादन करें। सीधे सम्पादन तभी करें जब आपको अच्छी तरह मालूम हो कि आप क्या करने जा रहे हैं। |
printcap | पुरानी लेकिन अभी भी अक्सर प्रयुक्त प्रिण्टर की सेटिंग फ़ाइल। सीधे सम्पादन तभी करें जब आपको अच्छी तरह मालूम हो कि आप क्या करने जा रहे हैं। |
profile | शेल वातावरण का प्रणाली भर का सेटिंग: परिवर्तनीय, नई फ़ाइलों की मूल विशेषताएँ, संसाधनों की सीमाएँ आदि। |
rc* | हरेक रन स्तर पर सक्रिय सेवाओं को परिभाषित करने वाली डिरेक्ट्रियाँ। |
resolv.conf | डोमेन नाम सेवकों से सम्पर्क करने का क्रम(केवल डोमेन नाम सेवकों के लिए)। |
sendmail.cf | सॅण्डमेल सेवक की मुख्य सेटिंग फ़ाइल। |
services | इस मशीन द्वारा स्वीकृत सम्बन्ध (खुले पोर्ट)। |
sndconfig और sound | ध्वनि कार्ड और ध्वनि उपलक्ष्यों का सेटिंग |
ssh | सुरक्षित शेल ग्राहक व सेवक के सेटिंग सम्बन्धी फ़ाइलें इस डिरेक्ट्री में हैं। |
sysconfig | प्रणाली सेटिंग सम्बन्धी फ़ाइलों की डिरेक्ट्री: माउस, कुंजीपटल, जाल, डेस्कटॉप, प्रणाली की घड़ी, ऊर्जा प्रबन्धन आदि (केवल रेडहैट के लिए) |
X11 | चैत्रिक सेवक, एक्स का सेटिंग। रेडहैट एक्सफ़्री XFree का इस्तेमाल करता है, इसकी मुख्य सेटिंग फ़ाइल है, XFree86Config। इसमें प्रणाली पर उपलब्ध डेस्कटॉप प्रदर्शन प्रबन्धकों सम्बन्धित आम कमांड भी होते हैं, जैसे gdm, fvwm, twm, आदि। |
xinetd.* | अन्तर्जाल सेवाओं सम्बन्धी सेटिंग फ़ाइलें। ये सेवाएँ प्रणाली के (विस्तारित) अन्तर्जाल सेवा डीमन (सेवक जो स्वतन्त्र डीमन नहीं चलाते) द्वारा चलाई जाती हैं। |
6.12 सबसे आम उपकरण
उपकरण, यानी सी पी यू के अलावा पी सी की कोई भी परिधीय वस्तु, लिनक्स सिस्टम में डिरेक्ट्री के अन्दर एक प्रविष्टि के तौर पर रहती है। उपकरणों को इस यूनिक्स शैली में संभालने का एक फ़ायदा यह है कि प्रयोक्ता और सिस्टम में से किसी को भी उपकरणों के कमांड की चिन्ता करने की ज़रूरत नहीं पड़ती।लिनक्स और यूनिक्स के नए प्रयोक्ताओं को अक्सर नए नामों और विचारों की भूल भुलैया में गुम होते देखा गया है। अतः इस परिचय में लीजिए आम उपकरणों की एक सूची।
तालिका आम उपकरण
नाम | उपकरण |
cdrom | सीडी ड्राइव |
console | फ़िलहाल प्रयुक्त कंसोल के लिए विशेष प्रविष्टि। |
cua* | सीरियल पोर्ट |
dsp* | सेम्प्लिंग व रिकॉर्डिंग के उपकरण |
fd* | अधिकतर फ़्लॉपी ड्राइवों की प्रविष्टियां ऐसी होती हैं, मूल प्रविष्टि है /dev/fd0H1440, १.४४ मेगाबाइट फ़्लॉपियों की फ़्लॉपी ड्राइव। |
hd[a-t][1-16] | आई डी ई ड्राइवों के लिए मानक प्रविष्टि, हरेक के अधिकतम विभाजनों के साथ। |
ir* | इन्फ़्रारेड उपकरण |
isdn* | आई एस डी एन सम्बन्धों का प्रबन्धन |
js* | जॉय स्टिक |
lp* | प्रिंटर |
mem | स्मरण |
midi* | मिडी वादक |
mixer* व music | मिक्सर का आदर्श मॉडल(सिग्नल सम्मिलित करता है, या सिग्नल जोड़ता है) |
modem | मोडेम |
mouse (msmouse, logimouse, psmouse भी | सभी प्रकार के माउस |
null | सीमा रहित कचरा पेटी, |
par* | पैरेलल पोर्ट सम्बन्धी प्रविष्टियाँ |
pty* | छद्म टर्मिनल |
radio* | हैम रेडियो के लिए। |
ram* | बूट उपकरण |
sd* | एस सी एस आई डिस्कें, विभाजनों सहित |
sequencer | ध्वनि कार्ड (मिडी उपकरण नियन्त्रक) की सिन्थेसाइज़र सुविधा का इस्तेमाल करने वाली ध्वनि एप्लिकेशनों के लिए। |
tty* | कल्पित कंसोल, जो वीटी१०० टर्मिनलों का नकल पर बनाए गए हैं। |
usb* | यूएसबी कार्ड व स्कैनर |
video* | वीडियो सुविधा वाले चैत्रिक कार्ड के लिए |
6.13 सबसे आम परिवर्तनीय फ़ाइलें
/var डिरेक्ट्री में कई डिरेक्ट्रियाँ हैं जिनमें विशेष परिवर्तनीय सामग्री रहती है (बनाम ls कार्यक्रम या प्रणाली सेटिंग फ़ाइलों के, जो कि बहुत कम या बिल्कुल भी परिवर्तित नहीं होते)। वह सभी फ़ाइलें जो अक्सर बदलती हैं, जैसे चिट्ठे, डाक बक्से, लॉक फ़ाइलें, स्पूलर आदि,/varकी किसी उप-डिरेक्ट्री में रखी जाती हैं।सुरक्षा की दृष्टि से इन फ़ाइलों को आमतौर पर मुख्य प्रणाली फ़ाइलों से अलग रखा जाता है, ताकि हम इन पर नज़र रख सकें और आवश्यकतानुसार अनुमतियाँ और कड़ी कर सकें। इनमें से कई फ़ाइलों के लिए अक्सर ज़्यादा अनुमतियाँ चाहिए होती हैं, जैसे /var/tmp, जिसमें कि हरेक को लिखने की अनुमति होनी चाहिए। यहाँ पर बहुत अधिक प्रयोक्ता गतिविधि हो सकती है, सम्भव है आपकी प्रणाली से जुड़े बेनामी अन्तर्जाल प्रयोक्ताओं की वजह से। इसीलिए /var डिरेक्ट्री व उसकी सभी उप-डिरेक्ट्रियाँ आमतौर पर अलग विभाग में रहती हैं। इस प्रकार, उदाहरण के लिए, यदि कोई डाक बम वायरस आपके सिस्टम पर आ जाए तो वह जड़ फ़ाइल सिस्टम, जिसमें आपके कार्यक्रम और सेटिंग फ़ाइलों जैसी ज़रूरी सामग्री है, पर किसी सूरत में नहीं आएगा।
यूनिक्स की एक मुख्य सुरक्षा प्रणाली, जो कि लिनक्स पर भी लागू की गई है, चिट्ठे रखने की सुविधा है, जो कि प्रयोक्ताओं की क्रियाओं, प्रक्रियाओं, प्रणाली उपलक्ष्यों आदि का चिट्ठा (लॉग) रखती है। syslogdaemon की सेटिंग फ़ाइल यह निर्धारित करती है कि कौन सी जानकारी का चिट्ठा रखा जाएगा, और वह कितनी देर रहेगा। चिट्ठों की मूल स्थिति है /var/log, इसमें प्रवेश, सेवक, प्रणाली सन्देश आदि के चिट्ठों की अलग अलग फ़ाइलें हैं।
/var पर आमतौर पर हमें सेवक सामग्री मिलेगी, जो कि अधिक महत्वपूर्ण सर्वर कार्यक्रम और उसकी सेटिंग फ़ाइलों से अलग रखा जाता है। लिनक्स प्रणालियों पर इसका एक उदाहरण है /var/www, जिसमें कि जाल सेवक द्वारा प्रदत्त एच टी एम एल पन्ने, स्क्रिप्ट और चित्र रखे जाते हैं। एफ़ टी पी सेवक का एफ़ टी पी वृक्ष (वह सामग्री जो किसी दूरस्थ ग्राहक द्वारा उतारी जा सकती है) भी /var किसी उपडिरेक्ट्री में रखी जाती है। यह सामग्री सार्वजनिक रूप से उपलब्ध है और अक्सर बेनामी प्रयोक्ताओं द्वारा परिवर्तनीय भी है, इसलिए इसे यहाँ रखना बेहतर है, अन्य महत्वपूर्ण सामग्रियों से युक्त विभागों व डिरेक्ट्रियों से दूर।
6.14 लिनक्स के प्रोसेस
कोई भी कम्पयूटर जब चालू होता है तो ढेर सारे प्रोसेस चालू होते हैं और कई पृष्ठभूमि में लगातार चलते रहते हैं. लिनक्स में भी ढेरों प्रोसेस पृष्ठभूमि में चलते रहते हैं और यदि आपने बहुत सारे अनुप्रयोगों और हार्डवेयरों को भी संस्थापित किया और लगाया हुआ है तो उससे संबंधित प्रोसेस भी अतिरिक्त रूप से चलते रह सकते हैं. लिनक्स में चल रहे प्रोसेस को देखने के लिए कई तरीके हैं. सबसे सरल तरीका है top कमांड का प्रयोग. टर्मिनल में कमांड दें –$ top
इस कमांड को चलाते ही आपके टर्मिनल पर लगातार अद्यतित होते प्रोसेसों की सूची दिखाई देगी. लिनक्स की एक और ख़ूबी ये है कि इसमें चल रहे प्रोसेस अपनी आवश्यकता पूर्ति करने - यानी काम निष्पादित करने के बाद स्लीप मोड में चले जाते हैं जिससे प्रोसेसिंग पावर और मेमोरी की बचत होती है.
विभिन्न प्रोसेसों के बीच आपसी संबंधों को दर्शित करने के लिए एक अन्य कमांड pstree का प्रयोग किया जाता है. प्रोसेस-ट्री देखने के लिए टर्मिनल पर कमांड दें-
$ pstree
इस कमांड के फल स्वरूप आपके टर्मिनल पर प्रोसेसों की सूची शाखाओं सहित दिखेगी. कुछ इस तरह:
यहाँ पर आप देख रहे हैं कि जीडीएम प्रोसेस ने एक्सऑर्ग के साथ मिलकर गनोम सेसन नाम का प्रोसेस चलाया जिसने फिर से कोई आधा दर्ज़न से अधिक प्रोसेस को चालू किया. इस तरह लिनक्स तंत्र में पृष्ठभूमि में दर्ज़नों प्रोसेस एक साथ चलते रहते हैं.
6.15 कुछ और लिनक्स कमांड
पूर्व के अध्यायों में हमने कुछ आरंभिक लिनक्स कमांड के बारे में जाना. इस अध्याय में कुछ अतिरिक्त, परंतु महत्वपूर्ण कमांडों के बारे में चर्चा करेंगे, जिनके बिना लिनक्स जीवन आधा-अधूरा सा रहेगा.प्रबंधन बेसिक
passwd किसी उपयोक्ता के पासवर्ड को बदलता है. उदाहरण – passwd a यह कमांड उपयोक्ता a के पासवर्ड को बदलने के लिए नया पासवर्ड पूछेगा.
chpasswd यह बैच मोड में फ़ाइल से पढ़कर उपयोक्ताओं के पासवर्ड एक साथ बदलता है
useradd इस कमांड से नए उपयोक्ता बना सकते हैं. उदाहरण – useradd arun यह कमांड उपयोक्ता arun को तंत्र में जोड़ेगा.
Linux Quick Reference
SOME USEFUL COMMANDS
. फ़ाइल/डिरेक्ट्री बेसिक
ls फ़ाइलों/डिरेक्ट्री की सूची दिखाता है. कुछ उदाहरण आपने पिछले अध्याय में देखे हैं जब हमने लिनक्स फ़ाइल व डिरेक्ट्री स्ट्रक्चर के संबंध में चर्चा की थी.
cp फ़ाइलों की नक़ल बनाता है. उदाहरण – cp /home/hi.txt /home/arun/ यह कमांड /home डिरेक्ट्री की hi.txt फ़ाइल की नक़ल /home/arun डिरेक्ट्री में बनाता है.
mv फ़ाइलों का नाम बदलता है या एक स्थान से दूसरे स्थान पर रखता है. उदाहरण – rm /home/hi.txt /home/arun/ यह कमांड /home डिरेक्ट्री की hi.txt फ़ाइल को खिसका कर /home/arun डिरेक्ट्री में ले जाता है.
rm फ़ाइलें मिटाता है
ln फ़ाइलों की कड़ी बनाता है
cd डिरेक्ट्री बदलता है. कुछ विकल्प –
cd.. डिरेक्ट्री में एक स्तर ऊपर ले जाता है
cd / सबसे ऊपरी स्तर की डिरेक्ट्री (रूट) में ले जाता है
cd ~ प्रयोक्ता के होम डिरेक्ट्री में ले जाता है
cd – पिछली मर्तबा प्रयोग की गई डिरेक्ट्री में ले जाता है
pwd वर्तमान डिरेक्ट्री नाम दिखाता है
mkdir डिरेक्ट्री बनाता है. उदाहरण – mkdir /home/a यह कमांड /home डिरेक्ट्री में a नाम की डिरेक्ट्री बनाता है.
rmdir डिरेक्ट्री मिटाता है
फ़ाइल प्रदर्शक
cat फ़ाइल (की सामग्री) दिखाता है
less फ़ाइल को प्रति पेज दिखाता है
head फ़ाइल के शुरू के कुछ लाइनों को दिखाता है
tail फ़ाइल के अंतिम कुछ लाइनों को दिखाता है
nl लाइन का नंबर देता है
od बाइनरी डाटा दिखाता है
xxd बाइनरी डाटा दिखाता है
gv पोस्ट स्क्रिप्ट/पीडीएफ़ फ़ाइलों को दिखाता है
xdvi यह TeX तथा DVI फ़ाइलों को दिखाता है
फ़ाइलें बनाना व संपादित करना
emacs पाठ संपादक है
vim पाठ संपादक है
umask डिफ़ॉल्ट फ़ाइल सुरक्षा सेट करता है
soffice ओपन ऑफ़िस चालू करता है जहाँ वर्ड, एक्सेल, प्रेज़ेन्टेशन इत्यादि दस्तावेज़ बनाए जा सकते हैं
abiword एबीवर्ड वर्ड प्रोसेसर चालू करता है.
gnumeric एक्सेल शीट संपादन हेतु प्रोग्राम चालू करता है
फ़ाइल गुण
stat फ़ाइल गुण दिखाता है
wc बाइट्स, शब्द, लाइनें गिनता है
du डिस्क जगह उपयोग बताता है
file फ़ाइल की क़िस्म बताता है
touch फ़ाइल का टाइमस्टैम्प बदलता है
chown फ़ाइल का मालिक बदलता है
chgrp फ़ाइल का समूह बदलता है
chmod फ़ाइल सुरक्षा तथा उपयोक्ता व समूहों के फ़ाइल अधिकार बदलता है
chattr फ़ाइल के उन्नत गुणों को बदलता है
lsattr उन्नत फ़ाइल गुणों की सूची बताता है
फ़ाइल स्थान
find फ़ाइलों को ढूंढता है. उदाहरण – find golu.jpg कमांड golu.jpg फ़ाइल को ढूंढता है.
slocate सूची के ज़रिए फ़ाइलों को ढूंढता है
which यह किसी जगह या लिनक्स कमांड का पूरा पथ बताता है. उदाहरण which grep का आउटपुट होगा - /bin/grep
whereis मानक फ़ाइलों जैसे कि कमाण्ड प्रोग्राम, सोर्स कोड या मैनुअल पृष्ठों को ढूंढता है
फ़ाइल (के पाठ) में परिवर्तन
grep मिलते जुलते पंक्तियों वाली फ़ाइलों को ढूंढता है
cut स्तम्भ काटता है
paste स्तम्भ जोड़ता है
tr अक्षर अनुवादित करता है
sort लाइनें छांटता है
uniq एक जैसी लाइनें ढूंढता है
tee फ़ाइल में stdin कॉपी करता है तथा साथ ही stdout करता है
फ़ाइल संपीडन
gzip फ़ाइल संपीडित करता है
(GNU ज़िप)
compress फ़ाइल संपीडित करता है (यूनिक्स)
bzip2 फ़ाइलें संपीडित करता है (BZip2)
zip फ़ाइलें संपीडित करता है
(विंडोज़ ज़िप)
फ़ाइल तुलना
diff फ़ाइलों को पंक्ति-दर-पंक्ति तुलना करता है
comm छांटे गए फ़ाइलों की तुलना करता है
cmp फ़ाइल बाइटों की तुलना करता है
by बाइट
md5sum चेकसम गणना करता है
डिस्क व फ़ाइल तंत्र
df रिक्त डिस्क जगह बताता है
mount डिस्क (यूएसबी, कैमरा इत्यादि भी) को माउन्ट करता है तथा उसकी सामग्री पहुँच योग्य बनाता है
fsck डिस्क को त्रुटियों के लिए जाँचता है
sync डिस्क कैश फ्लश करता है
बैकअप तथा रिमोट भंडार
mt टेप ड्राइव नियंत्रित करता है
dump डिस्क बैकअप करता है
restore डम्प को रीस्टोर करता है
tar टेप अभिलेखों को पढ़ता/लिखता है
cdrecord सीडी बर्न करता है
rsync फ़ाइलों के सेट की अनुकृति बनाता है
छपाई
lpr फ़ाइलें छापता है
lpq छपाई कतार को दिखाता है
lprm छपाई के कार्यों को मिटाता है
वर्तनी जाँच कार्य
look वर्तनी देखता है
aspell वर्तनी इंटरेक्टिव जाँच करता है
spell बैच में वर्तनी जाँचता है
प्रोसेस
ps सभी प्रोसेस दिखाता है
w प्रयोक्ता के प्रोसेस दिखाता है
uptime तंत्र लोड दिखाता है
top प्रोसेस मॉनीटर करता है
xload तंत्र लोड मॉनीटर करता है
free मुक्त (फ्री) मेमोरी दिखाता है
kill प्रोसेस को बन्द करता है
nice प्रोसेस प्राथमिकता सेट करता है
renice प्रोसेस प्राथमिकता बदलता है
कार्य शेड्यूल करना
sleep कुछ समय के लिए इंतजार करता है
watch सेट किए गए अंतराल पर प्रोग्राम चलाता है
at किसी कार्य को शेड्यूल करता है
crontab बारंबार किए जाने वाले कार्य को शेड्यूल करता है
होस्ट
uname तंत्र जानकारी बताता है
hostname तंत्र के होस्टनाम को बताता है
ifconfig नेटवर्क जानकारी को दिखाता / सेट करता है
host डीएनएस ढूंढता है
whois डोमेन पंजीकरण ढूंढता है
ping जाँचता है कि क्या होस्ट उपलब्ध है
traceroute किसी होस्ट के लिए नेटवर्क पथ ट्रेस करता है
नेटवर्किंग
ssh रिमोट होस्ट से सुरक्षित लॉगइन करता है
telnet रिमोट होस्ट से लॉगइन करता है
scp फ़ाइलों को होस्ट के बीच सुरक्षित नक़ल करता है
sftp होस्ट के बीच फ़ाइलों को सुरक्षित नक़ल करता है
ftp होस्ट के बीच फ़ाइलों को नक़ल करता है
evolution ईमेल प्रोग्राम इवाल्यूशन चालू करता है
mutt पाठ आधारित ईमेल प्रोग्राम मट चालू करता है
mail छोटा सा ईमेल प्रोग्राम मेल चालू करता है
mozilla मोजिला वेब ब्राउजर चालू करता है
lynx सिर्फ़ पाठ वाला ब्राउजर लायनक्स चालू करता है
wget डिस्क में जाल पृष्ठों को डाउनलोड करता है
slrn यूजनेट समाचार दिखाता है
gaim इंस्टैंट मैसेजिंग प्रोग्राम गेम चालू करता है
talk लिनक्स/यूनिक्स चैट प्रोग्राम चालू करता है
write संदेश टर्मिनल में भेजता है
mesg लिखने की अनुमति रोकता है
ऑडियो तथा वीडियो
grip सीडी बजाता है तथा एमपी3 रिप करता है
xmms ऑडियो फ़ाइलें – एमपी3 बजाने का प्रोग्राम चालू करता है
cdparanoia ऑडियो रिप करता है
audacity ऑडियो फ़ाइलें संपादित करने का प्रोग्राम चालू करता है
xcdroast सीडी बर्न करता है
तंत्र उपयोग के कमांड
free यह तंत्र मेमोरी का उपयोग व उपलब्ध मेमोरी बताता है
clear यह कमांड टर्मिनल स्क्रीन का डिस्प्ले साफ कर देता है
echo यह कमांड इनपुट पाठ को स्क्रीन पर दिखाता है
टीप – टर्मिनल में किसी भी चल रहे प्रोग्राम या प्रोसेस से बाहर आने के लिए आमतौर पर प्राय: कंट्रोल+z का प्रयोग किया जाता है. यदा कदा एस्केप या कंट्रोल+q का भी प्रयोग होता है.
यदि आप विंडोज़ तंत्र के जीयूआई मोड में काम करने को अभ्यस्त हैं तो इन कमांडों को याद रखने की आवश्यकता आपको वैसे तो नहीं ही है, चूंकि आमतौर पर हर क़िस्म के आम कम्प्यूटिंग कार्य अब लिनक्स में भी जीयूआई के ज़रिए माउस क्लिकों के ज़रिए संभव हो गए हैं. फिर भी, इनके प्रयोग को न सिर्फ़ सीखना चाहिए, बल्कि इनमें महारत हासिल करना चाहिए क्योंकि लिनक्स जैसे ऑपरेटिंग सिस्टम की पूरी शक्ति इसके कमांड लाइन में है, जिसमें कार्यों को अत्यंत तीव्र गति से निष्पादित किया जा सकता है.
***************
पिछले अध्याय 5 से जारी…
COMMENTS