Wednesday, April 12, 2023

OS Notes in Hindi English Download Link

 OS Notes Download 

Unit1_OS_Hindi , Unit1_OS_English



Software and It's types - application, system and utility software सॉफ्टवेयर एवं उसके प्रकार

 Software is an important component of computer system. It is a collection of different programs which are used to perform a specific task. we can't touch or sense computer software because it runs inside hardware device. Software's and hardware's are Supplementary. it means we can't achieve one in the absence of another. 

सॉफ्टवेयर कंप्यूटर सिस्टम का एक महत्वपूर्ण घटक है। यह विभिन्न प्रोग्रामों का एक संग्रह है जो किसी विशिष्ट कार्य को करने के लिए उपयोग किए जाते हैं। हम कंप्यूटर सॉफ्टवेयर को न तो छू सकते हैं और न ही महसूस कर सकते हैं क्योंकि यह हार्डवेयर डिवाइस के अंदर चलता है। सॉफ्टवेयर और हार्डवेयर पूरक हैं। इसका अर्थ है कि हम एक के अभाव में दूसरे को प्राप्त नहीं कर सकते है। 









Software is categorized into three types-

1) Application Software

2) System Software

3) Utility Software.

सॉफ्टवेयर को तीन प्रकारों में वर्गीकृत किया गया है-

1) एप्लीकेशन सॉफ्टवेयर

2) सिस्टम सॉफ्टवेयर

3) यूटिलिटी सॉफ्टवेयर।

1) Application Software-  This type of software's are used to perform tasks given by the user. It is also called application software or User  Software or Apps. Application Software requests system software to access hardware devices of computer after that system software approves its request and then it can give input to hardware device and get output from it after processing.Absence of application software doesn't affect working of Computer System. Example- M.S.office, PDF reader, Computer games, audio-video players, image editors, social networking apps, tally, auto-cad etc.

एप्लीकेशन सॉफ्टवेयर- इस प्रकार के सॉफ्टवेयर का उपयोग उपयोगकर्ता द्वारा दिए गए कार्यों को करने के लिए किया जाता है। इसे एप्लीकेशन सॉफ्टवेयर या यूजर सॉफ्टवेयर या एप्स भी कहते हैं। एप्लिकेशन सॉफ़्टवेयर कंप्यूटर के हार्डवेयर उपकरणों तक पहुँचने के लिए सिस्टम सॉफ़्टवेयर का अनुरोध करता है, उसके बाद सिस्टम सॉफ़्टवेयर उसके अनुरोध को स्वीकार करता है और फिर यह हार्डवेयर डिवाइस को इनपुट दे सकता है और प्रसंस्करण के बाद इससे आउटपुट प्राप्त कर सकता है। एप्लिकेशन सॉफ़्टवेयर की अनुपस्थिति कंप्यूटर सिस्टम के काम को प्रभावित नहीं करती है।उदाहरण- एम.एस.ऑफिस, पीडीएफ रीडर, कंप्यूटर गेम, ऑडियो-वीडियो प्लेयर, इमेज एडिटर, सोशल नेटवर्किंग ऐप, टैली, ऑटोकैड आदि।

2) System Software-  This type of software's are used to control hardware devices of computer System. It is called  System software.  It has full control over computer hardware and they can approve or disapprove request of application software's for accessing a particular hardware device of computer. In absence of system software computer and its hardware devices doesn't work properly.Thus system software is must required for working of computer system. Example- Assembler, Compiler, Linker, loader, Interpreter, scheduler and operating system.

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

3) Utility Software- These are special type of application software which are useful for both computer system and it's users because it increases their performance. This are provided as complementary or by default apps with computer system.Example- Antivirus, memory cleaner, screen saver, themes, digital clock, calculator, notes etc.

यूटिलिटी सॉफ्टवेयर- ये एक विशेष प्रकार के एप्लीकेशन सॉफ्टवेयर होते हैं जो कंप्यूटर सिस्टम और इसके उपयोगकर्ताओं दोनों के लिए उपयोगी होते हैं क्योंकि यह उनके प्रदर्शन को बढ़ाता है। यह कंप्यूटर सिस्टम के साथ पूरक या डिफ़ॉल्ट ऐप्स के रूप में प्रदान किया जाता है।उदाहरण- एंटीवायरस, मेमोरी क्लीनर, स्क्रीन सेवर, थीम, डिजिटल क्लॉक, कैलकुलेटर, नोट्स आदि।



Multitasking OS मल्टीटास्किंग ऑपरेटिंग सिस्टम

 Multitasking O.S.(मल्टीटास्किंग ओएस)- 

A program in running state is called a task. In multitasking OS, two or more tasks are active together at same time. Due to which we can run many applications at same time and also provide resources to them.

रनिंग स्टेट में एक प्रोग्राम को टास्क कहा जाता है। मल्टीटास्किंग ओएस में, एक ही समय में दो या दो से अधिक टॉस्क एक साथ सक्रिय होते हैं। जिससे हम एक ही समय में कई एप्लीकेशन रन कर सकते हैं और उन्हें संसाधन भी प्रदान कर सकते हैं।





Multitasking is of following two types-

(i) Preemptive Multitasking

(ii) Co-operative Multitasking

मल्टीटास्किंग निम्नलिखित दो प्रकार की होती है-

(i) प्रीएमप्टिव मल्टीटास्किंग

(ii)को-ऑपरेटिव मल्टीटास्किंग

Advantages of Multitasking-

मल्टीटास्किंग के फायदे-

i) With the help of multi-tasking we can easily manage multiple users Simultaneously.

i) मल्टी-टास्किंग की मदद से हम एक साथ कई यूजर्स को आसानी से मैनेज कर सकते हैं।

(ii) Multitasking 0.S. strongly supports viritual memory concept.

(ii) मल्टीटास्किंग ओ.एस. वर्चुअल मेमोरी अवधारणा का दृढ़ता से समर्थन करता है।

(iii) Multitasking O.S. can provide faster results to its user.

(iii) मल्टीटास्किंग ओ.एस. अपने उपयोगकर्ता को तेजी से परिणाम प्रदान कर सकता है।

(iv) A multitasking O.S. provides better environment for background processes to run.

(iv) एक मल्टीटास्किंग ओ.एस. बैकग्राउंड प्रोसेस (पृष्ठभूमि प्रक्रियाओं) को चलाने के लिए बेहतर वातावरण प्रदान करता है।


Disadvantages of Multitasking-

मल्टीटास्किंग के नुकसान-

(i) Because of limited power of processor, the system may run programs slowly, thus it requires more processing power (number of  processors).

(i) प्रोसेसर की सीमित शक्ति के कारण, सिस्टम धीरे-धीरे प्रोग्राम चला सकता है, इस प्रकार इसे अधिक प्रोसेसिंग पावर (प्रोसेसर की संख्या) की आवश्यकता होती है।

(ii) Multitasking 0.S. needs high capacity RAM, by which  , by which it can load and process several programs.

(ii) मल्टीटास्किंग ओ.एस. को उच्च क्षमता वाली रैम की आवश्यकता होती है, जिसके द्वारा यह कई प्रोग्रामों को लोड और प्रोसेस कर सकता है।

iii) Since all the processors are busy in multitasking thus this type of C.P.U. generates more heat.

iii) चूँकि सभी प्रोसेसर मल्टीटास्किंग में व्यस्त होते हैं इसलिए इस प्रकार का C.P.U. अधिक ऊष्मा उत्पन्न करता है।




Operating System and its goals/objectives ऑपरेटिंग सिस्टम एवं उसके लक्ष्य/उद्देश्य

 Operating System is a system software. It is a collection of different programs which work between different users and computer hardware. It means, it is an interface between user and hardware of computer system. So that application programs can run on Computer in effective and convenient manner. OS is very important part of any computer system because it manages all the resources of computer like input-output devices, Ram-Rom, hard disc, microprocessors, network connection etc. 


