Rust Tutorial #4 - Data Types Rust Programming Tutorial: Primitive Data Types This blog post summarizes the key concepts of primitive data types in Rust, as covered in a video tutorial. We'll explore scalar and compound types, along with their subtypes and practical examples. Scalar Types Scalar types represent a single value. Rust is statically-typed, meaning you must explicitly or implicitly define the type of a variable. Integers Signed Integers: Represent both positive and negative numbers. Examples include i8 , i16 , i32 , i64 , and i128 , indicating the number of bits used for storage. i32 is the default integer type. Unsigned Integers: Represent only non-negative numbers. Examples include u8 , u16 , u32 , u64 , and u128 . Type Bits Range i8 8 -128 to 127 u8 8 0 to 255 i32 32 -2,147,483,648 to 2,147,483,647 u32 32 0 to 4,294,967,295 i64 64 -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 u64 64 0 to 18,446,744,073,709,551,615 Example: let x: i32 = 2; // Explicitly defining an i32 integer. Floating-Point Numbers f32 (single-precision) and f64 (double-precision) are used to represent numbers with decimal components. f64 is the default. Example: let y: f32 = 10.9; Booleans Represents true or false values. Example: let z = false; Characters Represents a single Unicode character. Example: let c = 'a'; Compound Types Compound types can group multiple values together. Tuples Ordered, fixed-size collections of values of potentially different types. Example: let tup: (i32, f64, u8) = (500, 6.4, 1); Access elements using indexing: tup.0 , tup.1 , tup.2 . To modify a tuple, use the mut keyword. Arrays Ordered collections of values of the same type. Example: let arr = [1, 2, 3, 4, 5]; Access elements using indexing, similar to tuples. Arrays have a fixed size. Type Safety and Implicit Conversions Rust's type system helps prevent errors by enforcing type compatibility. Implicit conversions between types are limited; explicit conversion might be necessary. Be mindful of type mismatches to avoid runtime errors. Summary This tutorial covered the fundamental data types in Rust: integers, floating-point numbers, booleans, characters, tuples, and arrays. Understanding these types is crucial for writing correct and efficient Rust code. Remember to pay close attention to type declarations and potential type conversion issues to avoid common errors. as I was saying, we have primitive data types. Now these are the most basic data types. We can kind of use them without having to do anything special. And that's really what the primitive data types are just the most basic ones in a language. So that's what we're going to look at here. Now Rust has two categories of primitive data types. We have a scalar type and then we have a compound. or the types kind of fall into the categories of scalar and compound. Now scalar simply means a single value, so something like an integer, something like a Boolean if you're familiar with data types. Whereas compound means multiple values. So here we actually have an array and we have a tuple which we're going to look at in a minute. for now though, let's look at the scalar data types and how we use those in Rus. So as we know Russ is a statically typed language, that means it's very important for us to understand what type our variables are and we can implicitly have the type decided or we can explicitly define it. when we Notes from https://rust-book.cs.brown.edu/ch03-02-data-types.html Data Types - The Rust Programming Language Rust Data Types: A Comprehensive Overview These notes summarize key concepts from Chapter 3.2 ("Data Types") of The Rust Programming Language . We'll explore various data types, their usage, and potential pitfalls. 1. Type Annotations and Errors Rust is a statically-typed language, meaning you must specify the type of a variable. Forgetting to do so leads to compilation errors. Example: The code let guess: u32 = "42".parse().expect("Not a number!"); correctly annotates guess as an unsigned 32-bit integer ( u32 ). Omitting : u32 results in a compiler error ( E0284 ). The compiler needs to know the type to perform type checking at compile time. 2. Integer Types Rust offers various integer types, differing in size and signedness. Type Size (bits) Signed? Range i8 8 Yes -128 to 127 i16 16 Yes -32,768 to 32,767 i32 32 Yes -2,147,483,648 to 2,147,483,647 i64 64 Yes -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 i128 128 Yes (Very large range) u8 8 No 0 to 255 u16 16 No 0 to 65,535 u32 32 No 0 to 4,294,967,295 u64 64 No (Very large range) u128 128 No (Very large range) usize System dependent No Size of a memory address isize System dependent Yes Size of a memory address Integer Literals: You can specify integer literals using various suffixes (e.g., 57u8 , -2i32 ). See Table 3-2 in the original document for a complete list. Integer Overflow: Attempting to store a value larger than the type's capacity leads to overflow . Rust handles this in different ways depending on the build mode (debug mode panics, release mode wraps around). 3. Floating-Point Numbers Rust supports two floating-point types: f32 : Single-precision floating-point number (32 bits) . f64 : Double-precision floating-point number (64 bits) . This is the default type for floating-point numbers. Example: let x = 2.0; // f64 let y: f32 = 3.0; // f32 4. Basic Arithmetic Operations Rust supports standard arithmetic operations: + (addition) - (subtraction) * (multiplication) / (division) % (remainder) 5. Booleans The bool type represents boolean values: true false Example: let t = true; let f: bool = false; 6. Characters The char type represents a Unicode scalar value . Example: let c = 'z'; let z: char = 'ℤ'; let heart_eyed_cat = '😻'; 7. Tuples Tuples are immutable collections of values of different types. Example: let tup: (i32, f64, u8) = (500, 6.4, 1); Accessing elements: let (x, y, z) = tup; or let five_hundred = x.0; 8. Arrays Arrays are fixed-size collections of values of the same type . Example: let a = [1, 2, 3, 4, 5]; let a: [i32; 5] = [1, 2, 3, 4, 5]; (explicit type and size) let a = [3; 5]; creates an array of five 3s . Accessing elements: let first = a[0]; Remember that indexing starts at 0 . Out-of-bounds access: Attempting to access an element outside the array's bounds leads to a panic (program crash). Key Takeaways Rust's type system enhances safety and performance. Understanding different data types is crucial for writing correct and efficient Rust code. Pay close attention to integer overflow and array bounds to prevent runtime errors. Use appropriate types for your data to avoid unexpected behavior. could show you but i think that's fine for right now uh one thing to note is that i can't add elements to the tuple right so if i try to do something like add a 10 here this isn't going to work i'm going to get an error because i'm trying to change the type of the tuple and i can't do that because the type only contains three elements so i can't add four okay that's it for that though let's quickly move on to arrays and then i'll wrap up the video by mentioning strings to you and then we'll move on to user input in the next one so to create an array i'll do something like let arr and then this can be equal to something like one, two, three, four, five. Now arrays have to have the same element inside of them. So in this case they're all going to be into 32 by default. And if I want to get index access here, I can do this similarly to the tuples. But this time we're going to use square brackets and I could do something like ar 0. that would reference 1. if I do a r4 that would reference 5 so on and so forth. Now just like our tuples, an arrays type is defined by the type of elements as well as the number of elements in the array. So unlike other languages, I can't actually add elements into this array, I would need to make a new array with a new type, uh, that has more kind of allocation or more space for different elements Here I'm only able to have five elements in this array and they all have to be of the type int 32.. now let's see if I can change this. Doing something ar4 is equal to three, And then we might as well print this out. So print line and we'll do our formatter here And then arr at four. let's give this a test. So clear and run. And notice we get a problem here. It says we cannot assign because this is not mutable. So just like the top line, we need to change this to be mutable. Now if I go back here and run this, everything is fine. And we're printing out three because we assign that to the last element. Now let's have a look at how we explicitly define the type. To do that here with our array, we would go colon and then the type is going to be square brackets, the type in your array. so in this case, i32 and then a semicolon followed by the number of elements exactly that you have in your array. So in this case we have five. So if I run this now let's go here and run and notice that it works fine. Uh, we get what we need. Now let's just have a look at what happens here if we do something like this. So we define an array without actually initializing the values. So we're saying the type is i32, we're going to have exactly five elements. Let's see what happens if we try to access the last element here by running this and notice we get a problem here. It says use of possibly uninitialized ARR. So unlike in other languages where you just get values automatically initialized in your array that does not occur here, you do need to manually initialize it. And if I try to do something like, make this equal to an empty array, we should get another compile time error here, saying that we can't assign an empty array to an array of type i32 with five elements. Okay, I know I went through a lot here. this video was actually a lot longer than I was expecting it to be. But I wanted to thoroughly walk you through all of the different data types here, the primitive data types, and show you how they work in rust. Hopefully, this gave you a general idea of what these data types are, how to use them, what values correspond with which data types. I did spend a lot of time again, because this is very important, you need to understand the types before we move any further. Now, I will quickly show you that you have to be careful here with your types. So if I do something like let x and I make this U8 and this is equal to a four, let's see what happens if I try to say let y uh equal x. Okay, so let's just ये सारी हैं। ठीक है? ये हमारी हिडन फाइल्स हैं। कंट्रोल एनm डॉट वर्जन ओके ठीक है। ओके। ठीक है। वीडियोस पे काम कर देते हैं। ओके। मैं अभी कुछ टाइम वेट करूं। ओके? जल्दी से वीडियो आ रही होगी। एंड यहां पे अगर हमें मतलब किसी दूसरे इस पे जाना है तो हमें सीरी एंड यहां पे मैं पास लिखता हूं। अगर हमें रीडायरेक्ट करना है। जैसे हमारे पास है टोटल ये हमारे पास टोटल यहां पे फोल्डर्स हैं। अगर हमें किसी दूसरे फोल्डर पे जाना है। मतलब यहां पे अपने टर्मिनल में दूसरे फोल्डर को ओपन करना है तो हम यहां से सीडी डाउनलोड्स। ठीक है? हम डाउनलोड्स के अंदर चले जाएंगे। एंड अब अगर हम एलएस करें तो हमारे पास जितने भी डाउनलोड के अंदर चीज़ हैं वो सभी हमारे लिए कुछ इस तरीके से आ रहे होंगे। एंड ओके कंट्रोल एल ये हमने देख लिया। अब हमारे पास है अगर हमें बैक लेना है मतलब एक अप वन स्टेप अप जाना है तो आप देख सकते हैं वन स्टेप अप उसके लिए हम सीडी इस तरीके से कर सकते हैं। की जरूरत हो तो बताना एक घंटा ठीक है। अभी तो नहीं है। ओके सीडी इस तरीके से आज का हमारा टर्मिनल एसेंशियल्स पर पहले हम बात कर रहे होंगे। इससे पहले हम बात कर चुके हैं व्हाट लinक्स एक्चुअली इज लinक्स फाइल सिस्टम जिसे हम बाद में एज अ नोट्स आपको प्रोवाइड कर रहे होंगे क्योंकि सारी चीज़ याद नहीं रहती। अभी हम स्टेज यही पे हैं जिसमें ये सारी चीज़ हमारे पास होंगे। एंड इनके हम एज़ अ नोट्स रख रहे होंगे ताकि जब भी किसी को जरूरत हो तो बाद में इन फ्यूचर तो डायरेक्टली नोट्स देख के उसे पता हो कि ठीक है? किस तरीके से क्या-क्या चीज़ करनी है। एंड ओके? एंड आज का हमारा टॉपिक है टर्मिनल एसेंशियल्स। ठीक है? चैप्टर थ्री। तो यहां पे आते हैं। लॉट्स ऑफ़ लक फॉर योर फैमिली एंड थैंक्स ब्रदर्स। ओके। तो यहां पे हमारे पास सीडी पाथ हम इस तरीके से मतलब अपने डायरेक्टरी चेंज कर सकते हैं। यहां से हम वन स्टेप अप ले सकते हैं। फॉर एग्जांपल अगर हम यहां पे हैं जैसे मैं डाउनलोड्स पे था। वन स्टेप अप हमें आना है। ठीक है? तो हम इस तरीके से थ्री कर सकते हैं। ओके? वन स्टेप अप क्या होगा? मतलब अगर आप खुद अपना फोल्डर स्ट्रक्चर देखो तो हमारे पास फोल्डर स्ट्रक्चर कुछ इस तरीके से रहता है। कुछ इस तरीके से हमारा फोल्डर स्ट्रक्चर रहता है। जैसे ये हमारा होम है यहां पे मतलब जो हमारा रूट है रूट बार। ठीक है? यहां पे फिर हमारा होम ईटीसी फोल्डर ये सारे फोल्डर हैं। तो जैसे फॉर एग्जांपल मैं यूजर के अंदर अभी हूं। ठीक है? यूजर जो हमारा फोल्डर है अगर मैं उस फोल्डर के अंदर हूं। तो वन स्टेप अप क्या होगा? अगर मैं बैक ले रहा हूं एंड इस फोल्डर को मतलब इस फोल्डर के अंदर आ रहा हूं। ठीक है? तो हमारा वन स्टेप अप होगा। ठीक है? ओके? तो इतना हमने देख लिया। एंड अब हमारे पास यहां पे होम डायरेक्टरी अगर हमें होम डायरेक्ट पे रीडायरेक्ट करना होता है तो हम कुछ इस तरीके से 3D एंड कुछ इस तरीके से इसे एंटर करेंगे तो आप होम डायरेक्टरी पे यहां पे आ जाओगे। ठीक है? आप देखोगे इसी तरीके से हम सीडी इस पे भी जा सकते हैं। तो आप देखिए अभी हम इस पे हम एंड सीडी अगर हम वन स्टेप अब सीडी आप यहां पे है तो हम होम डायरेक्ट पे आ जाएंगे। मुझे भूल गया क्या ब्रदर नहीं ऐसा नहीं है। ओके तो अब हम क्या कर रहे होंगे? होम डायरेक्टरी हमने देख लिया। कॉपी फाइल अगर हमें किसी फाइल को कॉपी करना है तो हम सीपी इस तरीके से कर सकते हैं। ओके? सो यहां पे आते हैं। फॉर एग्जांपल यहां पे हमारे पास एलएस करते हैं। एंड हमारे पास index.html है। ठीक है? इंडेक्स. कुछ कमांड्स हमने खुद से मतलब पर्सन ट्राई की थी। मतलब जो हमने इसे फर्स्ट टाइम लक्स के बारे में पढ़े कुछ कमांड्स हमने खुद से की थी जो चैट जैब ने हमें बताया था खुद से करना है। तो कैट के हेल्प से हम मतलब कंटेंट देख सकते हैं किसी भी फाइल के अंदर का। तो अगर मैं कैट इंडेक्स यहां पे देखूं तो हमारे पास ये कंटेंट आ जाएगा इसके अंदर क्या है? ठीक है? कुछ इस तरीके से है। तो अगर मैं यहां पे भी सीपी एp करूं मतलब पहले यहां से सीरी इंडेक्स ये हो सकता है। तो कंट्रोल एल नॉट डायरेक्टरी सेविंग इंडेक्स एचटीml हमें सिर्फ मुझे देखना है यहां पे होता क्या है। ठीक है? मिसिंग डेस्टिनेशन फाइल हेल्प ओके कंट्रोल एन करते हैं। डायरेक्टली मैं एक बार सीp ए लिखूं तो नो डायरेक्टली ठीक है। बेसिक ऑपरेशन सीपी सोर्स फाइल डेस्टिनेशन फाइल कॉपिंग अ फाइल टू अनदर फाइल मतलब अगर हमें किसी फाइल को किसी एक में कॉपी करना है तो हमें इस तरीके से सीपी का यूज़ कर सकते हैं। मतलब हमारी एक फाइल है सोर्स फाइल एंड किस में हमें इसे कॉपी करना है इस तरीके से। ठीक है? एंड दिस कमांड कॉपीज़ द कंटेंट ऑफ़ सोर्स फाइल टू डेस्टिनेशन फाइल। तो ये हमारा सोर्स फाइल को डेस्टिनेशन फाइल में कॉपी कर रहा होगा। इफ डेस्टिनेशन फाइल डोंट एकज़िस्ट इट क्रिएट्स। ठीक है? अगर हमारे पास ये फाइल एक्सिस्ट नहीं करती है तो हमारे लिए क्रिएट कर रहा होगा। एंड इट कंटेंट इट्स कंटेंट इज ओवर रिटन बाय सोर्स फाइल ओके एंड इसका जो कंटेंट वो सोर्स फाइल से ओवर रिटन ओके ठीक है अनलेस ऑप्शन लाइक जब तक हम इन ऑप्शन को यूज़ नहीं करते हैं ठीक है तो नॉर्मली हम यहां पे आके इसे यूज़ करते हैं ठीक है ओपन टर्मिनल एंड फॉर एग्जांपल कंट्रोल एल हमारे पास क्या है इंडेक्स एचtml हमारे पास आ अगर हम एलएस करें चाहते हो यहां पे हमारे पास इंडेक्स है एंड व्हाट यू कैन डू एलएस नो हम एक न्यू फोल्डर क्रिएट करते हैं टच टू क्रिएट अ न्यू फाइल वी हैव टू राइट टच एंड फाइल नेम ओके फाइल नेम विल बी सेकंड डॉट एचटीml ठीक है ओके कुछ इस तरीके से इसे नेम देते हैं एंड एंड अगर हम इसका कंटेंट देखें अभी कैट सेकंड इसके अंदर अभी कुछ भी नहीं है। कुछ इस तरीके से आप देख सकते हैं। हम चाहे तो इसे एडिट कर सकते हैं। लेकिन हम जो हमारी इंडेक्स का फाइल है हम चर्चे भी जैसे सीख रहे हैं सभी चीजें। ओके व्हाट वी विल डू जो हमारी इंडेक्स है इसे कॉपी करते हैं सेकंडl के अंदर क्योंकि इसके अंदर कंटेंट है। अगर हम यहां पे पैट फर्स्ट डॉट नहीं फर्स्ट नहीं इंडेक्स लिखें। एज़ यू कैन सी मतलब ये इसके अंदर कंटेंट है। हमें क्या करना है? इसको कॉपी करना है इंडेक्स. ओके वेट इसे कॉपी करते हैं सेकंड. के अंदर आप देखेंगे अब अगर मैं कैट सेकंड करूं तो आप देखिए इसके अंदर हमारा एक कंटेंट आ गया था जो सेकंड था तो इसके अंदर स्टार्ट में कुछ भी नहीं था। एंड यहीं पे अगर मैं कैट इंडेक्स करूं तो इसके अंदर आप देखोगे कुछ इस तरीके से कुछ भी चेंजेस नहीं है। ठीक है? सारी चीज़ हुई है। सर जो भी न्यू फाइल्स क्रिएट करेंगे या डिपेंड करता है आपने किस फोल्डर के अंदर उसे क्रिएट किया। जैसे हमारा ये होम पेज है। ठीक है? हमने होम पे क्रिएट किया है जो हमारा होम पेज है। ठीक है? आप अगर देखोगे यहां पे मैंने होम पेज क्रिएट किया है। वहीं पे अगर फॉर एग्जांपल सीडी डाउनलोड्स करता हूं। एंड डाउनलोड्स के अंदर मैं यहां पे क्रिएट करता सच मैं इसे नेम दूं डाउनलोड्स डॉट डाउनलोड्स. ठीक है? कुछ इस तरीके से हमने क्रिएट किया है। अब मैं अगर यहां पे ओपन करता हूं अपने फाइल्स एंड यहां पे जो हमारा होम पेज है होम के अंदर अगर मैं डाउनलोड्स में जाता हूं डाउनलोड्स में आप देखो हमारे लिए डाउनलोड्स यहां पे टॉप पे आ रही है जो क्रिएट हुई है। ठीक है? कुछ इस तरीके से आप क्रिएट कर सकते हो। इसी तरीके से अगर मैं होम पे आऊं तो जो दो फाइल हमने क्रिएट की इंडेक्स एंड सेकंड दोनों इसके अंदर है। तो टच कमांड हमारे लिए काम करती है। जब भी हमें कोई फाइल क्रिएट करनी है। एंड इन चीजों का यूज़ मतलब देखो बहुत ज्यादा हेल्प हमें कर रहे होंगे। एंड बहुत ज्यादा स्पीड अप में हम बहुत चीजें कर रहे होंगे बाद में जब हमें टर्मिनल रिलेटेड चीजें पता होती है क्योंकि खुद से किसी मतलब जाना इस तरीके से एंड न्यू फोल्डर जैसे हम अगर यहां पे ओपन करें फाइल्स या वीएस कोड अगर हम ओपन करते हैं ठीक है तो यहां पे हमारे पास कुछ इस तरीके से वीएस कोड है एंड क्लाइंट एंड सर्वर ठीक है मुझे क्या करना है यहां पे मैं टर्मिनल ओपन कर लेता हूं एंड इसे डिलीट करते हैं एक टर्मिनल को हम डिलीट करते हैं एक टर्मिनल पे काम करेंगे। ठीक है? कंट्रोल C कंट्रोल S ठीक है? हम क्लाइंट के अंदर हैं। इससे मैं CD कर लेता हूं। कंट्रोल S इस तरीके से हम वन स्टेप अप आ सकता है। मतलब बाय थ्रो के अंदर जो हमारा फोल्डर था क्लाइंट उसके अंदर हम पहले थे CD से अगर हम इस तरीके से बैक लेंगे तो हम वन स्टेप अप आ जाएंगे बाय थ्रो फोल्डर में। ठीक है? तो ठीक है। अभी हम बाय थ्रो फोल्डर में हैं। एंड मुझे क्या करना है? इस बाय Pro फोल्डर के अंदर मुझे एक फाइल क्रिएट करनी है। हमारे पास दो ऑप्शन है। या तो मैं डायरेक्टली यहां पे इंडेक्स. लिख सकता हूं। ठीक है? ठीक है? इस तरीके से एंटर कर सकता हूं। एक तो हमारे पास ये ऑप्शन है। अब मैं इसे डिलीट करता हूं यहां से डिलीट। ठीक है? अगेन मूव टू ड्रेस। एंड सेकंड हमारे पास क्या ऑप्शन है? मैं यहां पे डायरेक्टली यहां से लिखता हूं। मतलब बाय स्टोर के अंदर मैं यहां पे टच एंड डच.ml मतलब हमें कुछ इस तरीके से हम डायरेक्टली लिख सकते हैं। हमारे लिए यहां पे इंडेक्स. क्रिएट हो जाएगी। ठीक है? तो इस तरीके से हमारे लिए यूज़ में आ रहे होंगे। मेक डायरेक्टरी। अगर मुझे यहां पे एक डायरेक्टरी बनानी है। मतलब एक फोल्डर बनाना है। खुद मुझे फोल्डर बनाना है। सर्वर टू ठीक है मतलब कुछ इस तरीके से तो अब यहां पर हमारे सर्वर टू फोल्डर बन जाएगी इसी तरीके से अगर इसे डिलीट करना है तो हम यहां पे लिख रहे होंगे रिमूव सर्वर डॉट सर्वर टू ये था नहीं कैन रिमूव सर्वर टू इधर डायरेक्ट इस तरीके से नहीं आ रहा माइनस कुछ इस तरीके से मतलब मुझे याद नहीं आ रहा है फोल्डर के लिए क्या था ठीक है इसे कट करते हैं। एंड ओके या ओके वेट फोल्डर को डिलीट करने के लिए हमारे पास हाउ टू डिलीट डायरेक्टरी इन लinक्स और डायरेक्टरी इन लinक्स तो इसमें सिंपल क्या है? ओके आर एमडीआईआर। ठीक है? तो ये सिंपल है। अगर हमें डायरेक्टरी को डिलीट करना है तो हमें यहां पे लिखना होगा आर एम डीआईआर। अगर हमें डायरेक्ट जो डिलीट करना है सर्वर टू तो आप देखिए यहां से हमारे लिए डिलीट हो जाएगा। ठीक है? एंड इसी तरीके से अगर हमें फॉर एग्जांपल मैं यहां पे क्रिएट कर रहा हूं टच इंडेक्स. इस तरीके से हमारे पास क्रिएट हो जाएगी। एंड अगर मैं रिमूव करता हूं तो इस तरीके से हमारे डिलीट हो जाएगा। ठीक है? तो आप देखिए डिलीट भी हो गया। ठीक है? तो आयरन का यूज़ करके हम डिलीट कर सकते हैं। किसी भी फाइल को टच का यूज़ करके हम ये कर सकते हैं। ठीक है? ओके? सिंपल कंट्रोल एल कट दिस एंड यस इट्स वेरी इफेक्टिव थैंक यू यू आर वेलकम ब्रदर आई नो अबाउट लinक्स बट ओके वेट आई नो अबाउट लinक्स बट आई नेवर अंडरस्टैंड नीड व्हाट इज़ योर पर्पस टू लर्न पे ओके वेट देखो एज अ डेवलपर अगर आप कमांड के साथ फ़मिलियर होते हो कमांड लाइन से सारी चीज़ों के साथ तो मतलब ये आपको बहुत हेल्प कर रही होंगी। फर्स्ट एंड सेकंड Linux Windows जैसे मतलब आप उस पे अगर आप Windows में देखोगे तो हमें उतना मतलब ये नहीं होता है। हम कंट्रोल नहीं कर सकते हैं उसे। ठीक है? लेकिन जो Linux होता है उसे हम खुद से पूरा कंट्रोल कर सकते हैं। मतलब जिस तरीके से चाहते हैं उस वे में हम उसे क्या करना है? अब हम ओवराइट करते हैं। ठीक है? इससे हम क्या कर रहे थे अभी तक? अब ओवराइट करते हैं। एंड टेक्स्ट को चेंज करते हैं। या ओवराइट कर रहा होगा तो हम वन ग्रेटर साइन का यूज़ कर रहे हैं। जो ग्रेटर देन साइन है। अगर उसको एक बार यूज़ करें। एंड यहां पे कुछ लिखें ओवराइट टैग एंटर करें। अब अगर कैट करें तो आप देखोगे कि ये दोनों फाइल यहां से डिलीट दोनों लाइन यहां से डिलीट हो जाएंगी। ये हमारे लिए ओवराइट कर रहा है। ठीक है? सिंपल। तो इतना हमने देख लिया। तीनों हमने समझ लिया है। ये हमारे लिए मतलब ढूंढ के लाएगा सभी फाइल्स जिनमें Python है जो भी हम यहां पे इसके बाद लिख रहे होंगे। ठीक है? एंड ये हमारे लिए ओवराइट कर रहा होगा फर्स्ट स्टेप जहां पे हम वन ग्रेटर दैन साइन रख रहे हैं। ये हमारे अपेंड करेगा लास्ट में। ठीक है? ओके? तो सूडो एंड रूट सूडो क्या होता है? एग्जीक्यूट वि एडमिन पावर ओके रूट यूजर या फुल सिस्टम कंट्रोल डेंजरस इफ मिसयूज़्ड अगर मिसयूज़ किया गया तो हमारे लिए डेंजरस भी हो सकता है। ओके सो हमने कुछ इस तरीके से ऐप अपडेट एंड गोल्डन यूज़ सो ओनली व्हेन मॉडिफाइंग द सिस्टम नॉट फॉर डेली टास्क। जब भी हम अपने सिस्टम को मॉडिफाई कर रहे होंगे तो उस चीज़ के लिए हम इसे यूज़ कर रहे होंगे। तो यहां पर ओपन करते हैं इस तरह से हो जाएगा ऐप तो इसे यूज़ करने की जरूरत नहीं आई डोंट नो क्या पता स्विच हो जाए। ठीक है? सो नैनो तो इसको हम देखते हैं। ठीक है? यहां पे हमारे लिए जो हमारी ये है उसके अंदर हम चेंज कर रहे हैं। लेकिन मुझे चेंज नहीं करना है। मुझे कैट करना है एंड मतलब मुझे सिर्फ रीड करना है। ठीक है? स्लश etc प्लस होस्ट। ठीक है? यहां पे बताएगा ईजी डॉट होस्ट। ओके? तो डॉट नहीं लिखना था तो हमारे लिए पूरा कंटेंट यहां पे आ जाएगा जो भी हमने कर रखा है। तो यहां पे मैंने ब्लॉक कर रखे हैं कुछ मतलब जो Instagram एंड सारी चीज़ ताकि मैं किसी में ओपन ना करूं। ठीक है? इसलिए तो इसके अंदर आप मतलब किसी भी चीजों को ब्लॉक कर सकते हो। अगर आपको चाहिए कि आपकी इसमें वेबसाइट ओपन ना हो। लाइक Instagram, YouTube या कुछ भी। ठीक है? तो उस चीज़ के लिए आप इन्हें यूज़ कर सकते हो। एंड ओके। तो कंट्रोल C कंट्रोल L वैसे हम उसे अपडेट भी कर सकते हैं बट वो एक अलग स्टेप हो गया फिर अगर ठीक है यहां पे अपडेट हमारे लिए कर रहा होगा अगर यहां पे इसको अगर हमें अपडेट करना है ठीक है तो हमें कुछ इस तरीके से नैनो एंड प्लस H कुछ इस तरीके से कर सकते हैं एंड अनरइटेबल हमारे लिए कर रहा है मतलब हम यहां पे कुछ भी चेंजेस नहीं कर सकते हैं। तो कंट्रोल सी मैं कर रहा हूं। मतलब कंट्रोल एक्स एरर राइटिंग परमिशन डिनाइड तो यहां पे क्या हो रहा है? मतलब हम इसे एडिट नहीं कर पा रहे हैं। ओके? कंट्रोल x तो हम इसमें कुछ भी चेंजेस नहीं कर पाएंगे। ठीक है? अगर हमें चेंजेस करने हैं तो हमें मतलब एडमिन परमिशन चाहिए होगी। जिसके लिए हमें सूडो आगे लिखना होगा। ठीक है? तो कुछ इस तरीके से। ठीक है? तो इसलिए मैं पहले से इसके साथ यहां पे नो का हम यूज़ करेंगे। एंड कुछ इस तरीके से हम बाहर आ जाएगा। लेकिन अगर मैं इस तरीके से चाहूं लेट्स इजी होस्ट तो कुछ इस तरीके से हम अपडेट भी कर सकते हैं। यहां पे अगर है तो पहले हमसे पासवर्ड पूछेगा। हमें पासवर्ड यहां पे डालना है। बस आपके इसमें टर्मिनल में विज़िबल नहीं होगा कि आपने पासवर्ड डाला है। तो इस केस में कंफ्यूज नहीं होना है। आपको एक बार कंप्लीटली पूरा पासवर्ड लिख लेना है। एंटर करना है। हमारे लिए बता देंगे कमांड नॉट हॉट। ठीक है? तो यहां पे मैं नैनो करना है। साथ में इसके कुछ इस तरीके से हमारे लिए आ जाएगा। ठीक है? एक बार पासवर्ड पूछेगा। मेरे से उसने पासवर्ड पूछ लिया था। तो हम इसे अपडेट कर सकते हैं। रीड लाइंस एंड हम अपडेट भी कर सकते हैं अगर करना चाहें। ठीक है? तो अभी अपडेट करने की जरूरत है नहीं। एंड एग्जिट करते हैं यहां से। ठीक है? तो सोडो को हमने देख लिया किस तरीके से यूज़ करना है। मेनली इसे यूज़ करते हैं। जब हमें यूजर की परमिशन मतलब कहीं पे देनी होती है। एग्जीक्यूट विद एडमिन पावर। ठीक है? गोल्डन रोल्स यहां पे आपसे देख सकते हो। एंड यहां पर प्रोसेस मैनेजमेंट व्हेन एप्स हैंग और ईट CPU तो जब भी हमारा एप्स हैंग कर रहा है या इट्स सी CPU तो उस केस में हम क्या कर सकते हैं ले प्रोसेस ये हमारे प्रोसेस को लिस्ट कर रहा होगा लाइव सिस्टम मॉनिटर ये हमारे लाइव सिस्टम मॉनिटर कर रहा होगा ये किल अप प्रोसेस ओके कोर्स के लिए यहां पे ओ तो हमारे सारी आ जाएंगे। ठीक है? वेट हो गया। तो पीआईडी आपको हर एक चीज का पीआईडी यहां पर उसके सामने मिल रहा होगा। एंड आप किसी भी प्रोसेस को किल कर सकते हो। मतलब इस पीआईडी का यूज़ करके। ओके? जैसे फॉर एग्जांपल यहां पे क्या है? हमारे पास पे क्या हो जाएगा? प्रोसेस जो भी हमारे इसमें प्रोसेस चल रही है। अगर किसी को हमें लाइसेंस मॉनिटर पहले कर देते हैं कंट्रोल सी। ये तो हमने देख लिया किल अगर करना है। अगर किसी प्रोसेस को हमें किल करना है तो उसके लिए सिंपल कंट्रोल C कंट्रोल एल अगर किसी प्रोसेस को किल करना है उसके लिए सिंपल क्या है? हमें किल पीआईडी उसका लिखना होगा। एंड पीआईडी हमने अभी देख लिया है। ठीक है? एंड अगर हमें फोर्सफुली किल करना है तो हम किल लाइन फोर्स किल। तो इसमें हमें पीआईटी पास करना होता है। एंड इस तरीके से हम फोर्सफुली किल कर सकते हैं। एंड अगर हम टॉप एंड एस टॉप को लिखें टॉप तो हमारे लिए यहां पे कुछ इस तरीके से पूरा ये आ जाएगा। ठीक है? ठीक है? सारी डिटेल्स हमारे लिए आ जाएंगी। ठीक है? तो हो गया कंट्रोल C, कंट्रोल 10 एंड इसी तरीके से हमारे पास एच स्टॉप। ठीक है? तो हमारे पास स्टॉप कमांड है। ठीक है? किसी-किसी में शायद से एच स्टॉप ये वाली यूज़ होती होगी। ठीक है? सो या किल भी हम कर सकते हैं एंड इस तरीके से हम फोर्सफुली किल कर सकते हैं। यहां पे हमें एक्चुअल आईडी के साथ इसे रिप्लेस करना है। अगर हम चाहते हैं कि किसी को किल करना प्रोसेस को। ओके टैब ऑटो कंप्लीट एंड रजिस्टर फॉर स्पीड। तो व्हाट इट डज़ ऑटो कंप्लीट पाथ या कमांड ये हमारे लिए ऑटो कंप्लीट कर रहा होगा शॉर्टकट। स्क्रॉल एंड कंट्रोल आर सर्च हिस्ट्री। ठीक है? तो यहां पे हम क्या करते हैं? एक बार दोबारा से इसे ओपन करते हैं। ओके वेट दोबारा से मैं इसे ओपन करता हूं टर्मिनल को। कंट्रोल 4 से भी हम ओपन कर सकते हैं। एंड इसे यहां पे थोड़ा सा स्मॉल कर लेते हैं। कंट्रोल सी कंट्रोल एल यहां पे हम क्या कर सकते हैं? अगर मैं कंट्रोल आर करूं कंट्रोल + R क्लिक करूं तो यहां से हमारे रिवर्स आई सर्च। ठीक है? तो कंट्रोल R ठीक है। कंट्रोलर तो अगर मैं ई लिख रहा हूं कुछ इस तरीके से हमारे लिए आ रहा है इको तो अगर मैं इको लिख रहा हूं उससे रिलेटेड हमारी ये सारी डिटेल्स आ रही है। ओके एंड हम इसे कुछ इस तरीके से मतलब हमारे लिए दोबारा से रन हो रही है। तो थोड़ा सा आप इसे खुद से एक्सप्लोर कर सकते हो। ओके? ओके जैसे कंट्रोल आर अगर आप क्लिक करोगे तो कुछ इस तरीके से आएगा आपको यहां पे अगर आप आई लिखोगे तो कुछ इस तरीके से आपके लिए आ रहा होगा एंड इसे आप डिलीट कर सकते हो फिर डिलीट ठीक है एंड मतलब कुछ इस तरीके से आप फाइंड कर सकते हो कमांड्स को ओके सिंपल है एंड अगर आप इस तरीके से अप डाउन करते हो तो उससे आपको प्रीवियस कमांड्स आपकी दिख जाती है कुछ इस तरीके से ठीक है अगर आप अपने कीबोर्ड पे ये जो एरोस होते हैं इन्हें अप डाउन एरोस को आप यूज़ करते ठीक है? एंड उतने के बाद हमारे पास है टैब जो मैंने ऑटो कंप्लीट कर दिया। फॉर एग्जांपल अगर मैं यहां पे ओके वेट अगर मैं यहां पे A को लिखूं एंड कंट्रोल C मतलब अगर आपका कुछ कभी आ रहा हो सजेशन तो उस केस में आपसे ऑटो कंप्लीट कर सकते हो। ठीक है? ट्राई टाइप सीडी यूएस देन प्रेस टैब इट विल ऑटो कंप्लीट टू यूजर। ठीक है? अगर हम सीडी यू एस लिखें तो उस केस में हम अगर टैब को क्लिक करते हैं। फॉर एग्जांपल मैं इस तरीके से सीडी यूजर पे जाना चाहता हूं। यूजर एंड मैं फिर टैब पे क्लिक करता हूं तो एमएलए ऑटोमेटिकली यूजर कर देगा। यहां पे अगर फॉर एग्जांपल मैं सीडी लिखूं सीडी डाउनलोड एंड फिर टैब करूं तो इस केस में नहीं आ रहा है। ठीक है? किसी किसी केस में आई डोंट नो कैसे जाएगा। बट यूज के साथ टाइम के साथ आईडिया लग जाएगा। ठीक है? सो अभी के लिए इतना देख लिया। एंड प्रेस कंट्रोल R एंड टाइप LS इट फाइंड्स योर लास्ट मैचिंग कमांड। तो जो हमारी लास्ट मैचिंग कमांड होगी LS से वो हमारे लिए फाइंड हो जाएगा। दिस इज़ हाउ Linux यूज़र्स बिकम फ़स्ट। ठीक है? तो अगर मैं यहां पे इसे ओपन करूं एंड यहां पे इसे ओपन करूं। मैं यहां पे कंट्रोल L करता हूं। एंड यहां पे टाइप करते हैं। कंट्रोल R एंड यहां पर मैं एलएस लिखता हूं। तो जो हमारे लास्ट एलएस कम आती है उसे फाइंड कर लेगा। ठीक है? तो कुछ इस तरीके से एंड कंट्रोल C अगर करें मतलब इसी तरीके से। ठीक है? ये हमने दिख रहा है कंट्रोल L ओके कंट्रोल L से आप अपने कमांड को मतलब आप जो आपका कमांड है उसे क्लियर कर सकते हो। ओके? सो या एनवायरमेंट वेरिएबल्स बेसिक इंट्रो इको डॉट होम योर होम डायरेक्टरी एंड वेयर Linux लुक्स फॉर एग्जीक्यूटबल्स। ओके वी विल गो डीपर इन अ चैप्टर एट ऑफ़ एनवायरमेंट एंड सेल कॉन्फ़िग तो अभी इसकी जरूरत है नहीं बेसिक इंट्रो इसने बता दिया इको होम योर होम डायरेक्टरी एंड पाथ तो ये हमें अभी नहीं करना है ठीक है चैप्टर थ्री टेक में हम मतलब अगर यहां पे देखें हमने चैप्टर थ्री में क्या देखा बाय नाउ यू शुड बी एबल टू नेविगेट एनीवेयर क्रिएट एडिट डिलीट फाइल्स तो नेविगेट भी हम कर सकते हैं ईजीली कहीं पे भी अपनी फाइल्स को क्रिएट डिलीट एडिट भी कर सकते हैं सर्च डिलीटिंग फाइल्स या ये भी कर सकते हैं क्लिप प्रोसेससेस एंड यूज़ शूडो रिस्पोंसिबिली एंड यूज़ हिस्ट्री एंड ऑटो कंप्लीट लाइक अ प्रूव इफ यू प्रैक्टिस चैप्टर थ्री फॉर जस्ट टू डज़ या जितनी भी हमारी लाइव स्ट्रीम होती है सारी अपलोड हो जाती है ऑटोमेटिकली फिर मैं उन्हें कुछ डिलीट वगैरह ऐसा करता नहीं हूं। ओके सारी स्ट्रीम्स आपको मिल जाएंगे। अगर आप यहां पे आओगे लाइव पे तो यहां पे आप देख सकते हो सारी ये है जितने हमने अभी तक टोटल लाइव किए हैं। ओके मतलब फ्रॉम प्रीवियस सिक्स मंथ्स यहां पे एक भी वीडियो नहीं है जो डिलीट हुई होगी। ओके उससे पहले लाइव किया नहीं था तो ओके एंड इतना हमने देख लिया करते हैं हमें एक फोल्डर क्रिएट करते हैं मेक डायरेक्टरी इसे हम कहेंगे लिसन लिसन फोल्डर हमारा होगा ठीक है इसे क्रिएट करते हैं यहां पे एलएस करें तो हमारे पास एक फोल्डर यहां पे आ गया होगा ये वाला ठीक है? अब मुझे क्या करना है? इसके अंदर मुझे म्यूजिक को मतलब ऐड करना जो हमारा म्यूजिक फोल्डर है इसे एडिशन के अंदर भेजना है। ठीक है? तो कंट्रोल एम यहां पे करते हैं। एंड हम यहां पे करेंगे एम एंड मूव। मतलब यहां से इसे मूव करो। एंड यहां पे हम इसे नेम देंगे। यहां पे हम देंगे फाइल का नेम था हमारा। म्यूजिक प्लस म्यूजिक एंड यहां पे हम लिखते हैं लिसन। ठीक है? कुछ इस तरीके से। एंड अब अगर हम करें यहां से एलएस तो आप देखोगे यहां पे हमारे पास अब म्यूजिक नहीं है। इसके अंदर हमारे लिए अब म्यूजिक नहीं है। लेकिन अगर मैं सीडी करूं लिशन पे एंड यहां पे फिर एलएस कर। आप देखोगे इसके अंदर म्यूजिक फोल्डर है। ओके? तो अब इस म्यूजिक को हम यहां से कर सकते हैं मूव। म्यूजिक रूट तो अभी हमने क्या किया? म्यूजिक को हमने रूट में मतलब मूव कर दिया। एलएस करें तो इसके अंदर आप देखो अब म्यूजिक नहीं है। ठीक है? सीडी करते हैं एंड एलएस। अब हम क्या करेंगे? यहां पे हम रूट पे अभी हैं। ठीक है? जो हमारी होम डायरेक्टरी है उस पे हम अभी हैं। अगर मैं यहां पे एलएस करूं तो हमारा म्यूजिक होल्डर बैक आ गया होगा। एंड लिसन को हमें डिलीट करना है। तो इसके लिए हमें क्या रहेगा? रिमूव डायरेक्टरी एंड यहां पे हम इसे लिस्टन कहेंगे। ओके। एंड इस तरीके से हमारे लिए डिलीट हो जाएगा। अगर हम यहां पे एल एस करें तो यहां से हमारे लिए जो हमारा एडिशन था वो डिलीट हो गया। कंट्रोल एल तो इतना हमने देख लिया। साथ में अगर किसी फाइल नेम को चेंज करना है तो मैं यहां पे एलएस करता हूं। हमारे पास है यहां पे सेकंड एचtml मुझे इसका फाइल मतलब इसे इसका नेम चेंज करना है। तो यहां पे हम क्या कर सकते हैं? एम एंड जो हमारा सेकंड डॉट html है इसे नेम देना है। अगेन अगेनhtml ठीक है नॉर्मल सा रैंडम नेम हम यहां पे दे रहे हैं जस्ट टू सी मतलब कि हमारे ये चेंजेस करते हैं या नहीं एलएस पे आएंगे आप देखोगे यहां पे हमारे पास अगेन है सेकंड html नहीं है ठीक है तो अगर मैं यहां पे कंट्रोल a करूं एंड यहां पे नैनो नैनो से हम चेंजेस कर सकते हैं किसी फाइल में मतलब अगर मैं यहां पे इसे करता हूं ओपन अगेन html अब देखो ये पूरी फाइल हमारे पास है। अगर मुझे इसके अंदर चेंजेस करने हैं तो अगेन html फाइल एडिटिंग इंटरमिनल मतलब ये चेंजेस हम कर सकते हैं। तो हमें क्या करना होगा? अगर हमें चेंजेस करना है। नैनो की हेल्प से हम किसी भी फाइल को ओपन कर सकते हैं एंड उसे एडिट कर सकते हैं। सेकंड अगर इसे मतलब सेव करना है तो हमें क्या करना होगा? कंट्रोल x ठीक है? अब ये यहां पे पूछेगा सेव मॉडिफाइड बफर मतलब जो भी हमने अपडेट किया है क्या हम सेव करना है या नहीं तो यहां पे हमारे पास तीन ऑप्शन है यस नो अगर आपने गलती से मतलब कंट्रोल x दबा दिया तो आप उसमें कैंसिल कर सकते हो अगर मैं कंट्रोल से करूं तो मैं बैक आ जाऊंगा ठीक है यहां से कुछ नहीं होगा ना तो ये अपडेट होगा एंड ठीक है हम बैक यहां पे आ जाएंगे दोबारा से इसे चेंजेस कर सकते हैं लेकिन अगर आपको सेव करना है तो पहले आपको कंट्रोल x दबाना है एंड इसे मॉडिफाई करने के लिए आपको यहां पे वाई आई एन दबाना है मैं y दबाऊंगा ये हमारी अपडेट हो जाएगी फाइल नेम टू राइट तो हमारे लिए फाइल नेम के लिए पूछ रहा है हमें फाइल नेम ए रखना है। तो हम यहां पे फाइल नेम भी चेंज कर सकते हैं। ठीक है? मैं अगर इसे चाहूं तो सेकंड html यहां पे कर देता हूं। एंड एंटर। तो इसने कहा है सेव फाइल अंडर डिफरेंट नेम। मतलब जो है फाइल है इसे डिफरेंट नेम में सेव करना है। तो हम इसे यस करेंगे। एंड अब यहां पे एलएस करें तो हमारे पास अगेन. है सेकंड. है एंड जो चेंजेस हमने किए वो सेकंड. में हुए होंगे। ठीक है? अगर हम यहां पे कैट करें अगेन डॉट html कुछ क्फ्यूजन हो तो आप पूछ सकते हो। कैट में हमारा क्या है? एडिट टर्मिनल। इसके अंदर कोई चेंजेस नहीं आए हैं। ठीक है? एंड यहीं पे अगर मैं कैट करूं सेकंड डॉट एचटीml एंड जो चेंजेस हमने किए थे वो इसके अंदर है। अगेन hटीएमl फाइल तो वो इस फाइल के अंदर आए हैं। ठीक है? कुछ इस तरीके से आप फाइल नेम चेंज करके एक न्यू फाइल क्रिएट कर सकते हो। ठीक है? अगर हम नैनो का यूज़ करके किसी फाइल को ओपन करें। ओके? ठीक है? अब हमारे पास यहां पे मूव वाला हमने देख लिया था। एंड इसमें हमने सभी चीज़ प्रैक्टिस कर लिया अच्छे से। रिमूव फाइल हमने देख चुके हैं। एंड रिमूव फोल्डर डिलीट फोल्डर अगर हमें फोल्डर को रिमूव करना है। इससे पहले हमने रिमूव डीआरआर इस तरीके से लिखा था। लेकिन अब इसको यूज़ करते हैं। ठीक है? तो यहां पे इसे ओपन करते हैं। एंड यहां पे हमें क्या करना कंट्रोल अगर हमें किसी फोल्डर को या फाइल को रिमूव करना है तो यहां पे अगर मैं आर एम करूं आर एम नहीं पहले अगर किसी फोल्डर को डिलीट करना है तो हमें यहां से क्या करना होगा अगर फोल्डर को डिलीट करना है आर एम ठीक है मतलब अगर किसी फाइल को डिलीट करना है आर एम एंड यहां पे हम फाइल नेम लिख सकते हैं अगेन डॉट एचtml ठीक है इस तरीके से हमारी ये डिलीट हो जाएगी एंड अगर किसी फोल्डर को डिलीट करना है तो हम यूज़ कर रहे होंगे आर एम सर एंड फिर यहां पे फोल्डर नेम वो फोल्डर कुछ भी हो हैं। ओके आप खुद से देख लेना। यहां पे अगर मैं इरेज़ कर रहा हूं तो हमारे पास बहुत से फोल्डर हैं। पब्लिक टूल्स Snap एंड तो यहां पे एक फोल्डर पहले क्रिएट करते हैं। मेक डायरेक्टरी हम कहेंगे HTML ठीक है? इसे इस तरीके से एलएस करें तो हमारे लिए एक html फोल्डर क्रिएट हो गया। कंट्रोल अब अगर इसे डिलीट करना है हम R एंड HTML अगर लिखेंगे तो हमारे पास ये डिलीट हो एलएस करें तो हमारे पास HTML नहीं है। तो हमारे पास एक फोल्डर को डिलीट करने के दो तरीके हैं। एम एम के डी आई आर इस तरीके से डिलीट कर सकते हैं। एंड सेकंड हमारे पास है नहीं मेक नहीं मेक हो जाएगा आर एम डीआरआर इसे हम क्रिएट कर मतलब डिलीट कर रहे होंगे रिमूव डायरेक्टरी। ओके? एंड सेकंड हमारे पास तरीका है आर एम आर। ठीक है? एंड फिर फोल्डर नेम। ओके? तो ये दो तरीके हमारे पास होते हैं एक फोल्डर को डिलीट करने के। तो हमारे पास कुछ इस तरीके से इसने बताया कि हमें ये करना चाहिए। तो इस साइड से हमने प्रैक्टिस कर ली। इसकी जरूरत अब है नहीं। लेकिन एक चीज कर सकते हैं। पहले सीडी होम फिर योर यूजर नेम। ठीक है? इसे थोड़ा सा ट्राई कर लेते हैं। सीडी इससे हम स्लश होम एंड फिर यहां पे सीडी महेश राणा। तो हम यहां पे ओके एलएस करें। मेरा यूजर नेम क्या है? ls ls - l कंट्रोल सी कंट्रोल ls - ln तो इसमें बता पहले सीरी होम फिर सीडी और यूजर नेम कंट्रोल एल सीडी होम एंड एलs या इसके अंदर है महेश राणा ठीक है तो हम महेश राणा के अंदर जा सकते हैं हमें करना यहां से सीडी महेश राणम ये मेरा यूजर नेम है। ओके महेश राणा यहां से हम इसके अंदर आ जाएंगे। तो आप देखोगे ओके ठीक है हम इसके अंदर आ गए हैं। बस यहां पे हम रूट डायरेक्टरी में एक्चुअल में आ गए हैं। तो इसलिए मतलब यहां पे इस तरीके से आ रहा है। ठीक है? स्लैश होम नहीं दिखा रहा। ओके? मैं एक मुझे कंफ्यूजन हुआ था कि हम मतलब यहां पे इस तरीके से क्यों दिखा रहा है। ठीक है? तो जब भी हम रूट के अंदर कभी जा रहे होंगे तो उस केस में हमारे लिए इस तरीके से रूट का यहां पे साइन आ रहा होगा। ठीक है? ओके?