 is double I will be taking linux shell. So, till now whatever you are doing you are doing in a it in a window which is called as the linux shell basically. So, what is a shell? A shell is an interface between the user and operating system. The user submits some commands, the shell gives it to the operating system, the operating system calculates the results and displays it back on the shell. So, basically it is also command interpreter in that sense. Moreover it is a sort of a programming language as well. So, you have for loops, you have if statements and so on. So, this is just for reference there are different types of shells. Two are mentioned here bohn shell and seashell. We are using bash here in Ubuntu. Well now pattern matching in many many of the commands you will need matching of patterns. Let us say you give an ls command then you have to filter based on some characters. Then you can use make use of these wild cards. Star will match any number of characters including no characters. Question mark will match a single character. We will see examples. You can try typing these commands on your terminal. So, it says for i in sequence 1 to 9 do touch, touch is a command which updates the timestamp of any file. And if that file is not there on in your directory it will create the file and change the timestamp. So, these commands will basically create 10 files from chapter 01 to chapter 10. It will just create and all the files will have the same timestamp. So, this is like a normal for loop we have in C language. Seq is basically the sequence from 1 to 9. So, it says 1, 2, 3, 4, 5, 6, 7, 8, 9 and i is a variable. And when you say touch, chap, 0, dollar i, dollar i will say the value of i. So, it will be chap 01, chap 02, chap 03. All these files it will touch and the whole thing is encapsulated in a do done block. Is everyone done? The last line is touch, chap 10. So, it will create a file called as chap 10 and update the timestamp. I will just do it and show. And that code that you use is not the one which is near the single double code. It is the one towards the left of your one key a backcode. Now, if you do an LS you should see all those files. You see chap 01, chap 10. Now, the pattern matching part you can do an LS chap star. Now, star will match any number of characters after chap. So, you should be getting chap 01, 02 up to 10. Then you can have chap 0 question mark. So, it question mark will match just one character. So, you should get up to 9 and not 10 and now the brackets. You can use suppose you want to list from 01 to 04 only and not up to 09. Then you can give this sort of a sequence which says from 1 to 4. So, 1, 2, 3, 4 it will match. Now, escaping and, escaping and coating. Basically, while doing all these things you might want to match the exact characters themselves. For example, you might want to match star or the bracket itself. So, in that case you use wild cards. You escape, there is a slash which escapes those characters. So, which is used as a escape sequence. So, if you want to list the file which who has the name as chap 0 bracket 1, 2, 3 and if you give it in front of LS, then it will list all the files from chap 01, 02, 03. You do not want that. You want that exact file. So, you just put a slash before those brackets. So, that it will match that exact sequence. Other way of doing it is coating. So, you can actually put the whole thing into double codes. So, it will match that complete sequence as it is. It is very convenient to use double codes sometimes. Let us say you have a file name with spaces and you want to c d space that file. So, you put the whole file name in codes. Basically, in this case you have a Linux all everything is represented as a file. So, every process has process is also represented as a file and it has a standard input, standard output and a standard error file. So, suppose you want to capture this these three streams into a file. So, you can redirect the input using these methods. This is the symbol for input redirection. So, for example, you have a file and you want to give that file as an input to cat command. So, it will basically it will just list the contents, but then there can be some other commands which can which you can redirect to cat to some other commands. So, then there is output redirection also. So, the command that is given here as you know who will list all the users logged in into the system. So, you can redirect its input to its output to some other file in this manner. Then you have error redirection. The errors which are printed on the screen you can redirect those to some file. So, let us see an example. Let us say you have a you do not have a file x, y, z in in your directory and you issue this command cat x, y, z then you will get an error. Let us for example, this now this directory does not have x, y, z and I do a cat x, y, z. It will give me this error no such file or directory. Now, this is not a standard output. This is a standard error. So, it is by default redirected to the error stream is also redirected to the prompt. So, now suppose you want this error stream to be redirected to some other system. So, you give this command cat x, y, z to then the greater than sign and space the file name. You can give any file name I have given error dot log. It will not show anything on the screen. It has redirected the whole output. Now, open this error dot log. I will see the error that was there. Now, we will come to pipes. Sometimes there is a need for you to redirect the output of one command to other command. So, for example, you want to count the number of users presently logged in into the system. So, who command will list out all the users and if you count the number of lines in who will get the number of users logged in. So, you would do it with the first method. You would redirect the output to a file called user list dot txt and then count the number of lines. wc minus l is a command which will count the number of lines in the file. So, instead of doing that you can use a pipe command which pipe is basically a sort of a redirection mechanism through which you can redirect the output of who to the other command wc minus l. So, you do not need to create a separate file. Then there is a command called t. Now, when we saw the error stream was not printed on the screen it was it directly went to the file. So, if you want it to be printed on the screen as well you can pipe the output of the command to t space file name. So, who will list out the users and then piping it to t user list dot txt will also print the output redirect the output to the file. Then we have something called as command substitution. All of you must be knowing the command eco by now right. So, eco space the date today is then I put back quotes date date is a command which shows you the present date. So, when you use it within back quotes it actually prints the date there. So, it executes that command. So, if you recollect the for loop that we used in that that s e q 1 space 9 even that was a command substitution. And the second command lists all the how many files are there in the directory. So, l s pipe wc minus l l s will list all the files. And wc minus l will count the number of files now number of lines in that output. Now, shell does not end here there are a lot of constructs many things you can do with shell it is a very powerful tool in Linux. So, if you want full fledged guide this is the link any questions. How could how could we make out that it is a bash or something like with naked eyes. Because we have different shells right con shell or something like TCHs how we could make out. So, of course, we are using bash here right how we can say with naked eyes. Eco space dollar 0.