ऑपरेटिंग सिस्टम एक सिस्टम सॉफ्टवेयर है। यह विभिन्न प्रोग्रामों का एक संग्रह है जो विभिन्न उपयोगकर्ताओं और कंप्यूटर हार्डवेयर के बीच कार्य करता है। अर्थात यह कंप्यूटर सिस्टम के यूजर और हार्डवेयर के बीच एक इंटरफेस है। जिससे एप्लीकेशन प्रोग्राम कंप्यूटर पर प्रभावी और सुविधाजनक तरीके से चल सकें। OS किसी भी कंप्यूटर सिस्टम का बहुत महत्वपूर्ण हिस्सा होता है क्योंकि यह कंप्यूटर के सभी संसाधनों जैसे इनपुट-आउटपुट डिवाइस, रैम-रोम, हार्ड डिस्क, माइक्रोप्रोसेसर, नेटवर्क कनेक्शन आदि का प्रबंधन करता है।

Computer system architecture is divided into four parts :-
1) Hardware devices
2) System software (Operating System)
3) Application software / User software / Utility software
4) Users

कंप्यूटर सिस्टम आर्किटेक्चर को चार भागों में बांटा गया है:-
1) हार्डवेयर उपकरण
2) सिस्टम सॉफ्टवेयर (ऑपरेटिंग सिस्टम)
3) एप्लीकेशन सॉफ्टवेयर / यूजर सॉफ्टवेयर / यूटिलिटी सॉफ्टवेयर
4) उपयोगकर्ता

Goals / Objectives of Operating System-

There are two main objective of OS 
1) Convenience- The primary goal of OS is to make computer system easier for its user. It means, OS provides a simple interface for communication between user and computer.

2) Efficiency- The secondary goal of OS is to allocate all the resources of system to various application programs as efficiently as possible, due to which application programs can provide desired output to it's users very fast and with accuracy.

ऑपरेटिंग सिस्टम के लक्ष्य/उद्देश्य-
OS के दो मुख्य उद्देश्य हैं
1) सुविधा- OS का प्राथमिक लक्ष्य अपने उपयोगकर्ता के लिए कंप्यूटर सिस्टम को आसान बनाना है। इसका अर्थ है, OS उपयोगकर्ता और कंप्यूटर के बीच संचार के लिए एक सरल इंटरफ़ेस प्रदान करता है।

2) क्षमता- OS का द्वितीयक लक्ष्य सिस्टम के सभी संसाधनों को, विभिन्न एप्लिकेशन प्रोग्रामों को यथासंभव कुशलता से आवंटित करना है, जिसके कारण एप्लिकेशन प्रोग्राम अपने उपयोगकर्ताओं को बहुत तेजी से और सटीकता के साथ वांछित आउटपुट प्रदान कर सकते हैं।

kde vs gnome (केडीई vs जीनोम ), gnome vs kde (जीनोम vs केडीई ) in hindi in english

  


Sr.No.

GNOME (जीनोम)

KDE (केडीई)

1

The full form of GNOME is GNU Network Object Model Environment. It is a desktop environment or a graphical user interface that runs on view level of a computer system.

GNOME का पूरा नाम GNU नेटवर्क ऑब्जेक्ट मॉडल एनवायरनमेंट है। यह एक डेस्कटॉप वातावरण या एक ग्राफिकल यूजर इंटरफेस है जो कंप्यूटर सिस्टम के व्यू लेवल पर रन होता है।

 

The full form of KDE is K-Desktop Environment. It is a desktop environment designed by the KDE Community for cross-platform applications run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS etc.

KDE का पूरा नाम के-डेस्कटॉप एनवायरनमेंट है। यह एक डेस्कटॉप वातावरण है जिसे केडीई समुदाय द्वारा लिनक्सफ्रीबीएसडीमाइक्रोसॉफ्ट विंडोजसोलारिस और मैक ओएस आदि पर रन किये जाने  वाले क्रॉस-प्लेटफॉर्म एप्लीकेशन के लिए डिजाइन किया गया है।

2

It is free and open source software.

यह फ्री और ओपन सोर्स सॉफ्टवेयर है।  

It is free and open source software.

यह फ्री और ओपन सोर्स सॉफ्टवेयर है। 

3

Motto- An intuitive and attractive desktop for users

आदर्श वाक्य- उपयोगकर्ताओं के लिए एक सहज और आकर्षक डेस्कटॉप

Motto- Experience Freedom!

आदर्श वाक्य- स्वतंत्रता का अनुभव करें! 

 

4

A top-to-bottom free desktop environment designed for simplicity, accessibility, and ease of internationalization and localization.

एक टॉप-टू-बॉटम मुक्त डेस्कटॉप वातावरण जो  सरलता,पहुँच और अंतर्राष्ट्रीयकरण और स्थानीयकरण में आसानी के लिए डिज़ाइन किया गया है।

A one-stop, integrated desktop environment; carrying out day-to-day tasks without reliance on command-line interface.

एक-स्टॉपएकीकृत डेस्कटॉप वातावरणकमांड-लाइन इंटरफेस पर निर्भर हुए बिना दिन-प्रतिदिन के कार्यों को पूरा करना। 

5

Introduced in 1999 by Miguel de Icaza and Federico Mena and Developed by The GNOME Project

1999 में मिगुएल डे इकाज़ा और फेडेरिको मेना द्वारा प्रस्तुत किया गया और जीनोम प्रोजेक्ट द्वारा विकसित किया गया

Introduced in 1996 by Matthias Ettrich and Developed by KDE Community

मैथियास एट्रिच द्वारा 1996 में प्रस्तुत किया गया और केडीई समुदाय द्वारा विकसित किया गया 

 

6

Minimum System Requirements   -

700 Mhz CPU, 768 MB RAM         

न्यूनतम सिस्टम आवश्यकताएँ-

700 मेगाहर्ट्ज सीपीयू, 768 एमबी रैम

Minimum System Requirements-

1 Ghz CPU, 615 MB RAM

न्यूनतम सिस्टम आवश्यकताएँ-

1 गीगाहर्ट्ज सीपीयू, 615 एमबी रैम 

7

Its Current Stable Release is         

3.10 (September 26, 2013)

इसका वर्तमान स्थिर संस्करण-

3.10 (26 सितंबर, 2013) है 

Its Current Stable Release is

4.11 (August 14, 2013)

इसका वर्तमान स्थिर संस्करण-

4.11 (अगस्त 14, 2013) है 

8

It uses GTK+ Toolkit

यह जीटीके+ टूलकिट का उपयोग करता है

It uses QT Toolkit

यह क्यूटी टूलकिट का उपयोग करता है 

9

Products - GTK Apps

उत्पाद - जीटीके ऐप्स

Products - KDE Software Compilation, Calligra Suite, KDevelop, Amarok, etc

उत्पाद - केडीई सॉफ्टवेयर संकलनकैलीग्रा सूटकेडेवलपअमरोक इत्यादि 

10 Reference:-                       

Website - GNOME.org   

Website- kde.org

Wikipedia- kde, gnome , diffen.com, GNOME.org , kde.org

vi Editor in Linux/Unix विआई एडिटर in English/Hindi

The vi editor is the most popular and commonly used Unix text editor software. It is available in all Linux Distributions. vi editor was developed by Bill joy in C language for ‎Unix like Operating systems in 1976. Vi is a user friendly and very powerful text editor. it is fully based on commands. It takes very less memory space so we can effectively perform any operation on text files in it.The improved version of vi editor is Vim (Vi improved).

