“Linux” एक open-source ऑपरेटिंग सिस्टम है, जो कंप्यूटर और उपयोगकर्ता के बीच एक इंटरफ़ेस की तरह काम करता है। इसका आविष्कार 1991 में Linus Torvalds ने किया था।
“Linux” open-source ऑपरेटिंग सिस्टम होता है, जिसका मतलब है कि इसका उपयोग कोई भी मुफ्त में कर सकता है और इसे संशोधित भी किया जा सकता है। विपरीत Windows एक closed-source ऑपरेटिंग सिस्टम होता है, जिसे केवल कंपनियाँ संशोधित कर सकती हैं। “Linux” में हम अपनी सुविधाओं के अनुसार बदलाव कर सकते हैं।
“Linux” को प्रारंभ में केवल व्यक्तिगत कंप्यूटर के लिए डिज़ाइन किया गया था, लेकिन बाद में इसका इस्तेमाल server, mainframe computer, और supercomputer में भी होने लगा। “Linux” का उपयोग राऊटर, कार, टेलीविजन (TV), स्मार्ट वॉच, और वीडियो गेम कंसोल में भी किया जाता है। आजकल, “Android” में भी “Linux Kernel” का उपयोग होता है।
“Linux” का उपयोग स्मार्ट वॉच से लेकर सुपरकंप्यूटर तक में होने वाले एक सबसे तेजी से विकसित होने वाले ऑपरेटिंग सिस्टम का उदाहरण है। इसके अलावा यह हार्डवेयर और सॉफ्टवेयर के बीच संचार (communication) करने में मदद करता है।
Structure of Linux
1. Kernel (कर्नेल)
- Kernel लिनक्स ऑपरेटिंग सिस्टम का सबसे मुख्य हिस्सा है। यह Linux के दिल की तरह है क्योंकि इसके द्वारा ही सभी प्रमुख कामों को किया जाता है।
- Kernel सॉफ्टवेयर और हार्डवेयर के बीच कम्युनिकेशन करने में मदद करता है। इसके साथ-साथ यह सॉफ्टवेयर और हार्डवेयर के बीच इंटरफ़ेस की तरह कार्य करता है।
- एक सिस्टम में केवल एक ही kernel होता है।
Kernel के कार्य
- कंप्यूटर सिस्टम में बहुत सारे डिवाइस connect (जुड़े) होते है। जैसे- CPU,, साउंड कार्ड, और ग्राफिक्स कार्ड आदि Kernel इन सभी devices को मैनेज करता है।
- Kernel का इस्तेमाल सिस्टम की मैमोरी को मैनेज करने के लिए भी किया जाता है।
- Kernel यह सुनिश्चित करता है की CPU सही तरीके से process को execute कर रहा है या नहीं।
- यह processes को schedule करता है।
- यह फ़ाइल सिस्टम को मैनेज करता है।
2. System Library (सिस्टम लाइब्रेरी)
- System library एक विशेष प्रोग्राम है जिसका प्रयोग ऑपरेटिंग सिस्टम की कार्यक्षमता को implement करने के लिए किया जाता है।
- Programmers ने kernel से communicate करने के लिए system library बनाई है। लिनक्स की सबसे ज्यादा प्रयोग की जाने वाली सिस्टम लाइब्रेरी है – Glibc (GNU C library).
3. Shell
- Shell एक कमांड इंटरप्रेटर है जो कि यूजर और ऑपरेटिंग सिस्टम के मध्य interactive और non-interactive इंटरफ़ेस प्रदान करता है।
- Shell कमांड को read करता है तथा प्रोग्राम को execute करने के लिए request को send करता है. इसलिए इसको command interpreter भी कहते है.
- Shell के द्वारा हम अपने commands, program और script को run करते हैं।
4. Hardware (हार्डवेयर)
हार्डवेयर के अंदर वह सभी भाग (parts) आ जाते है जिनके द्वारा कंप्यूटर सिस्टम कार्य करता है. अर्थात इसमें सभी peripheral device आ जाती है जैसे:- RAM, ROM, HARD DISK DRIVE, CPU, PRINTER आदि.
5. Utilities
Utility एक प्रोग्राम होता है जो user को ऑपरेटिंग सिस्टम की अधिक से अधिक कार्यक्षमता (functionality) प्रदान करता है।
Linux की विशेषताएँ
- मैमोरी मैनेजमेंट – लिनक्स मैमोरी को मैनेज करता है, यह primary memory की पूरी जानकारी रखता है और देखता है कि मैमोरी के कौन से भाग का use किस प्रोग्राम ने किया है. जब भी कोई प्रोग्राम request करता है तो उसे मैमोरी allocate करता है.
- प्रोसेसर मैनेजमेंट – यह प्रोग्राम को प्रोसेसर (CPU) allocate करता है और जब किसी प्रोग्राम को CPU की जरुरत खत्म हो जाती है तो इसे deallocate भी करता है.
- डिवाइस मैनेजमेंट – लिनक्स सभी devices की जानकारी रखता है. तथा लिनक्स यह भी निर्णय लेता है कि किस program को कौन सी डिवाइस दी जाएँ, कब दी जाएँ तथा कितने समय के लिए दी जाएँ.
Linux के लाभ
1. Open-Source (ओपन–सोर्स)
Linux का सबसे बड़ा फायदा यह है कि यह एक open source ऑपरेटिंग सिस्टम है जिसके कारण इसका source code सबके लिए आसानी से उपलब्ध हो जाता है।
इस ऑपरेटिंग सिस्टम को आसानी से modify भी किया जा सकता है।
2. Free (मुफ्त)
Linux का एक और फायदा यह है कि कोई भी यूजर इसको आसानी से free में डाउनलोड करके इस्तेमाल कर सकता है। लगभग सभी Linux free होते है। यानी यूजर को इसका इस्तेमाल करने के लिए पैसे खर्च नहीं करने पड़ते।
3. Security (सुरक्षा)
Linux की security दूसरे ऑपरेटिंग सिस्टम की तुलना में बहुत ही बेतहर होती है क्योकि इसमें यूजर को access करने के लिए login id और पासवर्ड की जरूरत पड़ती है।
इसके अलावा Linux को सिक्योरिटी के लिए किसी antivirus की ज़रूरत नहीं पड़ती।
4. Lightweight (हल्का)
Linux OS काफी lightweight होता है। यानी कि इस ऑपरेटिंग सिस्टम का size बहुत कम होता है।
इसको कंप्यूटर में चलाने के लिए बहुत ज्यादा features की ज़रूरत नहीं पड़ती और इसको चलाने के लिए कंप्यूटर को ज्यादा मेमोरी स्पेस की भी ज़रूरत नहीं पड़ती।
5. Stability (स्थिरता)
Linux दुसरे ऑपरेटिंग सिस्टम की तुलना में स्थिर (stable) होते है। अर्थात इसको चलाने के लिए कंप्यूटर सिस्टम को बार बार reboot करने की ज़रूरत नहीं पड़ती।
6. Performance (प्रदर्शन)
Linux की performance दुसरे ऑपरेटिंग सिस्टम की तुलना में बहुत अच्छी होती है। इसमें एक समय में बहुत सारे लोग एक साथ काम कर सकते हैं और यह hang भी नही होता।
7. Flexibility
यह ऑपरेटिंग सिस्टम बहुत ज्यादा flexible होता है। इसका प्रयोग embedded system और server application के लिए भी किया जा सकता है।
8. Software Update (सॉफ्टवेयर अपडेट) –
Linux में, किसी भी सॉफ्टवेयर को तेजी से और आसानी से update किया जा सकता है।
9. Graphical user interface (ग्राफिकल यूजर इंटरफ़ेस) –
लिनक्स एक command पर आधारित ऑपरेटिंग सिस्टम है परंतु यह windows की तरह interactive यूजर इंटरफ़ेस प्रदान करता है।
10. यह सभी प्रोग्रामिंग लैंग्वेज को सपोर्ट करता है जैसे कि- C, C++, Java, Python, और Ruby आदि।
11. इसको install करना आसान होता है।
12. इसमें user का डेटा private रहता है।
13. यह एक समय में कई सारें tasks (कार्यों) को पूरा करता है।
Linux के नुकसान
1. Linux ऑपरेटिंग सिस्टम को सीखना आसान नहीं होता। Windows को इस्तेमाल करने वाले यूजर इसे आसानी से नहीं सिख सकते।
2. इसमें high quality के games को चलाने में दिक्कत होती है।
3. window और MAC की तुलना में इसका technical support अच्छा नहीं है। क्योकि लिनक्स में किसी भी प्रकार का customer support नही दिया जाता। जिसके कारण Linux सिस्टम में user समस्याओ के समाधान के लिए कस्टमर से बात नहीं कर सकता।
4. इसमें bugs और errors को ढूंढना बहुत मुश्किल होता है।
5. Hibernation सभी ऑपरेटिंग सिस्टम में एक अच्छी सुविधा मानी जाती है। Hibernation किसी काम को करने में तेजी लाता है। जिसके कारण यूजर का समय बच जाता है। लेकिन Linux में यह सुविधा उपलब्ध नहीं है।
6. Linux की सबसे बड़ी समस्या है यह है कि मार्किट में इसके share सीमित मात्रा में है। जिसके कारण Windows और Mac को Linux में port नहीं किया जा सकता।
Linux Commands
नीचे आपको Linux Commands की पूरी लिस्ट दी गयी हैं:-
1 pwd command
इस कमांड का इस्तेमाल working directory की लोकेशन को डिस्प्ले करने के लिए किया जाता है।
pwd
2 mkdir Command
इस कमांड का उपयोग किसी भी directory के अंदर एक नई directory बनाने के लिए किया जाता है।
mkdir <directory name>
3 rmdir Command
इस कमांड के द्वारा हम directory को डिलीट कर सकते हैं.
rmdir <directory name>
4 ls Command
इस कमांड का प्रयोग directory के content को डिस्प्ले करने के लिए किया जाता है।
Is
5 cd Command
इस कमांड का इस्तेमाल वर्तमान directory को बदलने के लिए किया जाता है.
cd <directory name>
6 touch Command
इस कमांड का प्रयोग empty files को create करने के लिए किया जाता है।
touch <file name> touch <file1> <file2> ….
7 cat Command
इस कमांड का उपयोग फाइल बनाने , फाइल में मौजूद कंटेंट को डिस्प्ले करने , और फाइल के कंटेंट को कॉपी करने के लिए किया जाता है।
cat [OPTION]… [FILE]..
8 rm Command
इस कमांड का इस्तेमाल फाइल्स को remove करने के लिए किया जाता है।
rm <file name>
9 cp Command
इस कमांड का इस्तेमाल file और directory को कॉपी करने के लिए किया जाता है।
cp <existing file name> <new file name>
10 mv Command
इसका उपयोग किसी फाइल या डायरेक्टरी को एक स्थान से दुसरे स्थान में ले जाने के लिए किया जाता है।
mv <file name> <directory path>
11 rename Command
इसका इस्तेमाल फाइल का नाम बदलने के लिए किया जाता है।
rename ‘s/old-name/new-name/’ files
12 head Command
इसका इस्तेमाल एक फ़ाइल कंटेंट को डिस्प्ले करने के लिए किया जाता है।
head <file name>
13 tail Command
यह कमांड भी head कमांड की तरह होती है. परन्तु इसका इस्तेमाल error message को डिस्प्ले करने के लिए किया जाता है।
tail <file name>
14 tac Command
यह कमांड फ़ाइल के content को reverse order (उल्टे क्रम) में डिस्प्ले करता है।
tac <file name>
15 more command
यह कमांड cat command की तरह होता है जिसका इस्तेमाल फाइल के कंटेंट को display करने के लिए किया जाता है।
more <file name>
16 less Command
यह more command की तरह होता है जिसमे कुछ extra features शामिल होते है।
less <file name>
17 su Command
यह कमांड यूजर को Linux shell तक पहुंचने का access प्रदान करता है।
su <user name>
18 id Command
इस कमांड का प्रयोग user ID (UID) और group ID (GID) को डिस्प्ले करने के लिए किया जाता है।
id
19 useradd Command
इसका प्रयोग किसी यूजर को Linux server पर add और remove करने के लिए किया जाता है।
useradd username
20 passwd Command
इसका उपयोग यूजर के लिए पासवर्ड बनाने और बदलने (change) करने के लिए किया जाता है।
passwd <username>
21 groupadd Command
इसका उपयोग group बनाने के लिए किया जाता है।
groupadd <group name>
22 cut Command
इस कमांड का उपयोग किसी फाइल के column को select करने के लिए किया जाता है।
cut -d(delimiter) -f(columnNumber) <fileName>
23 grep Command
इस कमांड का उपयोग एक file में content को search करने के लिए किया जाता है.
command | grep <searchWord>
24 comm Command
इस कमांड का उपयोग दो फाइलों की आपस में तुलना करने के लिए किया जाता है।
comm <file1> <file2>
25 sed command
sed command को stream editor के नाम से भी जाना जाता है। इस कमांड का उपयोग फाइलों को edit करने के लिए किया जाता है।
command | sed ‘s/<oldWord>/<newWord>/’
26 tee command
यह एक प्रकार का फ़िल्टर है जिसका इस्तेमाल standard input से read करने और standard output में print करने के लिए किया जाता है.
cat <fileName> | tee <newFile>| cat or tac |…..
27 tr Command
इसका उपयोग फाइलों को lower case और upper case में translate करने के लिए किया जाता है।
command | tr <‘old’> <‘new’>
28 uniq Command
इस कमांड का उपयोग सूचि (list) बनाने के लिए किया जाता है।
command <fileName> | uniq
29 wc Command
इसका इस्तेमाल files में मौजूद lines, words, और characters की गणना करने के लिए किया जाता है।
wc <file name>
30 od Command
इसका इस्तेमाल फाइल के कंटेंट को hexadecimal, octal, और ASCII characters में display करने के लिए किया जाता है।
od -b <fileName> // Octal format od -t x1 <fileName> // Hexa decimal format od -c <fileName> // ASCII character format
31 sort Command
इस कमांड का उपयोग फाइल को alphabetical order में arrange (क्रमबद्ध) करने के लिए किया जाता है।
sort <file name>
32 gzip Command
इसका उपयोग फाइल के साइज को छोटा करने के लिए किया जाता है।
gzip <file1> <file2> <file3>…
33 gunzip Command
इस कमांड का उपयोग फाइल को decompress करने के लिए किया जाता है।
gunzip <file1> <file2> <file3>. .
34 find Command
इस कमांड का उपयोग directory में किसी ख़ास फाइल को खोजने के लिए किया जाता है।
find . -name “*.pdf”
35 locate Command
इस कमांड का उपयोग file name से फाइलों को खोजने के लिए किया जाता है।
locate <file name>
36 date Command
date command का उपयोग date, time और time zone, को डिस्प्ले करने के लिए किया जाता है।
date
37 cal Command
इस कमांड का उपयोग वर्तमान month के calendar को display करने के लिए किया जाता है।
cal<
38 sleep Command
इसका इस्तेमाल terminal को hold करने के लिए किया जाता है।
sleep <time>
39 time Command
इस कमांड का उपयोग कमांड को execute करते वक़्त टाइम को डिस्प्ले करने के लिए किया जाता है।
time
40 zcat Command
इस कमांड का उपयोग compressed files को डिस्प्ले करने के लिए किया जाता है।
zcat <file name>
41 df Command
इस कमांड का उपयोग फाइल सिस्टम में disk space को डिस्प्ले करने के लिए किया जाता है।
df
42 mount Command
इस का उपयोग बाहरी file system को file system से कनेक्ट करने के लिए किया जाता है।
mount -t type <device> <directory>
43 exit Command
इसका इस्तेमाल वर्तमान shell से बाहर निकलने के लिए किया जाता है।
exit
44 clear Command
इस कमांड का उपयोग terminal screen को साफ़ (clear) करने के लिए किया जाता है।
clear
45 ip Command
यह कमांड ipconfig command का updated वर्शन है। इस कमांड का उपयोग IP address को assign करने , interface को initialize करने और interface को disable करने के लिए किया जाता है।
ip a or ip addr
46 ssh Command
यह कमांड ssh protocol के माध्यम से remote connection का निर्माण करता है।
ssh user_name@host (IP/Domain_name)</p>
47 mail Command
इसका उपयोग कमांड लाइन से email भेजने के लिए किया जाता है।
mail -s “Subject” <recipient address>
48 ping Command
इसका उपयोग दो nodes के बिच की connectivity की जांच करने के लिए किया जाता है।
ping <destination>
49 host Command
इस कमांड का उपयोगdomainname के IP address को डिस्प्ले करने के लिए किया जाता है।
host <domain name> or <ip address>