vi एडिटर अत्यधिक प्रचलित एवं कार्य में आसान यूनिक्स टेक्स्ट एडिटर सॉफ्टवेयर है जो सभी लिनक्स डिस्ट्रीब्यूशन उपलब्ध होता है। इसे सन 1976 में बिल जॉय नामक इंजीनियर ने C लैंग्वेज में Unix जैसे ऑपरेटिंग सिस्टम्स  लिए निर्मित किया था। vi समझने में आसान एवं शक्तिशाली टेक्स्ट एडिटर है। vi एडिटर पूर्णतः commands  आधारित होता है । यह बहुत काम मात्रा में मेमोरी स्पेस ग्रहण करता है,जिसके फलस्वरूप इस एडिटर में टेक्स्ट फाइल्स पर ऑपरेशन प्रभावी ढंग से किये जा सकते है ।vi एडिटर का परिष्कृत वर्शन vim  (vi  इम्प्रूव्ड) है। 

To start The vi Editor , We need to write following command:-
vi एडिटर को प्रारंभ करने के लिए निम्नलिखित Command लिखी जाती हैं:-

Syntax प्रारूप :-
$vi  or  $vi filename

Here, filename is name of the file which we want to create or edit.
यहाँ Filename उस File का नाम है जिसे हम Create या Edit करना चाहते हैं ।











Modes of vi editor (vi एडिटर के मोड्स ):-

vi editor has following three modes:-
vi एडिटर में निम्नलिखित तीन मोड्स होते हैं:-

1) Command Mode (कमांड मोड ):-

The By default mode of vi editor is command mode. In this mode, we can write different commands to perform different operations just like Cut,Copy, Paste, Search  and Execute etc.
vi एडिटर का बाय डिफ़ॉल्ट मोड "कमांड मोड" होता हैं। इस मोड में कमांड्स लिखे जाते है जिनका उपयोग विशेष कार्यो को पूर्ण करने के लिए किया जाता है जैसे Cut,Copy, Paste, Search  एवं Execute इत्यादि। 

2) Input Mode (इनपुट मोड):-

To enter in Input mode we need to write letter 'i'. This mode is used to create edit and save text in files.  
इनपुट मोड में प्रवेश करने के लिए  'i' अक्षर लिखा जाता है। इस मोड की सहायता से हम टेक्स्ट को फाइल में लिख सकते हैं एवं उसमे परिवर्तन कर सकते है साथ ही फाइल को सेव कर सकते है।   

3) Ex Mode Or Last Line Mode (एक्स या लास्ट लाइन मोड):- 

The ex mode is an extension of command mode.To enter this mode we need to press 'Esc' key and then : (the colon prompt ),  It allows user to enter previous Ex commands. Unlike the command-line mode user won't return to normal mode automatically.
एक्स मोड कमांड मोड का एक्सटेंशन होता है इसमें प्रवेश करने हेतु 'Esc ' कुंजी को दबाया जाता है एवं कोलन (:)लिखा जाता है।  को पिछली कमांड का प्रयोग करने की अनुमति प्रदान करता है एवं कमांड मोड के विपरीत, यूजर स्वतः ही इस मोड से नार्मल मोड में नहीं जा सकता है। 

Some Important Linux Commands (लिनक्स कमांड्स) in hindi in english

 Linux Commands (लिनक्स कमांड्स) :- 

1. pwd command

the pwd command is use to find out the path of the current working directory (folder) in which we are working.

pwd कमांड का उपयोग उस वर्तमान वर्किंग डायरेक्टरी (फोल्डर) के पथ का पता लगाने के लिए किया जाता है जिसमें हम कार्य कर रहे हैं।

Example :- 

$pwd

/home/username.


2. cd command 

cd command is use to navigate through the Linux files and directories, use the cd command - Suppose you’re in /home/username/Documents and you want to go to Photos, a sub directory of Documents then type command- 

cd कमांड का उपयोग लिनक्स फाइलों और डायरेक्टरीओं के माध्यम से नेविगेट करने के लिए किया जाता है, सीडी कमांड का उपयोग निम्नानुसार करें- मान लीजिए कि आप /home/username/Documents में हैं और आप Photos पर जाना चाहते हैं, जो Documents की एक सबडायरेक्टरी है, तब कमांड टाइप करें-

Example:-

$cd Photos

$cd.. (directory up)

$cd   (home folder)

$cd-  (previous directory)


3. ls command 

The ls command is used to view the contents of present working directory. If you want to see the content of other directories, type ls and then the directory’s path. 

ls कमांड का उपयोग वर्तमान कार्य डायरेक्टरी की सामग्री को देखने के लिए किया जाता है। यदि आप अन्य डायरेक्टरीओं की सामग्री देखना चाहते हैं, तो ls टाइप करें और इसके पश्चात् डायरेक्टरी का पथ लिखें।

Example:- 

$ls

$ls-a /home/username/Documents 


There are some variations of the ls command-

ls कमांड के कुछ रूपांतर हैं-

ls -a In Linux, hidden files start with . (dot) symbol and they are not visible in the regular directory. The (ls -a) command will enlist the whole list of the current directory including the hidden files.

ls -a लिनक्स में, छिपी हुई फाइलें शुरू होती हैं। (डॉट) प्रतीक और वे नियमित निर्देशिका में दिखाई नहीं दे रहे हैं। (Ls -a) कमांड वर्तमान निर्देशिका की पूरी सूची को छिपी हुई फाइलों सहित सूचीबद्ध करेगा।

ls -l It will show the list in a long list format.

ls -l यह सूची को एक लंबी सूची प्रारूप में दिखाएगा।

ls -lh This command will show you the file sizes in human readable format. Size of the file is very difficult to read when displayed in terms of byte. The (ls -lh)command will give you the data in terms of Mb, Gb, Tb, etc.

ls -lh यह आदेश आपको मानव पठनीय प्रारूप में फ़ाइल आकार दिखाएगा। बाइट के संदर्भ में प्रदर्शित होने पर फ़ाइल का आकार पढ़ना बहुत कठिन होता है। (ls -lh)कमांड आपको एमबी, जीबी, टीबी, आदि के संदर्भ में डेटा देगा।

ls -lhS If you want to display your files in descending order (highest at the top) according to their size, then you can use (ls -lhS) command.

ls -lhS यदि आप अपनी फ़ाइलों को उनके आकार के अनुसार अवरोही क्रम (शीर्ष पर उच्चतम) में प्रदर्शित करना चाहते हैं, तो आप (ls -lhS) कमांड का उपयोग कर सकते हैं।

ls -l - -block-size=[SIZE] It is used to display the files in a specific size format. Here, in [SIZE] you can assign size according to your requirement.

s -l - -block-size=[SIZE] इसका उपयोग फाइलों को एक विशिष्ट आकार प्रारूप में प्रदर्शित करने के लिए किया जाता है। यहां [SIZE] में आप अपनी जरूरत के हिसाब से साइज असाइन कर सकते हैं।

ls -d */ It is used to display only sub-directories.

ls -d */ इसका उपयोग केवल सब-डायरेक्टरीओं को प्रदर्शित करने के लिए किया जाता है।

ls -g or ls -lG With this you can exclude column of group information and owner.

ls -g या ls -lG  इसके साथ आप समूह की जानकारी और स्वामी के कॉलम को बाहर कर सकते हैं।

ls -n It is used to print group ID and owner ID instead of their names.

ls -n इसका उपयोग ग्रुप आईडी और ओनर आईडी को उनके नाम के बजाय प्रिंट करने के लिए किया जाता है।

ls --color=[VALUE] This command is used to print list as colored or discolored.

ls --color=[VALUE] इस कमांड का उपयोग सूची को रंगीन या बदरंग के रूप में प्रिंट करने के लिए किया जाता है।

ls -li This command prints the index number if file is in the first column.

ls -li यदि फ़ाइल पहले कॉलम में है तो यह कमांड इंडेक्स नंबर प्रिंट करता है।

ls -p It is used to identify the directory easily by marking the directories with a slash (/) line sign.

ls -p इसका उपयोग डायरेक्टरी को स्लैश (/) लाइन साइन के साथ चिह्नित करके आसानी से डायरेक्टरी की पहचान करने के लिए किया जाता है।

ls -r It is used to print the list in reverse order.

ls -r इसका उपयोग सूची को उल्टे क्रम में प्रिंट करने के लिए किया जाता है।

ls -R It will display the content of the sub-directories also.

ls -R यह सब-डायरेक्टरीओं की सामग्री को भी प्रदर्शित करेगा।

ls -lX It will group the files with same extensions together in the list.

ls -lX यह सूची में समान एक्सटेंशन वाली फ़ाइलों को एक साथ समूहित करेगा।

ls -lt It will sort the list by displaying recently modified filed at top.

ls -lt यह शीर्ष पर हाल ही में संशोधित फ़ाइल प्रदर्शित करके सूची को सॉर्ट करेगा।

ls ~ It gives the contents of home directory.

ls ~ यह होम डायरेक्टरी की सामग्री देता है।

ls ../ It give the contents of parent directory.

ls ../ यह मूल डायरेक्टरी की सामग्री देता है।

ls --version It checks the version of ls command.

ls --version यह ls कमांड के संस्करण की जाँच करता है।


4. cat command

cat (short for concatenate) is used to list the contents of a file on the standard output (stdout). 

मानक आउटपुट (stdout) पर फ़ाइल की सामग्री को सूचीबद्ध करने के लिए कैट (संक्षिप्त) कमांड का उपयोग किया जाता है।

Example:-

$cat file.txt

Here are other uses of cat command:-

यहाँ कैट कमांड के अन्य उपयोग हैं: -

$cat > filename creates a new file

$cat > filename एक नई फ़ाइल बनाता है

$cat filename1 filename2>filename3 joins two files (1 and 2) in a new file (3)

$cat filename1 filename2>filename3 एक नई फ़ाइल (3) में दो फाइलों (1 और 2) को सम्मिलित करता है

to convert a file to upper or lower case use

फ़ाइल को अपरकेस या लोअर केस उपयोग में परिवर्तित करने के लिए, 

$cat filename | tr a-z A-Z >output.txt


5. cp command

We can use the cp command to copy files from the current directory to a different directory.

वर्तमान डायरेक्टरी से किसी भिन्न डायरेक्टरी में फ़ाइलों की प्रतिलिपि (कॉपी) तैयार करने के लिए cp कमांड का उपयोग किया जाता है।

Example:-

$cp scenery.jpg /home/username/Pictures 


6. mv command

The primary use of the mv command is to move files, although it can also be used to rename files.

mv कमांड का प्राथमिक उपयोग, फाइलों को स्थानांतरित करने के लिए किया जाता है, हालांकि इसका उपयोग फाइलों का नाम बदलने के लिए भी किया जा सकता है।

Example:-

$mv file.txt /home/username/Documents.

To rename files, the Linux command is -

फ़ाइलों का नाम बदलने के लिए, लिनक्स कमांड है-

$mv oldname.ext newname.ext


7. mkdir command

We can use mkdir command to make a new directory 

हम नई डायरेक्टरी बनाने के लिए mkdir कमांड का उपयोग कर सकते हैं

Example:- 

$mkdir Music

$mkdir Music/Newfile


8. rmdir command

If we need to delete a directory, use the rmdir command. However, rmdir only allows you to delete empty directories.

यदि हमे किसी डायरेक्टरी को हटाने की आवश्यकता है, तो rmdir कमांड का उपयोग किया जाता है। हालाँकि, rmdir आपको केवल खाली(रिक्त) डायरेक्टरीओं को हटाने की अनुमति देता है।

Example:- 

$rmdir Music


9. rm command 

The rm command is used to delete directories and the contents within them. If you only want to delete the directory as an alternative to rmdir use rm -r.

rm कमांड का उपयोग डायरेक्टरीओं और उनके भीतर की सामग्री को हटाने के लिए किया जाता है। यदि आप केवल rmdir के विकल्प के रूप में डायरेक्टरी को हटाना चाहते हैं तो rm -r का उपयोग करें।

Example:- 

$rm Music

$rm-r Music

10. grep command

grep command lets you search through all the text in a given file.

grep कमांड आपको दी गई फ़ाइल में सभी टेक्स्ट को खोजने की सुविधा देता है।

Example:-

$grep-w hanumaan ramayan.txt 

It will search for the word hanumaan in the ramayan file. Lines that contain the searched word will be displayed fully.

यह रामायण फ़ाइल में हनुमान शब्द की खोज करेगा। जिन पंक्तियों में खोजा गया शब्द है वे पूरी तरह से प्रदर्शित होंगी।

Options Description (विकल्प विवरण)

-c : This prints only a count of the lines that match a pattern

यह पैटर्न से मेल खाने वाली लाइनों की केवल एक गिनती प्रिंट करता है

-h : Display the matched lines, but do not display the filenames.

मिलान की गई पंक्तियों को प्रदर्शित करें, लेकिन फ़ाइल नामों को प्रदर्शित न करें।

-i : Ignores, case for matching

मिलान के लिए अपरकेस एवं लोअरकेस को इग्नोर करता है  

-l : Displays list of a filenames only.

केवल फ़ाइल नामों की सूची प्रदर्शित करता है।

-n : Display the matched lines and their line numbers.

मिलान की गई रेखाएँ और उनकी पंक्ति संख्याएँ प्रदर्शित करें।

-v : This prints out all the lines that do not matches the pattern

यह उन सभी पंक्तियों को प्रिंट करता है जो पैटर्न से मेल नहीं खाती हैं

-e exp : Specifies expression with this option. Can use multiple times.

इस विकल्प के साथ अभिव्यक्ति निर्दिष्ट करता है। कई बार इस्तेमाल कर सकते हैं।

-f file : Takes patterns from file, one per line.

प्रति पंक्ति एक, फ़ाइल से पैटर्न लेता है।

-E : Treats pattern as an extended regular expression (ERE)

पैटर्न को एक विस्तारित नियमित अभिव्यक्ति (ईआरई) के रूप में मानता है

-w : Match whole word

पूरे शब्द का मिलान करें

-o : Print only the matched parts of a matching line,with each such part on a separate output line.

मिलान रेखा के केवल मिलान किए गए हिस्सों को प्रिंट करें, ऐसे प्रत्येक भाग के साथ एक अलग आउटपुट लाइन पर।

 -A n : Prints searched line and nlines after the result.

परिणाम के बाद खोजी गई पंक्ति और n पंक्तियां प्रिंट करता है।

-B n : Prints searched line and n line before the result.

परिणाम से पहले खोजी गई पंक्ति और n पंक्तियां प्रिंट करता है।

-C n : Prints searched line and n lines after before the result.

परिणाम से पहले एवं बाद में खोजी गई लाइन और n पंक्तियां  प्रिंट करता है।


11. chmod command

chmod is another Linux command, used to change the read, write, and execute permissions of files and directories. 

chmod एक अन्य लिनक्स कमांड है, जिसका उपयोग फ़ाइलों और डायरेक्टरीओं की पढ़ने, लिखने और निष्पादन अनुमतियों को बदलने के लिए किया जाता है।

r    Permission to read the file.

r फ़ाइल पढ़ने की अनुमति।

w  Permission to write (or delete) the file.

w फ़ाइल लिखने (या हटाने) की अनुमति।

x   Permission to execute the file, or, in the case of a directory, search it.

x फ़ाइल को निष्पादित करने की अनुमति, या, निर्देशिका के मामले में, इसे खोजें।


Reference    Class      Description

u                  owner      file's owner 

(फ़ाइल का स्वामी)

g                   group      users who are members of the file's group 

(उपयोगकर्ता जो फ़ाइल के समूह के सदस्य हैं)

o                  others     users who are neither the file's owner nor members of the file's group

(उपयोगकर्ता जो न तो फाइल के मालिक हैं और न ही फाइल के समूह के सदस्य हैं)

a                      all       All three of the above, same as ugo

(उपरोक्त तीनों, ugo के समान)

Operator  Description

+         Adds the specified modes to the specified classes

निर्दिष्ट मोड को निर्दिष्ट वर्गों में जोड़ता है

-         Removes the specified modes from the specified classes

निर्दिष्ट वर्गों से निर्दिष्ट मोड को हटा देता है

=         The modes specified are to be made the exact modes for the specified classes

निर्दिष्ट मोड को निर्दिष्ट वर्गों के लिए सटीक मोड बनाया जाना है

The following table represents the digits and their permissions:

Digits Permissions

000 No permission कोई अनुमति नहीं

001 Execute permission अनुमति निष्पादित करें

010 Write permission अनुमति लिखें

011 Write and execute permissions अनुमतियाँ लिखें और निष्पादित करें

100 Read permission पढ़ने की अनुमति

101 Read and execute permissions अनुमतियाँ पढ़ें और निष्पादित करें

110 Read and write permissions पढ़ने और लिखने की अनुमति

111 Read, write, and execute permissions अनुमतियाँ पढ़ें, लिखें और निष्पादित करें

Syntax:-

chmod <options> <permissions> <file name> 

Example:-

$chmod -rw-rw-r--  sam  sam  newclient.c

777 - all can read/write/execute (full access). 


12. echo command

echo command in Linux is used to display line of text/string that are passed as an argument . This is a built in command that is mostly used in shell scripts and batch files to output status text to the screen or a file. 

लिनक्स में इको कमांड का उपयोग टेक्स्ट/स्ट्रिंग की लाइन प्रदर्शित करने के लिए किया जाता है जो एक तर्क के रूप में पारित किया जाता है। यह एक बिल्ट इन कमांड है जिसका उपयोग ज्यादातर शेल स्क्रिप्ट और बैच फाइल में स्क्रीन या फाइल में स्टेटस टेक्स्ट को आउटपुट करने के लिए किया जाता है।

Syntax-

echo [option] [string]

Example-

$echo "hello world"

output -  hello world


$ x=10

You can print the value of variable x by executing the command

आप कमांड चलाकर वेरिएबल x की वैल्यू प्रिंट कर सकते हैं

$echo The value of x is $x

Output- The value of x is 10


This command is also used to move some data into a file. 

इस कमांड का उपयोग डेटा को फाइल में ले जाने के लिए भी किया जाता है।

Example-

$echo Hello, my name is John >> name.txt


13. who

The who command gives the information about the users logged on to the system.

who कमांड सिस्टम में लॉग ऑन किए गए उपयोगकर्ताओं के बारे में जानकारी देता है।

The who command displays the following information for each user currently logged in to the system if no option is provided :

सिस्टम में वर्तमान में लॉग इन किए गए प्रत्येक उपयोगकर्ता के लिए who कमांड निम्नलिखित जानकारी प्रदर्शित करता है यदि इसके साथ कोई विकल्प प्रदान नहीं किया जाता है:-

1. Login name of the users  उपयोगकर्ताओं का लॉगिन नाम

2. Terminal line numbers टर्मिनल लाइन नंबर

3. Login time of the users in to system सिस्टम में उपयोगकर्ताओं का लॉगिन समय

4. Remote host name of the user उपयोगकर्ता का रिमोट होस्ट नाम

Syntax:-

$who [option] [filename]

Example:-

$who

13.1 ) who am i

This command displays the information about the current user only.

यह कमांड केवल वर्तमान उपयोगकर्ता के बारे में जानकारी प्रदर्शित करता है।

Example:-

$whoami


Linux File System (लिनक्स फाइल सिस्टम) , Directory Structure (डायरेक्टरी स्ट्रक्चर ) , Standard Directories (स्टैंडर्ड डायरेक्टरीज) in hindi in english

 Linux File System (लिनक्स फाइल सिस्टम)-

Linux OS has a tree-type hierarchical file system. In which a forward slash (/) representing the root node. Here, a file is represented by an inode which is the combination of an id number and file data like Its size, location, creation date, modification date,owner name, other permissions etc. There are many types of file like regular files, directories, special files, links, sockets, named pipes and block devices etc. A disc partition contains the set of all file types and it is called container. The file system is used to handle two major operations i.e.. storing files and accessing of files efficiently.

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

Types of file system( फाइल सिस्टम के प्रकार):- 

There are many types of Linux file systems i.e.. HPFS, FreeBSD, JFS, EXT2, EXT3,ReiserFS, EXT4, Fat32 and ExFAT etc. we can select one of them in our Linux computer as per our requirement.

लिनक्स फाइल सिस्टम कई प्रकार के होते हैं, जैसे HPFS, FreeBSD, JFS, EXT2, EXT3, ReiserFS, EXT4, Fat32 और ExFAT आदि। हम अपनी आवश्यकता के अनुसार अपने Linux कंप्यूटर में उनमें से एक का चयन कर सकते हैं।

Mounting and Unmounting The File System (फाइल सिस्टम को माउंटिंग और अनमाउंटिंग करना):-

Connecting the file system present on the device is called Mounting. We can use mount command to mounts a storage device or file system, making it accessible and attaching it to an existing directory structure. for example-

डिवाइस पर उपस्थित फाइल सिस्टम को कनेक्ट करना माउंटिंग कहलाता है। हम स्टोरेज डिवाइस या फाइल सिस्टम को माउंट करने के लिए mount कमांड का उपयोग कर सकते हैं एवं इसे एक्सेस करने योग्य बना सकते हैं और इसे तत्कालीन डायरेक्टरी स्ट्रक्चर से जोड़ सकते हैं। उदाहरण के लिए-

$mount /dev/sda3 /myfile

Disconnecting the file system present on the device is called Unmounting. We can use umount command to unmount a mounted file system.First of all, it informs the system to complete any pending read or write operations and then safely disconnecting it.

डिवाइस पर उपस्थित फाइल सिस्टम को डिस्कनेक्ट करना अनमाउंटिंग कहलाता है। माउंटेड फ़ाइल सिस्टम को अनमाउंट करने के लिए हम umount कमांड का उपयोग कर सकते हैं। सबसे पहले, यह सिस्टम को किसी भी लंबित पढ़ने या लिखने वाले ऑपरेशन को पूरा करने और फिर इसे सुरक्षित रूप से डिस्कनेक्ट करने के लिए सूचित करता है।

$umount

Directory Structure (डायरेक्टरी स्ट्रक्चर )-

Linux uses a hierarchical file system structure. It is a collection of files and directories that has the following properties −
लिनक्स एक हायरार्किकल फ़ाइल सिस्टम संरचना का उपयोग करता है यह फाइलों और डायरेक्टरीओं का एक संग्रह है जिसमें निम्नलिखित गुण होते हैं -

It has a root directory (/) that contains other files and directories.
इसकी एक रूट डायरेक्टरी (/) है जिसमें अन्य फाइलें और डायरेक्टरीयां हैं।

Each file or directory is uniquely identified by its name, the directory in which it resides, and a unique identifier, typically called an inode.
प्रत्येक फ़ाइल या डायरेक्टरी को विशिष्ट रूप से उसके नाम से पहचाना जाता है, वह डायरेक्टरी जिसमें वह रहता है, और एक विशिष्ट पहचानकर्ता, जिसे आईनोड कहा जाता है।

Generally, the root directory has an inode number of 2 and the lost+found directory has an inode number of 3. Inode numbers 0 and 1 are not used. File inode numbers can be seen by specifying the -i option to ls command.
सामान्यतः रूट डायरेक्टरी का आईनोड नंबर 2 होता है और लॉस्ट+फाउंड डायरेक्टरी का आईनोड नंबर 3 होता है। आईनोड नंबर 0 और 1 का उपयोग नहीं किया जाता है। फ़ाइल आईनोड संख्या को -i विकल्प को ls कमांड में निर्दिष्ट करके देखा जा सकता है।
It is self-contained. There are no dependencies between one file system and another.
यह स्वयं पूर्ण होता है। एक फाइल सिस्टम और दूसरे फाइल सिस्टम के बीच कोई निर्भरता नहीं है।

The directories have specific purposes and generally hold the same types of information for easily locating files. Following are the directories that exist on the major versions of Unix −
डायरेक्टरीओं के विशिष्ट उद्देश्य होते हैं और आम तौर पर फ़ाइलों को आसानी से ढूंढने के लिए समान प्रकार की जानकारी रखते हैं। निम्नलिखित निर्देशिकाएँ हैं जो यूनिक्स के प्रमुख संस्करणों पर मौजूद हैं -

Directory Name & It's Description (निर्देशिका का नाम और उसका विवरण) -

/ - This is the root directory which should contain only the directories needed at the top level of the file structure
यह मूल डायरेक्टरी है जिसमें केवल फ़ाइल संरचना के शीर्ष स्तर पर आवश्यक डायरेक्टरीयां  होनी चाहिए

/bin - This is where the executable files are located. These files are available to all users
यह वह जगह है जहाँ निष्पादन योग्य फ़ाइलें स्थित हैं। ये फ़ाइलें सभी उपयोगकर्ताओं के लिए उपलब्ध हैं
/dev - These are device drivers
ये डिवाइस ड्राइवर हैं

/etc - Supervisor directory commands, configuration files, disk configuration files, valid user lists, groups, Ethernet, hosts, where to send critical messages
पर्यवेक्षक डायरेक्टरी कमांड, कॉन्फ़िगरेशन फ़ाइलें, डिस्क कॉन्फ़िगरेशन फ़ाइलें, मान्य उपयोगकर्ता सूची, समूह, ईथरनेट, होस्ट, जहाँ महत्वपूर्ण संदेश भेजने हैं

/lib - Contains shared library files and sometimes other kernel-related files
साझा लाइब्रेरी फ़ाइलें और कभी-कभी अन्य कर्नेल-संबंधित फ़ाइलें शामिल होती हैं

/boot - Contains files for booting the system
सिस्टम को बूट करने के लिए फाइल रखता है
/home - Contains the home directory for users and other accounts
उपयोगकर्ताओं और अन्य खातों के लिए होम डायरेक्टरी शामिल है

/mnt - Used to mount other temporary file systems, such as cdrom and floppy for the CD-ROM drive and floppy diskette drive, respectively
अन्य अस्थायी फ़ाइल सिस्टम को आरोहित करने के लिए उपयोग किया जाता है, जैसे कि सीडी-रोम ड्राइव और फ्लॉपी डिस्केट ड्राइव के लिए क्रमशः सीडी-रोम  और फ्लॉपी

/proc - Contains all processes marked as a file by process number or other information that is dynamic to the system
प्रक्रिया संख्या या सिस्टम के लिए गतिशील अन्य जानकारी द्वारा फ़ाइल के रूप में चिह्नित सभी प्रक्रियाओं को समाहित करता है

/tmp - Holds temporary files used between system boots
सिस्टम बूट के बीच उपयोग की जाने वाली अस्थायी फ़ाइलों को रखता है
/usr - Used for miscellaneous purposes, and can be used by many users. Includes administrative commands, shared files, library files, and others
विविध उद्देश्यों के लिए उपयोग किया जाता है, और कई उपयोगकर्ताओं द्वारा उपयोग किया जा सकता है। व्यवस्थापकीय आदेश, साझा की गई फ़ाइलें, लाइब्रेरी फ़ाइलें और अन्य शामिल हैं

/var - Typically contains variable-length files such as log and print files and any other type of file that may contain a variable amount of data
आमतौर पर चर-लंबाई वाली फ़ाइलें जैसे लॉग और प्रिंट फ़ाइलें और किसी अन्य प्रकार की फ़ाइल जिसमें डेटा की एक चर राशि हो सकती है

/sbin - Contains binary (executable) files, usually for system administration. For example, fdisk and if config utilities
आमतौर पर सिस्टम प्रशासन के लिए बाइनरी (निष्पादन योग्य) फाइलें होती हैं। उदाहरण के लिए, fdisk और if config उपयोगिताएँ

/kernel - Contains kernel files
कर्नेल फ़ाइलें शामिल हैं



Linux Structure and Architecture लिनक्स की संरचना in english in hindi

 Generally Linux architecture consists of following 5 components-

सामान्यतः लिनक्स आर्किटेक्चर में निम्नलिखित 5 घटक होते हैं-

the Kernel, System Libraries, System Utilities Programs, Hardware Layer, and Shell.
कर्नेल, सिस्टम लाइब्रेरी, सिस्टम यूटिलिटी प्रोग्राम, हार्डवेयर लेयर और शेल।

Kernel:- The kernel performs all primary functions of the operating system. It is also called Heart of computer system and it works 24*7 inside computer. It is responsible for communication between the user and hardware.When the user gives a command, that command first goes to the shell, the shell converts that command into machine language and sends it to the kernel and in the end the kernel hardware is turned on.
कर्नेल:- कर्नेल, ऑपरेटिंग सिस्टम के सभी प्राथमिक कार्यों को पूर्ण करता है। इसे कंप्यूटर सिस्टम का ह्रदय भी कहा जाता है और यह कंप्यूटर के अंदर 24*7 काम करता रहता है।यह यूजर एवं हार्डवेयर के मध्य संवाद के लिए उत्तरदायी होता है। जब यूजर कोई कमांड देता है तब वह कमांड सबसे पहले शैल में जाता है , शैल उस कमांड को मशीनी भाषा में परिवर्तित कर कर्नेल को भेजता है एवं अंत में कर्नेल हार्डवेयर को प्रारंभ करता है।  

System Libraries:- These are collection of pre-compiled blocks of code that perform special functions. It doesn’t require any access rights from kernel modules. Instead of writing new code, we can reuse these library functions throughout a program.
सिस्टम लाइब्रेरी:- ये पूर्व में कंपाइल किये गए प्रोग्राम कोड का संग्रह है जो विशेष कार्य को पूर्ण करते हैं और कर्नेल मॉड्यूल से इन्हें अधिकार प्राप्त करने की आवश्यकता नहीं होती है। नया कोड लिखने के स्थान पर हम अपने पूरे प्रोग्राम में लाइब्रेरी फ़ंक्शंस का कई बार उपयोग कर सकते हैं।

System Utilities Programs:- These programs perform specialized and individual functions within Linux. These are operating system tools like disk and registry cleaners, temporary files deleters, duplicate file locators, disk space analysis, disk defragmenters, software and process managers, fonts, drivers, partitions, startup and boot managers etc. 
सिस्टम यूटिलिटीज प्रोग्राम:- ये प्रोग्राम लिनक्स के भीतर विशेष और व्यक्तिगत कार्य करते हैं। ये डिस्क और रजिस्ट्री क्लीनर, अस्थायी फाइल डिलीटर, डुप्लीकेट फाइल लोकेटर, डिस्क स्पेस एनालिसिस, डिस्क डीफ्रैग्मेंटर्स, सॉफ्टवेयर और प्रोसेस मैनेजर, फोंट, ड्राइवर, पार्टीशन, स्टार्टअप और बूट मैनेजर आदि की भांति ऑपरेटिंग सिस्टम टूल होते हैं।

Hardware Layer:- This layer refers to CPU, HDD, and RAM etc peripheral devices present in Linux environment. Hardware device requires Kernel's permission  to communicate with users.
हार्डवेयर लेयर:- यह लेयर सीपीयू, एचडीडी और रैम जैसे लिनक्स वातावरण में परिधीय उपकरणों को संदर्भित करती है। हार्डवेयर को उपयोगकर्ताओं के साथ संवाद करने के लिए कर्नेल की अनुमति की आवश्यकता होती है।

Shell:- The shell is an interface between the kernel and the user. It interprets the user’s commands and sends them to the OS to perform them. The shell is the Linux command line interpreter. For example, if a user enters ls then the shell executes the ls command.
शेल:- शेल, कर्नेल और उपयोगकर्ता के बीच एक इंटरफ़ेस के रूप में कार्य करता है। यह यूजर की कमांड्स की व्याख्या करता है एवं उन्हें एक्सीक्यूट करने के लिए ओएस को भेजता है। शेल लिनक्स कमांड लाइन दुभाषिया है। उदाहरण के लिए, यदि कोई उपयोगकर्ता ls टाइप करता है तब शेल ls कमांड को एक्सीक्यूट करता है।

There are a number of shells available to a Linux user, these are:-
लिनक्स उपयोगकर्ता के लिए कई शेल उपलब्ध हैं जो निम्न है:- 

sh - This is known as the Borne Shell and is the original shell
sh - इसे बोर्न शेल के रूप में जाना जाता है और यह मूल शेल है

csh, tcsh - These are well-known and widely used derivatives of the Borne shell
csh, tcsh - ये बोर्न शेल के प्रसिद्ध और व्यापक रूप से उपयोग किए जाने वाले डेरिवेटिव हैं

ksh - The popular Korn shell
ksh - लोकप्रिय कोर्न शेल

bash - The Borne Again Shell is the most popular shell used for Linux and developed by GNU
बैश - द बोर्न अगेन शेल लिनक्स के लिए इस्तेमाल किया जाने वाला और जीएनयू द्वारा विकसित सबसे लोकप्रिय शेल है।


Characteristics / Advantages of Linux लिनक्स के गुण या विशेषताए in hindi in english

 Characteristics / Advantages of Linux (लिनक्स की विशेषताएं या लाभ):- 

Some important characteristics / advantages of Linux OS are:-

Linux OS की कुछ महत्वपूर्ण विशेषताएं/लाभ इस प्रकार हैं:-

1. Open Source (खुला स्रोत) -

Linux is an open source operating system i.e. its source code is easily available for everyone and Anyone who is capable of coding can contribute, modify, enhance and distribute the code to anyone or institution and for any purpose.

लिनक्स एक ओपन सोर्स ऑपरेटिंग सिस्टम है अर्थात इसका सोर्स कोड सभी के लिए आसानी से उपलब्ध है एवं कोई भी व्यक्ति जो कोडिंग में सक्षम हो, किसी भी अन्य व्यक्ति या संस्थान को और किसी भी उद्देश्य के लिए कोड में योगदान, संशोधन, वृद्धि और वितरण कर सकता है।

2. Security (सुरक्षा) -

Linux is more secure in comparison to other operating systems such as Windows. Every program in Linux needs authorization from the admin in the form of a password. Thus, There is no need of any additional anti-virus program in Linux.

लिनक्स अन्य ऑपरेटिंग सिस्टम जैसे विंडोज की तुलना में अधिक सुरक्षित है। लिनक्स में प्रत्येक प्रोग्राम को, पासवर्ड के रूप में एडमिन से सत्यापन की आवश्यकता होती है। अतः लिनक्स में किसी अतिरिक्त एंटी-वायरस प्रोग्राम की आवश्यकता नहीं है।

3. Software Updates (सॉफ्टवेयर अपडेट) -

In Linux, we have a larger number of software updates facility. These software updates are much faster than updates in any other operating system and can be easily applied on system without facing any major problem.

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

4. Customization (अनुकूलन) -

Customization feature gives a major advantage over other operating systems. In Linux, We can customize any feature, add or delete any feature according to our need as it is an open source operating system. In addition, we can install wallpapers, icon themes etc to give an attractive look to our system.

कस्टमाईजेशन, एक सुविधा है जो अन्य ऑपरेटिंग सिस्टम से अधिक लाभदायक है। लिनक्स में हम अपनी आवश्यकता के अनुसार किसी भी फीचर को कस्टमाइज कर सकते हैं, किसी भी फीचर को जोड़ या हटा सकते हैं क्योंकि यह एक ओपन सोर्स ऑपरेटिंग सिस्टम है। इतना ही नहीं, हम सिस्टम को आकर्षक स्वरुप देने के लिए विभिन्न वॉलपेपर, आइकन थीम इत्यादि इंस्टॉल कर सकते हैं।

5. Run multiple desktops (एक से अधिक डेस्कटॉप रन करना) -

Linux provides various desktop environments. While installing Linux we can choose any desktop environment such as KDE (K Desktop Environment) or GNOME (GNU Network Object Model Environment) etc.

लिनक्स विभिन्न डेस्कटॉप वातावरण प्रदान करता है। Linux स्थापित करते समय हम अपनी इच्छा के अनुसार कोई भी डेस्कटॉप वातावरण चुन सकते हैं जैसे KDE (K डेस्कटॉप एनवायरनमेंट ) या GNOME (GNU नेटवर्क ऑब्जेक्ट मॉडल एनवायरनमेंट) इत्यादि।

6. Various Distributions (विभिन्न वितरण) -

There are many distributions available of Linux called distros. which provides various choices (flavors) to their users. Some distros of Linux are Fedora, Ubuntu, Arch Linux, Debian and Linux Mint etc.

लिनक्स के कई वितरण उपलब्ध हैं जिन्हें डिस्ट्रोज़ कहा जाता है। यह उपयोगकर्ताओं को विभिन्न विकल्प प्रदान करता है। लिनक्स के कुछ महत्वपूर्ण डिस्ट्रोज़ Fedora, Ubuntu, Arch Linux, Debian और Linux Mint इत्यादि हैं। 

7. Privacy (गोपनीयता)

Linux ensures the privacy of user’s data as it never collects much data from the user while using its distributions.

लिनक्स उपयोगकर्ता के डेटा की गोपनीयता सुनिश्चित करता है क्योंकि यह अपने वितरण का उपयोग करते समय कभी भी उपयोगकर्ता से अधिक डेटा एकत्र नहीं करता है।

8. Free to use or Low Cost (नि: शुल्क उपयोग या कम लागत) -

Linux is freely available on the web to use. We do not need to buy the license for it as Linux and many of its software come with GNU General Public License. whereas we need to spend a huge amount to buy the license of Windows or other OS.

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

9. Large Community Support (वृहद सामुदायिक समर्थन) -

Linux Forums are made on the web by excited users and dedicated programmers to help and solve the problem which is facing by any other user. 

उत्साहित उपयोगकर्ताओं एवं समर्पित प्रोग्रामरों द्वारा लिनक्स फ़ोरम, वेब पर बनाए जाते हैं जो किसी अन्य उपयोगकर्ता की समस्या को हल करने में हर सम्भव सहायता प्रदान करते है।

10. Reliability (विश्वसनीयता) -

Linux provides high stability. it means, it does not need to be rebooted after a short period of time. We can work for long time without any disturbance on our Linux. whereas in windows, we need to reboot our system after installing or uninstalling an application or updating our software.

लिनक्स, उच्च स्थिरता प्रदान करता है अर्थात इसे थोड़े समय के बाद पुनः रिबूट करने की आवश्यकता नहीं होती है। हम अपने लिनक्स सिस्टम पर बिना किसी बाधा के लम्बे समय तक कार्य कर सकते हैं। जबकि विंडोज़ में किसी एप्लिकेशन को इंस्टॉल या अनइंस्टॉल करने या अपने सॉफ़्टवेयर को अपडेट करने के बाद हमे अपने सिस्टम को रिबूट करने की आवश्यकता होती है। 

11. Performance (प्रदर्शन) -

Linux provides high performance on various networks and workstations. It allows a large number of users to work simultaneously and handles them efficiently.

लिनक्स विभिन्न नेटवर्क और वर्कस्टेशन पर उच्च प्रदर्शन प्रदान करता है। यह बड़ी संख्या में उपयोगकर्ताओं को एक साथ कार्य करने की अनुमति प्रदान करता है और उन्हें कुशलता से संभालता है।

Linux Introduction लिनक्स , Types of Linux लिनक्स के प्रकार in English / Hindi

Linux is an entire family of open-source Unix operating systems, that are based on the Linux Kernel. This includes all of the most popular Linux based systems like Ubuntu, Fedora, Mint, Debian etc. Linux is an Operating system which controls all the activities of computer. Linux is just like other Operating systems MS Dos, MAC OS and Windows etc. Linux is multi user and Graphics User Interface based Operating system. Linux, computer operating system created in the early 1990s by Finnish software engineer Linus Torvalds and the Free Software Foundation (FSF). Torvalds started developing Linux to create a system similar to MINIX, a UNIX operating system developed by Andrew S. Tanenbaum when he was a student at the University of Helsinki. Linux was first released in 1991, it was very popular OS due to its open-source nature. It uses an interface (shell) that gives you access to the operating system’s services. 

Linux, ओपन सोर्स Unix आपरेटिंग सिस्टम की एक फॅमिली है, जो Linux कर्नेल पर आधारित होती है। इसमें सभी प्रचलित Linux कर्नेल पर आधारित सिस्टम जैसे  Ubuntu, Fedora, Mint, Debian इत्यादि को सम्मिलित किया गया है। लिनक्स एक ऑपरेटिंग सिस्टम है जो कम्प्यूटर के समस्त कार्याें पर नियंत्रण रखता है। Linux अन्य ऑपरेटिंग  सिस्टम जैसे MS Dos, MAC OS तथा Windows इत्यादि की तरह ही कार्य करता है। Linux एक मल्टी यूजर एवं ग्राफ़िक्स पर आधारित ऑपरेटिंग सिस्टम है। लिनक्स, कंप्यूटर ऑपरेटिंग सिस्टम 1990 के दशक की शुरुआत में फिनिश सॉफ्टवेयर इंजीनियर लिनुस टॉर्वाल्ड्स और फ्री सॉफ्टवेयर फाउंडेशन (FSF) द्वारा बनाया गया था। टोरवाल्ड्स ने यूनिक्स ऑपरेटिंग सिस्टम मिनिक्स जिसे एंड्रू एस. टेनेंबुम ने विकसित किया था, के समान एक प्रणाली बनाने के लिए, लिनक्स विकसित करना शुरू कर दिया था जब वे हेलसिंकी विश्वविद्यालय में एक छात्र के रूप में पढाई कर रहे थे। लिनक्स को सर्वप्रथम 1991 में प्रस्तावित किया गया था एवं ओपन सोर्स प्रकृति का होने के कारण इसे बहुत पसंद किया गया। यह एक इंटरफ़ेस (शैल) प्रयुक्त करता है जो ऑपरेटिंग सिस्टम की सभी सुविधाओं को एक्सेस कर सकता है।   

Types of Linux (लिनक्स के प्रकार):-

रेडहैट लिनक्स (Redhat Linux)
उबुन्टु लिनक्स (Ubuntu Linux)
फेडोरा लिनक्स (Fedora Linux)
डेबियन लिनक्स (Debian Linux)
सुसे लिनक्स (Suse Linux)
आर्क लिनक्स (Arch Linux)
मंजरो लिनक्स (Manjaro Linux)
जोरींन लिनक्स (Zorin Linux) etc. 

context switching (कॉन्टेक्स्ट स्विचिंग ) with diagram in english / hindi

Context switching is a special technique in which CPU switches from one process/thread to another. When any high priority process arrives in ready queue and needs CPU for its execution then a context switch stores state of current process/thread and switches CPU to new process.
कॉन्टेक्स्ट स्विचिंग एक विशेष प्रकार की युक्ति है जिसमे CPU एक प्रोसेस या थ्रेड से दूसरी प्रोसेस या थ्रेड पर सीधे स्थानांतरित (स्विच) हो सकता है। जब कोई उच्च प्राथमिकता वाली प्रोसेस रेडी क्यू में प्रवेश करती है एवं एक्सेक्यूशन हेतु CPU की मांग करती है तब कॉन्टेक्स्ट स्विच द्वारा वर्तमान में रन की जा रही प्रोसेस की स्टेट को स्टोर किया जाता है एवं CPU उच्च प्राथमिकता वाली प्रोसेस को एक्सेक्यूट करने हेतु प्रदान किया जाता है।

Now CPU executes new high priority process.After completion of high priority process, context switch again restores current process state and resume execution of it. context switching is an essential feature of a multitasking operating system.
अब CPU नई उच्च प्राथमिकता वाली प्रोसेस को एक्सेक्यूट करता है जब प्रोसेस का एक्सेक्यूशन पूर्ण हो जाता है तब कॉन्टेक्स्ट स्विच पिछली प्रोसेस की स्टेट को रिस्टोर कर देता है जिससे उसका एक्सेक्यूशन पुनः प्रारम्भ हो जाता है। कॉन्टेक्स्ट स्विचिंग, मल्टीटास्किंग ऑपरेटिंग सिस्टम का अनिवार्य अवयव होता है।

Context Switching is very useful in multitasking environment or interrupt handling or switching between user and kernel mode but it also increases overhead because of TLB flushing.
कॉन्टेक्स्ट स्विचिंग मल्टीटास्किंग वातावरण में, इंटरप्ट हैंडलिंग में एवं यूजर मोड व् कर्नेल मोड के मध्य कण्ट्रोल स्थानांतरित करने में अत्यधिक उपयोगी होता है।


Important Steps of Context Switching (कॉन्टेक्स्ट स्विचन के महत्वपूर्ण चरण):-

1.) Save the context of the current running process and update PCB.
सर्वप्रथम वर्तमान में रन हो रही प्रोसेस के कॉन्टेक्स्ट को सुरक्षित किया जाता है एवं PCB को अपडेट किया जाता है।

2.) Shift the PCB of the above process into the ready queue or IO queue etc.
अब इस PCB को रेडी क्यू या IO क्यू में स्थानांतरित किया जाता है।

3.) Now CPU Selects a new high priority process for execution and update the PCB of it. (Running state and MMU)
अब नई उच्च प्राथमिकता वाली प्रोसेस को CPU द्वारा चुना एवं रन किया जाता है PCB अपडेट किया जाता है जैसे (रनिंग स्टेट एवं MMU)

4.) After Completion of high priority process, restore the context of previous process i.e..PCB
उच्च प्राथमिकता वाली प्रोसेस के रन हो जाने के पश्चात् पुनः पिछली प्रोसेस के कॉन्टेक्स्ट को रिस्टोर किया जाता है। (PCB)