hi guys my name is bharden and I'll be your instructor for today on behalf of Eddie Rekha I welcome you all to this webinar on enough screening and in this session we will talk about there are nuts administration concepts ok so if you people are going to be nuts administrators in the future then what the topic that you guys got to know right so I'll first talk about different job roles and the different job description that an administrator would have to perform and I'll talk about some of the most common of those and I'll go to detail and show you some of the demonstrations of those topics alright guys so before I get started let me just take a confirmation from you people can you all see my screen or hear my voice if it's all clear then we can go ahead ok otherwise I might have to restart again do acknowledge it guys you can say yes or no in the chat box all right and if you have any questions during your session this feel free to put that question in the chat box and I'll answer them right away all right guys ok so it seems like I'm getting couple of acknowledgments I've got a dark knowledge meant from around four or five people's your can hear my voice on my screen so without which you must stand let me just get started ok so the first topic that I'm going to talk about is why choose the nuts okay now we'll haven't shown you the agenda right now because before we talk with your gender right I'm going to talk about two important topics and the first of those topics is why should you choose linux' and the second of that is the different job descriptions and the different job rules okay now when I'm done with these two topics then we can get started with the different tasks that an administrator would actually do alright so ok let me just start with the first light then it's as you can see it's why choose linux' now I'm going through this topic because if you people are going to be administrators alright if you're getting trained then these are things that you're supposed to know these are like the general knowledge and the common sense okay so the Knux is first of all it's freely available and it's open source all right when we say it's open source that means anybody can download Linux and you can modify the source code and program the Knux to work the way you wanted to okay you can upgrade any software you can add software you cannot change them you can do whatever you want to okay and you're not going to have any problems but whereas with operating systems like Windows or with Macintosh you might not be able to do it or in fact any other thing that's on open-source right even when it comes to software's or smaller programs you cannot edit things which are not open source because you have certain restrictions and you have to comply to the SLA right so it's level agreement so that's the thing but with nuts you don't have that problem and basically the Knox became popular because of that reason because it allowed developers to access the source code modify the source code make changes improve the software and upload the changes and share it with the rest of the world so that's how alex has evolved that's all UNIX is so good because there are multiple people collaborating together working and improving the nuts right they do it and then they share it with the rest of the world and that's how alex has grown so much so that's the main power behind or let's say the main reason why it's the narcissus are so popular now right and so good okay now this is the reason why you people should choose Linux if you are still going to have doubts at the inner session then this is something you guys need to note all right and the other two points are that of very secured and why it's free now these two things are little related your let me say it's Wireless free then I'm definitely the fact that you don't need to install any antivirus in your system right it's completely quiet proof there is no requirement but whereas in case of Windows or Macintosh you need antivirus all right because they can get your raw systems can get affected and anything can happen right your document order files or folders they can all be exposed and people can get access to it you know remotely now that's the problem they can be a lot of breaches and all these things can happen but within the next that's not going to happen right you don't need an anti-virus at all and when it comes to even smaller bugs and viruses you know nurse can stand up to them and they're not going to get affected all right so that's the virus free aspect and it's very secure because of this reason so when you don't have to worry about cybersecurity or any viruses then you're of course going to be very secure right you don't have to worry about setting up the various security checks and all these things you can just really get down to setting up your Linux VM and start working with whatever you want all these things so that's the aspect here and then the next thing is the Linux is very easy to learn and use now when I say this a lot of people you might be surprised that you know you might be thinking that it's very difficult and you know if you get use the Kommandant interface and the way the terminal works and all these things but yeah I actually have a question already there's Rahul is already saying that yeah it's not actually easy seems complicated but see the whole lot we just showed that it's just because it's you're new to it all right the first end when you tried using Windows you might have had the same problem okay you might not have known that the start button is what that does how can I say the different files and directories right so maybe that would have happened when you are really young but over time you've grown right you've got new to it so the same things going to happen here Linux is actually very very easy and it's you just need to spend time there figuring things out by learning how the different you know commands work in the CLI and well even if you don't need to use the Fila everywhere also okay you know if you're not comfortable that you can still use nuts because you have a fantastic GUI that I would say is as with is the windows right but the advantage that the next has over Windows is that it also has a CLI so you have a command prompt in Windows but here you have a CLI and the fiela in Linux is the much more advanced it's much more easier to use when compared to Windows because most of the people are not very familiar with the Windows command prompt well that's because Windows has a very good GUI and people prefer the GUI aspect in Windows but with enough it's going to be very simpler so you're not going to have any problem and you can just get started right away very simply so that's the thing with Linux yeah absolutely route so yeah you just need to world on the commands and it's not going to be too much of a task yeah I mean I would say maximum is go it's going to take you like one week of practice that's tops right when you do that you will be completely aware of all nuts what are the different commands how to perform different actions and operations all these things and the advantage here is that you know with a CLI you can perform multiple operations at the same time you know by just specifying one command you can do a number of things but to perform the same operation in Windows you might by using the GUI right you have to go through a lot of steps let's take the example of creating a user account okay you're the admin straight up beat Windows or running us if you're going to have to do it through Windows then you'll have to go through the system you know control panel system tools and user administration and all these things okay by the GUI well even in the notes if you're going through the GUI aspect you will the same procedure right here I like for five steps or maybe even ten steps at the same time you last put authentication and all these things but if you're going to use the Linux CLI right the terminal is going to be very simple it is going to be one command where you would say use a rat and then you specify the name of the user and that's it you're done and if you want to set the password then the command is going to be simple again it's going to be PG s SW d okay after that you're going to give the username and when you give the username then it will prompt you for the for setting up the new password right so it's like that it's so simple by just two commands and you're going to what type like five six buttons on your keyboard that's how simple it is so that's the terminal part alright and then we have the concept of multiple distributions okay now when we say multiple distributions then it means the different flavor that MUX comes in okay now especially beginners right many of them are you know confused and they are wrongly you have the wrongly taken that unit is actually an operating system okay the Knux is technically not an operating system okay the next is just a kernel and that can power any operating system and get you one something that's really running that's really fast and you know nuts together with something else gives you the operating system and the first time unless was formed it was again just a kernel and that powered another operating system cause the GNU okay so now with something similar so you have multiple other operating systems which get powered by the nuts kernel and then you have an operating system and those operating systems there are many number right now that is what we call as distributions so we have one two we have our Center s we have Fedora we have great at enterprises official Enterprise Edition and then of course the free version of that is sent to s right and then we have suze so we have a number of for distribution here we have almost hundreds of distributions right you can you have something called as Knox mint the linux mint is something that's very similar to Windows right you can play songs and you can see videos on that so you also have that kind of flexibility that you know if you're not comfortable with one particular distribution then you can switch to a different distribution and you don't want to have any transition phase there because they're all very similar right it's just the way things look and it's just that you want to become more comfortable with that without any extra effort Putin – that's be your distribution aspect and then of course you all know that lanessa is fast and effective right so it's effective the kids highly reliable its performance is you know dependable and it's very stable ok it's highly highly stable and that is one of the reasons why all the servers and all the mainframes they are all Linux based right you don't have any servers running on any other operating system that's because Linux is really stable and there's also another fact that you don't need to reboot a Linux system for almost a primer right so just restarting the system once in your is enough so that's the advantage with Linux so that's how good it is and that's why it's effective and of course it's fast you guys should know why it's fast right it's you know pretty much faster than Windows so that's the thing there's no reason why should the choosing us but there again you can't compare the speed of Windows and the nuts and Mac because they're all almost same there is – minor differences but the whole point is that you know enough is fast and it's as good as any other operating system you know it's as well as Windows or Mac so that's what you gotta know and yeah so these are some of the reasons why anybody should learn Knox ok and if you want to become an administrator then very good you've made a good decision and hopefully you can do well right so now that you know this much about our Linux let me go to the next slide and let me talk about the different job roles here ok now the most common job roles available in the industry are those of units administrator and support engineer system engineer and network engineer ok so we have the nuts admin right so the next administrator or senior notes administrators these are the most common ones ok and then you have the other roles like support engineer system engineer and network engineer now what we see impacts all these four roles they are very similar you know bar a little bit of differences ok so if you look at the union of all these people and if you look at the description then you get what's written here all right so all of these people would basically be performing these things and a lot of their tasks get overlapped right so a lot of tasks that a support engineer and system engineer would do would be overlapped so it's very similar in that way but for some reasons we have different descriptions and of course they're going to differences in what they do but it's again going to be very minor and if you want to do well and if you actually want to be a good in a sadness trader you can actually learn all these things and you can be probably eligible for all of these roles right so the description wise is that of insulation and up gradation and when we say insulation and amputation it is that of the system that is the software and the hardware okay so at times when you know when if some has run its course okay I mean it's memory wise it's full and even the software version wise if it's are getting outdated then you've got to be in a position to upgrade the software right you should be able to work allocate the appropriate hardware resource and do the right things you know you know measure what is the kind of performance your raw system needs what kind of how much upgrade it needs to be done what is the you know DRAM that you need to purchase all these things and then install the appropriate software on that hardware basically installation and uh predation and setting up and configuring the whole network right that's going to be one important job of any units as illustrator okay and that's something that happens very frequently right and then you have something for less patching so patching is something you know related to the software again the software the security aspect and the bug fixes so when we say passing it's basically improving the existing software that you already have so we have something called as the next repositories right so for the radar based systems you can you know do downloads you can run a command called yum install and then the softening that you wanna install okay and similarly for the Debian based you have both things like apt-get install and then package me so you have all those things but if you not install any software from that way and if you've done something through the CLI by actually downloading the package and installing then patching is something that you would have to and especially if you are going for something that's very you know that is not open source okay if you are installing that kind of software then that time passing is something that's what you go to do right so when we say patching it means that you already have an existing version of the software and then over time that software has been improved and that's been released so you have to basically update the changes right and patching is a little complicated in that way because we have to first track the differences yeah to generate a difference file and then based on that file you have to generate the batch file that will just have the upgrades the extra additional components and that will have to be then finally integrated with your actual working software okay another question from graduation he asked me why would we need to do patching radish it's pretty simple right we need passing because every software is going to be improved so there's no software in the world that has been developed in the best possible way at the first go right you have a software you will develop it and you will definitely find bugs and you definitely have ways to improve it right and that's how I first make you know the companies making the software big money they constantly improve the software get a better version of that and they release it so that's what you also have to make use of and especially with the security aspect even though Linux has a very good security it doesn't mean that you're completely safe right you again have security or fixes we have lot of power you will have security problems but those are not something that you know you got to worry too much about because the security features are something that's going to take care of the any any theft or any malware or any cyber security right it's going to enable that so that's why you need to do patching you got to improve the security of your system you go to work basically upgrade your existing software and yeah those things and that's why you need to do patching all right Rajesh okay so then yeah we have application support right so it's not like every software is going to right away be supported on your system so there are certain things that you gotta do you know certain of course which need to be enabled certain kind of you know tweaks that need to be done in your network and all these things so you have to be able to make sure that your application is running all the time you want to make sure that you troubleshoot the version of any application so that's one important job description that an administrator would have to do and then we have our storage migrations so storage migrations is again a very common thing because every now and then or let's say not now and then it's probably once in a while you'll have to make your upgrades right so we'll have to keep a backup of your data and the benefit of you know witness is that the storage backup right it's very good and it's very effective so evident is not played out every time there is something that's going to happen you can do the backup and you can have track of everything and yeah that's one important job rule that the adversary would have to do right and then of course improve stability and performance yeah stories monitor the ER performance and make sure the system performs better than what it was doing previously so these are all a little more technical and a little more scenario oriented okay yeah so it's a little more scenario oriented so improving the system in the performance based on so many other aspects which you will probably gain with experience so I cannot you know tell you right now what exactly although all those things are but yeah the other thing you will get the hang of it as in when you when you have as you gain experience so that is there and then usual administration so user and efficient is very important it's very common thing okay where you have new people coming into your office you have to set up the access for those people you have to give them access to the different files and folders or directories that they would want to and it's very important that you give them only what they are supposed to get right so you can't give them access to just anything and everything so that's one thing with the administration aspect and this is a very common task and this is probably the most you know regularly you've worked up on description of any Linux administrator or system analyst traitor in your company in any company in fact so that is that and then yes installing and controlling servers and services this is I would say this is among the most important you know tasks along with patching right because we all know that all these servers and maintains are all run on Linux right another operating system or a distribution of Linux is what powers these servers now these things are basically the backbone of your business okay and these business need to be taken care of right so whether you're storing data on your server or whether it's you know you make an upgrade to your server all these things need to be done on a regular basis you know some kind of file transfer it happens you need to be able to access the machine and it's okay it not necessarily be just servers it can also be any remote machine right you should be able to configure them set up set them up and access them and all these things so this comes down to the networking aspect and it's really important that you do this right you will understand why it's so important as when the session goes on but for now or you know is the networking aspect is really really okay so then we have backup and restore yes so it meant something crashes which is very deadly right it's not something that's going to happen very often it will happen very rarely but when it happens what do you do what measures you take how will you backup and restore so that's one thing and like I said earlier monitoring server monitoring is really important in fact even network monitoring is really important to avoid any threats and hackers and server of course needs to be constantly monitored and checked for performance otherwise you are going to have a big dip in business so that's there and then troubleshooting is probably it's the combination of just everything you should be able to just make sure everything works right you can't have any error you can't have an application that cannot be installed you cannot have an application that is you know suddenly working off balance so all these things will be taken care of and these are probably the most common job descriptions of for any no sadness rater right and in fact support engineer system engineer network engineer and nuts admin right all these four artists anonymous clear almost the same almost 80% to 85% of that job tasks is no they're all the same and it's going to be a small change right and even that is going to be related to only one particular concept now let's say if it won't be a network engineer then it's going to be you're heavily involved with the networking aspect right so system is you know someone that's going to be involved with the entire troubleshooting upgradation patching and all these things right support engineer someone that is a little more conservative role you will be taking care of the tickets whatever problems other people face the user administration aspect and all these things so yeah those the different job roles and the different job descriptions of these people right so these are the two slide that I want to give you a reduction to before I actually start training you on these concepts right so I've done this now next up I have the agenda slide and here in the agenda slide I'll talk about some of these topics that I will cover great right from here I have a couple of important topics that are chosen and those are probably the baby steps that you need to learn to get yourself advanced and next administration so those topics are those of file permissions right access control lists shell scripting patching and networking right networking again is really really important you have three different protocols the SSH that stands for a secure shell SFTP that is the secure File Transfer Protocol and then you have SCP right secure copy protocol we have these three protocols so I'll give you a demonstration and all these things and then of course we have the files functions is what I will start off with so I'm not sure if any of you are in my previous session but in my previous session that was enough sartorial I spoke about how file permissions are set back for directories and for files I showed you all those things and even if this session I recovered that because we have to talk about ACS write access control lists and access control list is something of an extension or to file permissions so if you guys need to learn what is the ACL then you need to learn five pounds and so that's why I'm going to cover this and then the next topic that we have is shell scripting so you know like I told you so many times you know countless number of times I have told you that you know executing commands is the most important thing as a person that's working on the nuts right but how many times will you execute the command you will have separate of tasks supposing you're anonymous straight of doing the same thing again and again right you will get bored and you become inefficient and all these things so that's where our scripting comes in we have one file in which you can feed in all the commands that are going to execute right one after the other you just specify all those commands in that file you just save it and then you can just instead of giving all the commands separately you just need to execute that one particular file and when you execute one file then all the tasks that you wanted right which we present in the files give it all be executed one after the other so that something that's going to make your job very simple and if you are going to be an under straighter then you'll have lot of such things which you will have to be doing on a day to day basis right multiple times you have to do the same things right and shell scripting is something is going to help you there right it's going to eliminate any repetitive tasks or tedious tasks so that's thing and patching is something I discussed earlier and a totally important that is patching is ready to enabling or improving the system security and upgrading the Year software and all these days so that's it networking again I spoke about so from it out wasting any more time I didn't want to quickly get started and the first topic that we have is the managing file permissions so file function is something that's really important because if you're not under straight on you want to give access to something specific some particular file or directory then these are we route right you assign it to a particular users and how you do it is you will first get to know what are the different permissions that users have right and you can do that by running this command called LS – L competition you remember what this command is and it basically you know first of all LS lists down all the year contents in that directory be it folders or be it files okay it's going to listen everything and when you give it along with the – L right this is not one all right this is L this water at Stanford right it's small L so when we give LS – L then what happens is you get the list of juice contents along with something like this okay you get all these details so this is called long format and that's what even DL stands for so the long format to get other details like what can profile is it and what are the different functions right so this basically is a 10 character block right the first block is one character the second is 3 the third is again three and the fourth is also three right so the first block here represents the the file type it can be either D or it can be L it can be in Omaha – like this or it can be see or can be P and T here is something that represents a directory okay and if it's a – then it means that the particular file that is been listed that is the that's a normal file okay if it is C then it means it's a character special file if it's B it's a binary special file and if it's L right if you have Nellie or it means it's a symbolic link file right so you will have the file name here and along with that you will have all these videos of that particular file so you have the you know after you will be satisfied what is the type of the file and after you'll be here specified what are the user permissions okay so this is with respect to the person that's logged on to that system okay so when we say users basically the owner and what kind of permissions as we have so by default the owner will have read write and execute because if I create a document or any file in my system then I should have complete access right so by default allow the readwrite access and then the group that I have longed for supposing I am a user that you know added to my system right and then there'll be a network up for users like me like in my team I might have five other people so we together will have a group so it's not just me that'll get access to my documents even my group right my extended coworkers they will also get access to my files on my directories but the level of access that they get is again something that's that can be controlled by using these file functions okay and then similarly there are other random people who are not part of your project those are the others category right other permissions so what kind of fascist will they get and when we go to details I will I can tell you that we have our W X for each of these three different blocks okay so user permissions there is a read write and execute okay X stands for execute W is our right and our s read so this means that I can read and I can write and execute any file that's been created in my system because I am the owner and I can do all these things okay but if somebody else from my group right is accessing that particular occupation afformations do they have if there's a are W X Y which transfer you to a read write and execute then even they have complete omission right it's an open security for them also but the other people here okay so the people who are not part of my group and yeah of course if it's not me and nobody from my group then what can a pastor do they have what it shows here is read – and X this means that the others have only read and execute function they don't have write function okay and supposing if you don't want to give any if you want to remove access from someone or if you don't want to set particular access to anyone then you can just put a – instead of putting the character okay if you put a hyphen here then it means the write X write function will not be there okay but if you put a hyphen in the last character the third character then it means that the execute will not be there for that particular person or if we put our – here then it means that person can't read it right so that's what the – means the – means that person doesn't have that particular feature so in this case it's the right feature if the – or it means that even have the execute feature so those the different are users right so we have the owner and the user denoted by you the groups will be denoted by ug others by oh okay and if you want a combination of all these people then it's a all right so that's what this part of the command stands for and then we have symbolic links so symbolic link is something that a shortcut or a link to another file or directory supposing I've created a file right and if I want to create another copy of it then that will basically be a symbolic link right so I can access it from good different locations from a different directory or a different path but they'll be referencing the same route right so that is what symbolic link means you're just having different shortcuts and different access to the same particular file so that's it and then then you'd be displayed the owner name of that particular file or directory and then you'll have the group name right that person belongs to or the group name the file belongs to and then you have the e-file types so whatever the size of your file is it's actually in kilobytes so that'll be displayed here and then followed by the time at which the file was created right so you have that detail over here so this has actually gone a little more theoretical so what I do is as per some of the request from the audience let me just quickly go to my terminal and show you how exactly this looks like right so one thing is that I will be working on the Center West distribution all right so I'll be using the Centaurs distribution of Linux and I'll be running it on a VM right so this is my VirtualBox and I have a couple of Williams you're above window VM I have a centralized VM I have three other CentOS beams all right and currently I'm using 32-bit send to s virtual machine but if you have an operating system well and good you can just use that either but yeah for my purpose I'm having Windows and have launched VirtualBox on top of that and in the VirtualBox I'm using my sent OS so in my previous class I give you one reduction to the entire GUI right so the same I don't wanna spend time teaching you that but rather let me get the things that's really important so let me just open my terminal and show you this right I'm just want to make it really big right this is good enough so this is my terminal this is my command line alright now if I want to check which is the particularly I'm currently and then I can just give a command PWD write print to working directory that's what it means and it says I'm currently in this directory slash home slash it reca where this first slash here refers to the root directory then under root I'm inside the home folder inside the root and then inside home there is a call a trigger so that's what I am so that's what is the PWT right now and I can assume the different files and directories in this sort by just giving the command LS like a torii earlier so I go valise then all the different files and directories and the folders will be available right there they available so documents downloads desktop pictures videos these are the different folders and then you see a new CV dot Java turbid or table this is the different files that we have right now if I want an extended format of this like what I saw in my slide the long form and then I can just give the command LS – L okay when I do this I have the wrong format of that particular you know content right so we have what is the name of the file when was it created we have the timestamp here the size over here then the name of the group the name of the owner right the symbolic link and then the file permissions I spoke about each of these things earlier so if any of you guys are Sinatra please do let me know right so to give you an example let's take the example of this desktop right so this one here the first character refers to the fact that it's a directory it's on a file ok and these three characters here they represent the user permissions okay or the owner permissions this represents the group permissions and DC characters represent the other permissions the other users were not the owner and neither are they a part of the group so what kind of permissions do they have so those people here they don't have the right access they can only read that particular directory and execute rights the same thing can be said for even groups and it's really your owner and the user or that particular user was complete access so that's what it is so this all the l s- l command looks like and a beautiful version of this is what i showed you in my slides right so this is it okay and let me go on to the next slide and here let's talk about setting file permissions so right now the file permissions are what you saw on my screen right on my terminal what are those formations but what does I want to change permissions what will I do how will I execute that how would I do that so that is done with the help of chmod command ok so change models beige is going to change the access functions right our files and directories so that's what chmod is going to do and if you want to change the owner of a particular file or directory then you can use these CH own okay sound is called so it means change ownership right and if you want to change the group ownership of that particular file or directory then you can use a CH group right the transfer order change group so these are three important ways that you can set permissions to files and directories right and how they do it what arguments Allah gives that is what is this right in this table I have that an example for that okay so supposing you want to change the group ownership of a particular file then you can just specify chmod you can say G plus and then the permissions here okay the pluses you know the operator here is basically something that's you know it's like a relation between whether it's a user or a group or or rather spread between that and the pump shion's so this is like the operator or the one that actually compares or contrasts needs the functions and the person in question right and then followed by that we have the file in so what this would do is so when we say G plus WX then what it means is the file the group belongs to right now that group is going to additionally get the right access and the execute access okay so this particular file the group this file belongs to that group is going to get additional write access and execute access so that's what this command means now let's go to the next command okay now here it says chmod U is equal to r WX now when we say art of UX it means that the user or the owner of that particular file or directory that person you are setting these functions as a read write execute you're giving them country functions full permissions you're giving them okay that's what equal to does okay if it's plus then it's going to additionally give these two permissions but if it's equal to then it's going to set the pumps ins it's going to override water was there previously and it's going to replace it with this all right and here we saw adding functions but if you want to remove permissions from someone right then you can just use the minus here and then – followed by permissions so what this does is the other people right neither the owner not the people part of the group so the other people those people you are removing the right axis and the xq taxes from those people so that's what Oh – WX nice and then you equals a WX is what I told you right so you have the file name so that's how we wrote and similarly if you want to change the ownership of a particular file then you can just use CH on the username and for buy that will come the file name so then when you hit enter after that that particular file or directory will have a new user right you'll have a new owner and if you want to also give them a new group you know along with the username you wanna send em to a secondary group then you can do it by giving user name : group name followed by the file name right and if you want to change only the group name then you can log in use the syntax where you can say change group followed by group name and then the file name the file is in question so that's what it is so let me just quickly run a demonstration of that so here we are back in my terminal and this is going to clear this screen so and let me run the LS command again so right now we have the desktop folder right we have download this is another folder now what I'll do is I'll try to change permissions for one of these folders so let me say su row and I'm saying sudo because these permissions they cannot be just changed by any user so right now I've logged in as a tracker okay and being logged in as a director I cannot assign myself extra privileges so only the root user or the super user can do it right and if I want to execute a particular command as a super user as a root user then I can I have to use this pseudo right when I do sudo then it means I'm running a command as a super user and it will of course ask me a password the administration or the administrator password and I hit that and then the command will be your accepted okay so basically if I want to change the permissions of the desktop never before I do sudo let me just do an LS – L and see what are the permissions currently so if you look at desktop right now the accesses read write execute and then the group has read does not have write access but has x2 axis and the others they again have read and execute okay now let me change the ownership of desktop and let me give the right access also to the group of the file belongs to so if I want to do that then I can run the command chmod and I want to give to the group right so I'm going to say AG and I will use you operator plus and then I'm going to say W okay and forward by this will be the filename or directoryname so in my case it's going to be desktop right so when I do this then the power permission would have changed okay so I would have change the permissions for the group where I'm giving the group right access to this particular directory so now if I again do an LS – L then you will see that there's a W over here okay so let me just hit enter and as you can see we have desktop over here and this time even the group has read write and execute functions all right only the others only their function does not change so that's how simple it is so similarly you can also change the ownership so right now desktop belongs to Ed Rekha right what I can do is I can create another folder or directory let's say I want to create another folder called ABCD okay so this is a new folder am creating ABCD and make directory that you see here this is what is the command that is used to create a new directory and when I hit enter then the new directory is created now again if I – LS – L so in this list you will see the new folder called ABCD okay now this is what is the user name this is the group name all right now if I want to change the user name for this particular folder then I can just use the command okay before that let me clear the screen okay that means it's on the command again yes and now to change the ownership I'm going to run the command CH on now we can specify the only in that I want to change it to let's say I want to change the ownership to root ok root is the super user so I'm going to say root and then followed by that I'll I can say the file name right so I can say ABCD is what I want to change so I hit enter okay it says ownership I cannot change the ownership because I am executing this command as a Drakkar so for that purpose let me execute the same command as root success okay sudo and when I hit end up it asks my password okay so the pass was wrong but now which work yes so now it has changed and let me just run the LS – I'll come on again and if you can see now the ownership has students so similarly the same way the user ownership and the group ownership can also be changed using the same command right which I discussed earlier so that's about the file ownership right so now getting back to my slides this is something that's very simple file permissions I even spoke about this earlier so that's about five pounds okay so the next topic is something that's really important and that is something thats related to file functions okay that's called ECL right access control list but before that let me give you a scenario here okay I'll tell you how and I are doing when we want to use easier compared to file functions so we have a person here that's saying how will I give extra permission to only the manager and the team lead right so you have a team of say 10 people and if you want to give extra permissions or access to one other folder and directory hurry to a manager or it will be the boss then how would I do it I can of course do it using file permissions but is that feasible right so I have to do it every time and if there are multiple teams and have to do it for every single manager and afterward every single time for a different team lead right so now this is something that is very repetitive this task is going to get repetitive right so as to change the Attic rate and you won't have to create a new user right give them that access by using the CH own right but is there any alternative yes of course there is right so now we know that there's something called as easy and so using ACL you can give special privileges so in this case even though this particular team lead and manager will be part of the same group okay so even though they'll be part of the same group only these two people will have extra permissions so in this way you will not have you don't have to create a new group for especially for these two people now because the problem here is at a later point of time when the person ceases to exist from in that team okay now let's say that I am currently in a marketing team okay and at this point of time I I want access to this project or access with this particular directory okay and I am getting access to it but at the later point of time when I'm leaving that 13 we're differently let's say I move into operation see then at that point of time the answer should make sure that I don't have access to the marketing folder right so I've taken away out of that accident I'm given different access so that is something the understated would have to do and to an extent he could do that by using file functions where you create a different row panel ascending that group but every time a different person comes in Kennywood and getting of special privileges every time you know he can't not using file permissions but using AC else you can okay and ACL here it basically extends the functionalities of files and directories and Asya Stanford access control list okay and as the definition says ratios all of you received functions for any user or group to any directory or file or disk resource that basically means anything that is there on your raw system right anything that's accessible from the root that it can be given extra functions can be given to those from by using access control lists okay and but before using it right before we start executing ACL there is one thing we need to enable them okay we can enable a seal by defining it in the root ET c FS tab file okay so there's a file under this directory and I'll open that file and show you okay and so basically you have to enable ACL by adding the ACL details so this is the FS tab initially when you've not enabled ACL the first time when you're using it or by default it would end over here so you'll have ext for this busy defines the extension that your system is running on and then you'll have defaults okay followed by that you'll have one one right so there will be a big space here now if you want to enable a till then you have to just give a comma ACL right here okay when you do that then your raw ACL is basically enabled and then this snippet as you can see I've got this access the FS tab from the chat command okay I've used a cat command to display whatever is there in the FS tab okay so yes and then you have the next line that says in the option list under route we need to add ACL after default yeah so the thing which is important is you can't is added everywhere and these lines look pretty similar but where'd you go to notice there is something referring to route right so this means that these changes will be applied to the root folder so anything that comes under root to all those of files and folders you can you know enable ACL okay so it's important that you execute it on this line slash dev slash Napa so this is something that's common across all distributions okay so some degrees here would be different in different distributions but the common thing is you'll have to wear in the line which is referring to root so in that line you have to say comma ACL after default okay and then once you're done with setting the ACL it's you know it's not game over okay cells not just going to be here there what you go to do is you've got to mount that particular directory okay supposing in our case it is the root directory which we are modifying right there even a bit easier so in our case we will be mounting our root directory again so this basically means you are you know rebooting the filesystem so instead of having to restart your computer all together you are just remounting your files and file permissions ok and when you've done that then the change will be updated and then when you run mount command then you will have the rest of options where you can see that ACL is enabled so let me just do that by going to my terminal let me just show you a practical demonstration of that ok so right now we are in the slash home slash into Rekha so the file that we are talking about the SS tab that is present under EDC in root so what I'm going to do is I'm going to save VI root UT c FS tab ok that's hit enter ok so this is the file that I showed you in the BPD but the thing is it's read-only right now that's because I've logged in as ed Rekha right so let me just run a sudo in front of it this means that I am measuring this command as a root user and now I will have the access to modify this document right so let me just hit end insert and as you can see here we this was the line that I was talking about right slash dev where we are talking about the root directory so here we have something called exe for which defines the extension that we are running and then we have defaults so this is what after change so let me just stop quickly come down and next to defaults and it's going to say comma ACL right and now let me just say : + WQ stands for CM and exit so when I do this basically my file is now updated ok Myesha is enabled but after mount this so how would I mount it by using the command that I showed you earlier so that is pseudo mount – OH remount all right and forward by the directories are you referring to in our case its root so I'm going to save this and hit end up all right so my mount is also successful now if I run the mount command then you can see that it is enabled over here because otherwise if I would have ran the mount command before updating it then it would have just said RW and then the black would have closed you okay but now the extension has been increased to rear its read/write and easier now right so that's my function that I have now and that's how the fields work all right guys any doubt here okay so I have a question here from Rajesh and Rajesh is asking I still don't get the actual need for ACL okay also Rajesh Shawn let me help you out there okay let me just use the highlighter and explain this thing so okay so before anything let me just clear this screen off alright and now let me highlight things here so the thing is we have certain files and directories right so let's call it file one or let me just display this okay so that it is file one this is file two and this is five three okay and currently there are a lot of for teens okay let's say there are like 20 teams right we have small small teams we have the marketing team the operations team the production team the deployment team the development team reps numerous teams support team and stuff but you want only some people to access it supposing I want only this team to access this file or this folder okay I can not set file dominance for that okay if I want only the scene to access this file folder I can do that using file permissions the same thing can be done over here also now comes the complicated part okay so you can even you know ignore these two people let me just take the example of these three people okay now these three teams this complete team you get access to this this complete team will get access to this okay this complete team you get access to what is here but what if you want the your manager of this team or the team leader of this team to also access what is there over here in this folder ah and similarly what if you want the manager of this team or the head of the same or the team lead to get access to this particular folder or one folder inside this folder right maybe just the summary result so maybe they can get access to how good the rival team is performing okay so that kind of a file might be present somewhere in this directory okay so what if I want people from here or here to just access that one particular thing in spite of them being in a different team so I don't want to assign these people this particular folder right it's a complicated thing if I assign them this then they'll get access to the entire team's projects and that's not something that I want okay that's how you know that's ill-advised thing so at that point of time I can use ACL so ACL is the solution at that time where I can just you know probably choose the particular file that I want to use I can reference that and I can assign it to them specifically now what another I've told you how the ACL is assigned now let me go and run a command and show you how the file permission is actually set right okay so rajesh are you clear can I erase the dry our diagram here yeah okay so you're good so I'm just going to raise this and okay all right so here we are and let me first create a file and show you how the permissions are and how you are enabling or extending the file permissions so right now we are here right so I think is going to navigate to my documents folder alright so there's nothing here either I'm going to do what I'm going to do is I'm going to create a new file called file one dot txt ok and when I do this I'm inside your let me hit enter and this right hand text hi this is a warden and let me say welcome to Linux training tutorial all right and let me just exit so this is going to be the contents so let me just verify stuff here and I do this yes this is what I typed and this what is there ok now if I run an LS – L command right so there's this one particular file that I'm talking about it was greater this time and this currently the owner here has read write and execute access the group has read write and execute but the other people they don't have anything other than read they cannot write or execute ok now let me use the AC else to update the commands over here ok to update the functions but before I do that let me just talk about the command by going to the slides right so far we've only enabled a CL so we're fully enables the use of a CL ok by doing the sudo remount and by showing these options so the actual you know assigning the permission is done by this to come ask for it set facl and get a facial okay so the syntax for setting is set official – M and then you have the user the particular user you're talking about the that particular person's username and the permissions and the file name ok the file in question similarly if you want to view the existing functions then you say get a facial and the file name right and when you excute this commands it'll look something like this alright so here you are setting the Thompsons and when you view the updated functions and not this is what it looks like so it would say the default file group and owner okay the users it will usually say only user group and mask and others okay but if you've attended to somewhat specified then you would have another line no referent only that particular user so in this command we use we set user 1 and giving them readwrite access and that's what we've done here so this particular user user 1 is getting read reading is cute permissions all right so okay I have another question from Gokul vocalist asking what does management stand for vocal – M here can M flag and the M flag is basically used to refer to the fact that we are assigning permissions to files in directories right so this is something that has to be given so you don't control this thing this is part of the command and this is not an option this is something you have to give right ok so let me just go back my terminal quickly now I can use the command yet ok but before I show you the yet facl and the yet or before I use the Isetta facial before that let me create more users in my system ok what do you think I want to do that because right now there are there are just two users one s be a root which is by default which is the mother user the super user and then there is a trigger so let me first create another user by running the command sudo user ad and let's say I want to create a user for myself Vardhan ok I do this I had end up password is this ok so it says user one already exists so let me just verify things by going to administration users and groups ok this is the password okay so we have different users here okay so we have a tracker there's a user I'm using right now Vardhan and ABC okay so this is a different user so what I'll do is since version is already present I will I will assign that particular file to myself okay right so let me just minimize this for now I'm going to run our LS – L command and basically button is not part of the group okay that's because ed rekha the parameter up is reka okay so even here the group that the file belongs to one minute here the file this one belongs the file one belongs to a trake okay group a to Rekha and the username at Rekha so right now since Vardhan is not part of that thing I wouldn't have access to this file if I was executing as vaartha okay since I'm experience a trick I have access to it so yep this is my group so what I'm going to do is I also show you that I can edit this file okay so I'm going to say VI 500 txt and I'm going to say insert so here on K I can execute it as user at raker all right so I'm saving it now let me see it get facl and the file name now as you can see the user that is a myself so I can read write and execute okay – mi self I am referring to the fact that it said Rekha okay the group I belong to can read write the file and the other people can only read so the use of bourbon comes under the category of others okay so let's say I want to execute one command as button so for that I'm just going to say su button so I'm going to take screw commander's button okay you can see the user name has changed what then now if I try your you know Prague's you're accessing this file I might be able to do it so let me say CD or let's this down so we have 500 txt here I'm going to view this file VI file 1 dot txt okay so this is the file that we created but it says it's read-only okay and I cannot enter anything here so it says warning 20-odd read-only files right so let me just exit this as you can see I can't do anything around helpless so what I'm going to do is I'm going to quickly exit get back as a Drakkar and let me clear the screen and what I'm going to do is I'm gonna set facl okay and I'm going to do that as after execute that command as root so I'm going to say sudo set facl – M and the user that I am referring to okay the user is button okay and the pumps in that I want him to gain and that is that of read write and execute okay and the file we are talking about is 500 txt so when I hit enter I've got the access by now so now let me again switch user to bargain password is this right now we have 500 XE and let me view do VI and C now it doesn't say warning order I know that I can only read this file but now I can even execute this file so big event or say writing this file as user right so great quit Nonya there we go so that's what we can do with the help of four set official okay now let me just check get a facial by you're running this command now if you see earlier there was only user and yeah the readwrite access okay and then you add that these details you didn't have this so since I enabled the the facl right since I enabled that by using this command have forgotten initial function for myself for report on user that's read write execute and yeah the others are pretty much the same so that's about this topic so let me just clear the screen and yeah I'm going to exit as this user and back as Eureka now let me go back my slides and go to the next topic right so I hope it's all here everyone I'm pretty sure that is the case so moving on the next topic Cameron talked about is that of fourchette scripting so guys are shed scripting I told you right earlier shell scripting is really really important because this is something that's the fundamental work or task of our Linux administrator right so as an administrator I can you know specify four commands in my terminal so you saw my terminal you know how it look like you saw how wire you type commands suppose I want to change one directory then I can do a CD once or I want to go to a particular path I do CD and then I put the path and then I get to access that file by doing VI and all these things right but what if I could you know run commands like that like hundreds and thousands of those commands you know in just one go and I don't have to do that every single day right how would I do it I can just write a script right I can just write all those commands in one file and execute that particular file every single time so what happens is when you execute that particular file every single day then those set of commands or operation will be performed every single day without you actually putting the same effort right so you are saving on your effort and your time by adding these kind of shell scripts so let me just get started with that and give you an introduction to this right so as the definition says a shell script or a shell program there is a file containing a group of commands that need to be executed at the advantages one file containing all the commands can be executed and the thing to notice shell scripts are interpreted and not compiled okay I'll get back to this line okay and the first end of every shell script is you have hash tag exclamation mark space slash bin slash bash okay now there's a reason why we have these two important lines okay now first of all does anybody here you know and they have any doubts what the shell is guys now I need out of course ok so everyone's seems like unanimously everyone who has said yeah we're not sure about shell okay so yeah Rajesh puja and medius guy is a team so basically shell is the complan that's gonna interact with your kernel okay so we have our command line here okay you have your command your command interface or your terminal which where you would be specifying the commands right and how is this cannot be executed how does the command the kernel or the operating system execute that command that's because of the shell so the shell will basically take the commands and that will in turn give it or forwarded to the OS or the kernel okay it is in fact over to the kernel the content will do the rest so that's the role of for shell so that's why we say it's called a shell scripting where we write commands for the shell and the shell will interpret those commands for us and get the job done by Arthi kernel okay I have another question here and that is what is bash from the image okay yeah that's a very good question and that was something that I want to answer right so bash your refers to bone again shell okay so the shell scripting is something that is the need of the UNIX right so back in the seventies man UNIX was formed or found that was you know that is all about a shell but however now things have progressed and grown right so now we have more than just one shell we have a bash we have ash and all these things so bash or refers to bourne-again shell or bourne-again shell and boring and shell is something that's used in Linux okay so nuts is basically the childhood for UNIX and we have the basher and bashes like really better than energy shell okay so if you want to access the shell programs with just SH but bash refers to the fact that you are executing this script as a bone again shell okay and yeah this is basically the path where shell is present so we have a number of four shells so like a note you have – we have – and all these things and we can also find out what are the different commands there so let me just work my terminal and show you that okay instead of just talking let me actually do some hands on your to display the different our shell type that your operating system supports you can just run the command you know chat /et c / shells now that's because there is this file called shells okay so file shell is a file and this has list of all the different shells that your OS supports so in my case my sandwich supports the ones that are present over here so I'm running a cat command which will display the contents of this file so when I hit enter I have all these details so my system bitsy supports shell bourne-again shell no login – tcsh and CSS okay so all these things and if you guys want to know where the shell is present then you can just you know the right Rick where it's present then you can just say which okay which and then the file if I say SH then it means that it's present in this directory okay so you also have the name of the directory that's present here but you know the technical way to find out the directory well that's present is by saying which and bash so my bash file is present in this directory okay now what this essentially means is if everyone is acute any file or any shell script as bash then I have to include this in the first line of my file okay so that is why you know there was a note that said that this should be the first end in the file right after ashtag and exclamation so this is the reason because we are different the directory that where the shell is part of okay and similarly if I say which and no login then it will show the path where that is present so yeah so that is the thing so let me just stop here the screen so guys let me just quickly go to my slides again okay and get continued here so I told me that every failure will start like this and then you'll have the file contents so let's take the example of this hello world here so the file contents is such that the first sign is this and the second line is an echo command and which says hello world and if you execute that file okay this is what the output is this is what I suppose get and that's what you get and you execute the your shell file – bash for it by the name if it's a shell file just as such then you can just give a set space hello dot whatever the file name is right and okay I have another question here and he's asking why is the file name Co – dot SH okay now that's again a very good question okay so Mohnish has asked me that question Maurice Shaw so when we say dot SS right it it's basically just the extension of the file okay so it can be anything we don't necessarily need to give God a set so you can just say hello okay but the thing is there are many Visual Studio editors right we have the visual studio editor and we have many other editors for the in Lux write bed you can do the coding or you can do the typing so basically when you say SH those editors recognize that this is a patch file and they will do the graphics and you know they will you know make the file contents look good they'll make the code look good otherwise you don't give SH then there's no problem so technically you're not gonna have any problem but the thing is it's it says that it's gonna be a normal file and you know it's not going to be easy for you to start coding there so that's the only difference right so yeah so let me first of all go to the shell create the first file okay the first file for us so let me go to my terminal and right now we have file 1 dot txt now what I'm going to say is let me create another file called VI bash file dot Sh I'm going to save it as dot SH because the editor understand that it's a batch file and it makes sure that it looks good right so I just hit enter and yo ER and the first line should be this okay and slash bin slash bash is where my bags are create so that's why I am using that line now I'm just going to say echo hello world right so let me just save an exit and if I run this file okay be a patch file or a search then I get a hello world so that's it so that's as simple as it is for executing a bash file okay but I mean it's so simple but I don't want to just end there I don't want to disappoint you all because there's something really good in store right so I'm going to give you a little more in depth details of shell scripting okay now that is what I have in this slide so in all UNIX shell scripting I'm going to tell you what are the other things that we can do right how will you use variables and comments how you write comments in your file okay I will talk about how do you read inputs and then how will you pass arguments to your file you know from the command line when you execute the patch file you can pass arguments right so how will you do that so different between reading inputs and passing arguments is that reading inputs would be you know when you're when you've already run your command right when you've executed your bash file then it would prompt you for an input okay now how will you give an input during run time so that's what this is and that's passing arguments in as the difference between the two and then finally the programming aspect how will you use the for loop if loop if there is and if LF okay so if Elif bitchy is a if as if so that's what this stands for okay so we're going to do all these things in the shell scripting tutorial so let me go back to my terminal I'll clear the screen right now first and foremost adding variables and comments so let me first of all add comments and show you how that is okay so I'm going to edit this file again let's say insert in any of our Eclipse IDE or in any C programs it would basically be one forward slash and asterisk right or just two forward slashes and then that's a comment so here it's even simpler just give one hashtag and if you are write anything as here then that basically becomes a comment so it become a comment and that line will not be executed this is a comment and this line will not be executed right so let me just say this and when I execute this batch file it again says hello world that line was ignored completely but let me show you the alternative okay now in case I remove the a spectrum you're then in this basically is considered as a command right so it would basically there's no syntax error it doesn't make sense so it should you know throw an error so let's see if that happens and as you can see hello world the first command is displayed but after that it says as a you know error your mind for this command not found because it's not able to understand this it's on a keyboard or anything so that's why so that's about how we add commands right so I'm going to say this so yeah that's how you add command and net next comes the concept of variables I'm pretty sure you all know what variables are okay because I'm mark and I'm guessing you all are from programming background is that the kid guy is everyone can I get a yes from everyone otherwise I've got a whole lot of things to do with this session okay that's good you seems like most of you are from there and you know what variables are so what I'm going to do is to the same file I'm going to add a new variable and execute that variable okay so let's create a new variable called and name okay and I'm going to say but then I'm going to just type in my name and shirokino duck commander that it will call the variable here I'll say my name is okay and here by using the dollar symbol followed by the available name I can just call the variable so whatever stored it in here will be displayed here okay so I'm just going to exit this by saving it right and when I execute this okay so again yeah there's a error here that's because I have not used echo right so how silly of me so we need to use echo so that's the sound output otherwise I'm going to happen so yeah it's a very very silly mistake from my start and yeah so my name is Donnie right so now we'll execute this so as you can see hello my name is Vardhan you know it will be clear even I got executed so similarly what I can also do is I can add the any number of variables right so let me add another variable let me add like numbers I can define X to be equal to 100 okay I can do this okay no there won't be full stop so I can say Y is equal to five right and I can just save this or in fact before saving it what you got to do is ready what call it right so let's say echo and dollar x then next line let's say echo dollar Y but maybe for our reference some to do something at all let me add it here okay echoed dollar why okay so first you I should be displayed and then this should be displayed so let me just save this and bash it again so yeah first y got executed Y available in Y is five was the value sort and the variable X has 100 so I first called this and then I call this so that's how it is died so settled right so that's about variables and comments okay just clear the screen and next thing I wanna show you here is uh how do you execute power rather little how do you pass arguments alright so you have your shell and how will you pass arguments your shell so for that let me just go back to my batch file right now passing your argument is basically you during executing the command while you are saying bash and exuding the files that time you're specifying an argument so what I can do is I can just hit enter and I can write a command here okay let's say echo the argument you entered is and it's dollar one okay now there's a reason why is dollar one because up there is a numbering convention okay so every time you add arguments so they'll be numbered as 1 2 3 by default right so in this case we're just naming the variables and we are calling these variables by using the dollar symbol but if you use a dollar symbol followed by numbers then the argument corresponding to that number will be executed so now let me just hit enter here and let me just save this ok now what's going to happen is if I execute this bash file along with an argument now let's say hi and if I hit enter then hi will be written in that ends of that particular argument so right instead of Scala 1 we have high here so that's how it is and if I want to spare you know send multiple arguments here okay then I can do that also I can do that by simply giving dollar two dollar three and dollar four because that'd be the convention that I'll be going in right so I can just follow what is that in this $1 $2 $3 for and I can say the arguments you entered our and then these okay so now I'm just going to save and quit and if I execute this along with a couple of you know arguments so let's say hi my name is so I'm a bit cleaner for arguments your end each argument with a space in between right blank space so when I'd end up I have the argument or entered so hi my name is so that's how you enter details in so that is a awesome right that's really cool right so that's the argument spot okay so yeah but one thing which you guys need to know is they start from dollar one dollar two dollar three and dollar 4 okay but we have something called as dollar zero here and dollar zero refers to the first argument and in fact they are on the first arguments and your first argument is your file name so bash file dot SH is my first argument hi is my second argument this is third this is fourth and this is it so that's how it is right so let me show you another example of that I mean insert and say the first argument is and if I give taller and zero and when I say even quit okay I have forgotten to put insert there right like earlier so echo right so now if I say I mean quit and if I patch this then as you can see these are available but along with that we have the first argument that is Bashford so this is the so this is what I meant is the first argument these are the second third and fourth arguments that we have in our in our command okay so that's about scripting here and the next up is that of reading inputs so how would you read inputs so to read inputs there's an under a keyboard called read so you've got to use that inside your file right your bass Kirk so let me just go in there and edit this bash script itself so I'm going to say insert and in the next line what I'm going to do is I'm going to type in a command such that I'm going to say echo followed by the text that is the names or the arguments you entered are okay and after that I'm going to use a read command over here and I'm going to say read and I'm going to specify the variables here I'm going to say name one name to and name three so this basically means it's going to capture three different variables so these will be counted as variables and I can use a dollar symbol later to get back the value stored in these variables right so I can do that now to do that let me go to the next next line and hit a echo command again echo the names you entered R and let me give dollar name one dollar name two and dollar name three okay but let me also comment these lines okay so which I don't want them to be executed so I wrote this alright so let me just see I'm an accident when I exit it will prompt me for you know three different names after the thing is executed so that time I have two entities are details okay so I'm going to pass again so here it's asking me for input write the arguments you entered R so here if I just say Gandhi and FDR and then let's say Obama and if I hit enter I'm having the other half the line the names you entered are right the arguments are you enter so that's what this is so this is an underline the Eliminator dot so let me just check what that line is so yeah so that is this line in fact I can even remove all these things I can just make things even more easier for us so you know I can just put this in comments right I can just save this and if I go back and just run this command so this time I've removed the argument so if I had to end out Danya it says hello world my name is Watson and then the two variables now the it asked me for input right so now why can this type and input like or say the same let me again say Gandhi groups so again let me now give FDR and then let's say Obama okay now if I hit enter then it says the names you enter are right so I can even modify to make it more sensible so instead of saying right ends up saying echo and you know the arguments are I should rather be something like this it would be something like please enter three names right so now if I save it now it would make more sense to you people correct it says enter three names and now whatever I type whether your type Gandhi and FDR and Obama and yeah so that those so the busy whatever I entered that word capture and that got displayed over your so this is more meaningful example right so that's how we read inputs in shell right you're in the shell scripts so that's the end of this and then yeah so now next is D F if then if else if I left and the for loops right so for that let's again try modifying that file okay I'm just going to comment all these things right so I'm gonna hit enter and put a hashtag in front of everything so that they don't get executed right okay so I'll keep hold of for this right so I can even hashtag this and this and I'll enter my details here so I write my f loop here so similar to any programming language we have if condition right so we have it in this form we have the youth statement followed by that we have the condition if it's true or not then we'll have one set of condition if not it will be false so basically I'm going to use the same variable name here okay so since it's already there I'm just going to type in the if command here if okay and I'm gonna call the variable your if name okay I can either give equal to or bharden or instead I can also give – EQ so I can do one of these things so I'll give – EQ so this basically means it refers to the equal flag okay so it basically check if three deals here and if the details over here are the same okay now let me just close this bracket and go to the next line if this one then so this is important to write then okay so we followed this format in – flipping ok I'm going to say echo command is true all right and every single if loop that you open that ends with fi okay you need to remember this yeah so the only thing is that you know you can use either equal to or rock just the equal to symbol okay but the thing is if you're using the equal flag it means you're going to talk about in teachers in specific okay but instead if you just rather use equal to then it will verify anything whether it's integer over the string and in our case the string right so we're going to use equal to okay or if not we don't want to embed for this condition then we can also use a not equal to but in our case it's this so let me just save this okay and let me attend all right so now that we are here let me execute the batch file and as you can see the command row is verified okay you know this worked out well and it's true so yeah so that's how you excluded command but let's take the condition of if-else right so case we've set it to be not equal to what then okay so here we are giving then this command to be executed so if this is true then this will be execute but if not what are we going to need what are we going to execute to it for that instant we go to insert another command and that would be the else part okay so the else part would be echo command is false right so now I'm just going to save this and exit and let's execute this command and as you can see now this time since we changed it to not equal to right and the condition here actually fails so that's why it says the command is false so that's the thing and yeah it's as simple as this guys but in case you want to add another comment here then you can do that too right so let me just clear the screen and go back and try executing and showing you something okay so let me just say enter so before an else part we can have an Elif light so here Elif and then here I can have the command the actual validation or I can say dollar is name equal to and let's say we're done right I'm going to close this and I'm going to say then run the command echo the same it should be command is true right and else it should be the command is false and then we end the file with NFI right don't we so yep that's it so if you guys are all here then I can just strike during this this is the case guys and it's waiting for your approval because so the l if that you see here right so the LF is basically just you know how x2 dunder else of command so if this is the case or else if this is the case or else if this is the case so we have three different connections here so that's it so these are the if and else important case you won't have another validation here then you can just have and hell if basically exists else and if together so that's it so you should have any problem here so ya see this time it says the command is true because the else was didn't get executed but the l have got executed here correct so that's the thing and yeah that's about the if conditions and then that is before condition that I want to talk about okay the four loops how will you execute four loops so let me just go back to the batch file insert and I just want to make all these as comments or rather let me just do one thing let me create another file okay let me say bash file two dot Sh okay I'm going to create another one and I'm going to say this okay the /root slash bin slash bash right and so now I'm gonna enter the desert so the for loop is going to be something like this okay the syntax is something like this so we have the for loop and then we have the variable here supposing I want to say in our gauge reads for I is equal to this range of that range right so the variables I so here also we can have the same variable like but instead a simpler syntax is for I in and after in I can just say the inside flow of bracket I going to the sequence let's see if I want the numbers 110 to be executed then I can just say one I have to dot over there and then I can say right so this sequence would basically be executed so this is the variable which would execute between this sequence where I would assume the values between this range right so that's what I do and then after this when I assumes this range what do you want to do you can say it do and then we want to say echo dollar right so basically for every time I will assume a value we are printing that value right and then we can just give done and yeah so let me just save and exit and let me say bash and the file name file to write so if I enter so the sequence is printed right guys so awesome right now similarly if you want to print from specified list then you can do that also by instead of you know giving flower brackets here you can just specify the numbers that you want so by which page though that's the thing you need to note so three four and five right so when I do this then I will assume these different numbers and then it will print whatever is written here so this is going to save this and yeah when I it backs this again so it executed one of these right so yeah that's what I want to show when that's it about the for loop aspect also right so let me just go back to my slides and yeah so this is the four things that I wanted to talk about with respect to shell scripting the next topic that I'm going to talk about is that of patch files okay so pass file is again a really really important topic like it or you'll it's about all these software updates and the upgrades how you do it you know what is the procedure you go to follow and all these things right so basically whenever there's a security effects or software update available we can apply those changes by using the patch file so the patch file is the text file which contains the differences between the two versions of the same file so we'll have the original version of the file right the first executable which you have used to install the software right and then based on that you will have a reason one you will have a newly updated software so you'll have that executable so we will have the latest version and the one which you installed so using these two you generate a difference file okay so you use the difference once you've generated the difference then you create a patch file okay so that's what it says your patch file is created by using the reference command yeah basically use the difference command to generate this pacifier because you'll have two different files here you will have the original file which you installed right which the software which were installed with then you have the reason updated the version of that particular software and then you have that version so basically to find out the differences between the two we use a difference command and when you use the difference command the newly updated changes or only the additional ones will be noted down and using that you can create the patch file okay so without wasting much time let me just quickly try and go ahead and show you how a hello world is executed okay so yeah but before that let me just talk about the creation of a password so first of all you create the difference file then you have the two files okay so these are the two files the – hello files right one is the basic one the other one has a little bit of a difference right when you have these you use the difference command to generate this kind of a file alright so you will generate the hello dot patch using the difference command and then you patch this particular command and then you can just execute the command so you compile the program here and you run the program here so this is going to be a dot C program right so I'm going to write hello world in nasty language so it's saved as a dot C but yeah I'll do a is the executions all done by Linux right so let me just start quickly go to my terminal and create – hello walls okay so here I'm going to say VI hello dot C right and what I'm going to have inside here is I'm just going to have hash include yesterday IO dot H I'm going to close this main all right here without any return type and is going to say printf hello world right and I'm just going to close this okay it's going to end right here so I'm going to save man exit so this is going to be my first hello world program and I'm going to say hello new dot see okay now here I'm just going to use the same things but with a little bit of a difference so I'm just going to copy what I wrote here okay and inside the hello new I'm going to print I'm going to paste this and additionally I want to add something here so hash include stdio.h and the difference is going to be that so I'm going to say void and inside this I can add underline saying printf okay and I'm going to say it patched file right and yes I'm going to say new line and yeah and in fact I just want required course is going to be the last line okay so yeah there we go okay we need to close this right fine so my program is ready so this is the new past file okay and this is here – hello new so I'm just going to save an exit so I have basically hello new and hello dot C now what I'm going to do is I'm going to create the value in the difference command and the command is diff – you and then the the first installed fight okay the intro to alpha that's the first file followed by the new file the here is going to be hello – new okay so this is going to be the first one the install package and there's going to be the new package right so now I can just say patch okay to generate the patch file now okay so there's a spelling mistake there right so yeah let me just remove that and hit enter yeah my patch file is created now I can just view my patch by single cat hello dot patch yeah so no file because yeah the the name of the password that I've created is that of patch so I'm gonna say cat patch because the difference has been created and it's saved as patch so I had put a hello dot patch and that's wrong right so I mean is going to say cat and patch someone executed and so the new file that the difference command right what it does is it generated the patch file with such idiots where it's saying that this was the commander was already there this was the user was that was already there something that is adding getting added new and all these things so this is not something need to worry about but since the patch file is generated the next thing that we need to do is we need to run the patch command okay so what we got to do is we go to work say patch right and we got to use this operator and called the five patch in our case so it's patch this one okay and if I hit enter it says patching file hello dot C so by using this file your patch file we've generated the hello dot C words because the hello is the name of the original file right so we've updated the details in the original file right we whatever difference was there that was stored in the patch we use the patch command to operate on the generated patch file and we use that patch file to update the existing hello dot C file so now if you see the cat hello dot C right when we do this then you would have the updated or the newer code correct so we have this bad fire command right we have this patch file line right this one and the int main void the return type all these things that are in our hello new dot C file not here so that's how this got generated so that's about patching files right so it's a very simple example that I show you of that of hello world but if it's any big go software or program that you are doing it then it's going to be in a similar fashion it is that you need to you know just follow the same operations okay but to go a step further let me just also dis compile the program and show you right that's something that I miss out on so first let me clear the screen and yeah so the command is CC hello dot C the O flat followed by that and then say hello so let's use dot slash hello so this is what I've compiled it to combines with your and I'm going to use this command to run it okay so the compiled files when I ran it to then it said hello world so that's it guys so that's how simple it is right so yeah we have a hello world and then we have a patch file right so that shows we are executed the updated patch file right so our software will get updated in a similar fashion so we just follow the same procedure we will update our software or any package or anything right so this is going to clear the screen and get back my slides okay so we have one small topic left to finish let me just quickly go there and get completed with that so networking in the next okay so that the next topic and here we'll talk about SH SFTP and SCP right so first of all SSH SSH is used for accessing remote machines right so guys whoever attended my previous session you would remember this so as that is a communication protocol used for accessing remotely located machines right and once connected the commands can be executed on remote machines so I even show you that last time so I'll show you the similar demonstration the same also okay and if you want to enable SSH then you go to use the update you know off the inner download from the repository from the next repository okay so the command for that would be yum install OpenSSH server right but by default most of the distributions have the SSH connection so in case you guys have promoted by you know if you have removed on your own or if it's not available then you can use the open asset server command right so you can use the yum install the OpenSSH server and you can install it such but however specific audience all then it is well and good you can just start the SSH service by running I don't check conflict sshd on okay and then you got a safe service sshd start and then you are as that service will be up and running okay you can just run it from root if you're not going to run from root then you can just say sudo which will execute that command or from root alright it's that simple and if you want to connect to that particular remote machine so these are the commands to start your register but if you want to connect to it then you got to use this format so you got to just say as I set forward by the username at the rate the remote host okay so this basically is the remote user name would be the username that is logged on to on that machine okay supposing in my case I have logon with a tracker as the username right so f2 our if I'm accessing my machine from some other remote machines an outside SH ed Rekha at the rate the IP address okay so the IP address of my particular machine but in case if it's not a remote if it's not a remote host so when we say the motors it means that if basically both the machines are in the same domain then we don't need to give a Dre domain notes because it would have the same IP address right so drum an email address and a pair so within this give as such at username so that would be enough correct so that's for basically connecting to the remote machine and when you hit this command you would be inside the remote machines server so let me just so let me just quickly go to the next slide right so here we have other details so in my demonstration I'll be showing you one with that of virtual machines okay so I will not be using so since I don't have any physical machine with me so I will be executing the command on my virtual machine right I'll be referring the other virtual machine in my ghost box so I have two virtual machines one called the master the other called the slave so let me just go to my versa talks so this is the master Bram running I showed you a demo on this so let me just go back to my VirtualBox and start the slave machine okay so this would take a couple of minutes to start but in the meanwhile let me set up the network okay so I'm just going to connect to the internet so I'm just going to click on this so so the thing is that guys you want to make sure that both your network ports are working okay in my case I have at 1 and at 0 ok but this is because I am using a wheel and I have I'm connecting to another virtual machine from my virtual box ok so that's the reason I have got two of these but in your case you would have only at 0 correct because you will be just connected to the network and you will be accessing the remote machine ok but in case even if you are using a VM then you will have 2 of these kind of connections so one would be the network entity right so in my case I have one word h0 to be an ad where this would help me connect to the internet and the s-1 would help me connect to the other version machine in my network correct in my in my case it's in my own system in my own virtual box the other much virtual machine in my virtual box so it would be at 1 and at 0 is basically the one that connects me to the internet so if in your case if you don't have if I zero is down right then you want to be connected to the Internet so that's a thing right so I'll just help you out there but before that let me just log in here ok I hit enter now this is the slave machine but in the meanwhile let me just quickly go back to my host machine and would have come to my home directory and what I'm going to do now is I'm going to check my IP SATA so I'm going to run the command if conflict ok now when I run this command what you can see is my at 0 which is nothing but my energy address which connects me to the internet that has the IP address of 410 dot 0 dot 2.15 ok and alongside that my local address that is my VM address is 192 dot 168 or 56.2 ok and similarly so the l1 is something you don't need to worry about it comes by default but what you need to be worried about is at 0 if your access remote machine but if you are accessing another way and then it's going to be at 1 okay – so you will have basically two network connections one connecting to the internet one connecting you to the other machines in your network ok the other machine or the other host so in here this is the IP address so let me go to my same machine and run the same command so I'm going to say if conflict but before that let me just make it a little bigger so I'm just going to run the command if config ok to check the IP status and ok so now it's not showing any IP address here okay so that's because my net is down probably yep it is so I'm just going to connect to my na T but however my local addresses are shown so configure this to 101 6:02 36.2 ok so now let me just clear the screen and run the command again now yes I'm kinda to the internet also and this is my address locally okay this is my network address so the kachoris both my slave and my you know my master has been connected to now what I got to do is I got to change the IP address of one of these machines okay so basically since this is my network address so what I'm going to do is I'm going to drop this IP okay so to drop that IP I need to use the command sudo IP add or delete and specify the IP that you want to drop it's a copy paste okay and give space and after that say which F that's one okay so now this basically you will drop this IP address so when I hit enter okay it asks for a password and yeah so my IPS drop so now if I do an F conflict then you would find that my 8th one doesn't show any IP that's because I dropped it so now let me add the new address so the only change this n is going to be the IP that I want to change it to I'm going to say 3/24 and I'm gonna insert delete it's going to be add ok so this time I'm going to add this as the IP address okay so I'm going to end up so if I run if config now as you can see my IP address has been updated to this so basically my IP address for slave asset and for my master is also set ok so the master has this has the IP so let me just clear the screen and what I'm going to do is I need to go to my ET c / hosts file okay so I'm gonna say VI / v DC / hosts okay now the thing is that I've already set the IP address of the master to one or two and one or three over here okay now I got to change this now since my master has a IP address value of 56.2 I'm going to change it to two here and since leave as three that's what I've set in my slave machine right so I'm going to change it to these okay I'm going to save this and okay so seems like I've not logged in as Orion only because this is something that can be only appeared by the root so I'm going to execute the same command as pseudo and this is the password and yeah now let me change these things okay so this is the IP of the master this is the IP of the slave okay and save and quit so yeah my host file has been changed here and similarly I have to go here I'm going to clear the screen I need a change to PDC slash posts okay it's not change directory it's VI and it will be executed as pseudo so okay so here it's already set to be one ninety two dot one sixty eight dot 56.2 so again the master that was the previous machine that is – and this is my slave machine this is set to three so I don't need to make any changes here when I quit so if you guys want to understand again so what I did is I have my master machine as up giving it one IP address and the same machine I've given it the other IP address okay so in my case what I've done right now is I've given them 56.2 and 56.3 okay now now that I've done this I can just straightaway run the command node to access the machine now since the IP address for the master has been set 2.2 in my master and 2.3 in my slave I can access the slave from this IP address right I can now use this IP address from my master machine so this is currently am in the master machine so what I'm going to do is I'm gonna you know do a CH to this particular IP address and I don't need to in fact give the IP address because I have save it with the name of slave nodes like a variable so if I just put a CH and but I'd say then we connect me here so but indirectly I can even not type in the IP address so that's completely my way so I can do anything so if I just say SSH and if I just say slaves then I would connect to that particular IP address that is a physics door 3 okay that's fine that's just a warning and yes so I've connected now so right now I'm so you notice that regard low close it's actually referring to the fact that I'm logged in into the slave ok so last time I logged in was on this day so to verify if I'm connected to the slave of the master what I can do is I can check the documents right so present working directory I'm right now in a Drakkar folder so let me just CD to documents ok LS so there are no commands here ok and let me verify that by going to the slaves this is my slave machine I'm going to attract a home and one documents and you can see that there is no documents here right so there are absolutely no documents here so that's the thing so that's the connection that means that my my masters connected to sleep and to prove it further what I can do is I can show you this the Masters Documents folder ok the documents folder of master has all these files it has the ones which I created earlier ok but had it been referring to the master then it would have displayed everything right 100 LS that didn't happen so this means that add to the slaves so that's the thing and similarly if you want to just exit from the connection then you can just type in the command exit ok but however you can just connect your master on this way and smelly even the slave they I can connect to the master by just saying SSH master right so now I'll show you how that is done so I'll just go here and I'm going to say SSH master that's because the EGC host file has the IP address stored here the master dot – right so it should connect your let's ask the password is the password here you go and the login and yes so now if I change directory to documents and if I do LS I'll find the view of the files I created earlier so this is what I'm doing from the slave machine so this is out as that is done and in our case I've just accessing another you know VM in my own system but however if in real case not here you can do the same thing using the same commands you can do you can access any machine that's located you know in the different continent or in a different place altogether right so that is how SSH works so it's pretty simple it's pretty fun to work and I'm pretty sure you're you guys are having fun and you guys having fun yeah I'm hoping for a couple of yes from you people okay so anyways in the meanwhile I'll just go on to the next topic have shown you what s is a transfer and now comes SFTP okay so SFTP something that stands for secure File Transfer Protocol okay and this is for transferring files now the thing with SS is that we use the SS to connect to the remote machine right we connected there and we can execute commands over there but problem is we cannot transfer files okay it cannot be used for downloading or uploading files from the remote machine so that's the limitation with SSH but in this of this we have something called as the secure File Transfer Protocol okay and we can use the SFTP for transferring these files right it's not see menu will mistake it to be an extension of for FTP okay so FTPS is an extension to ftp but SFTP has nothing to do with ftp okay so this is another protocol that's on its own which is something graded to essa – okay so this stands for secure File Transfer Protocol and we can transfer files using this protocol so again to run this protocol you can just use it by giving this command SFTP and the IP address okay so the again it's going to be the same format this is the user name at the rate hostname okay but in my case I'm this in the same domain so I don't need to give the entire thing I can just give the IP address and in place of the IP address I can just give master because in my EDC slash host file a bus saved the slaves and the master IP address over there so from the master can just give SFTP slaves and then I'll connect to the same machine and from the same if I do the other way I will just come that so I hit enter I will get this kind of command and I can execute commands that right so I can just show you that so I'm just want to go back to my terminal it's a man my master right now right so I'm just going to give the command SFTP and I say slave because I am right now with the master and yeah connecting to slaves and the password is this there you go and now event or SFTP okay now when I do LS am again okay so again now I'm in my slave machine okay and currently I'm seems like I'm inside the home slash at a record directory so my slave of course let me just open my slave and show you that so this is my home so I should record directly where I have all these files and folders so this is what I'm able to see right now supposing I want to see what is the present working directory Nariman I can also do that by running PWD okay so it says the remote working directory right I am currently in the home slash ed Rekha correct so similarly the other thing is if you want to also see the present working directory of your own machine okay so this is the remote machines directory so if you want to see the working directory of your machine of the host itself not the remote host but the horse which are then you can do that by appending L before the command so we ran PWD that time this time let's run our PWD and if I go enter it says local working directory okay so even now I'm here so yeah so if I just say L and CD documents okay I'll enter the Documents folder so if I again say L and LS I'll have a list of all the files that I created earlier so this is what the demo I showed you because I created all these from my local machine but if I just run LS I'm referring to the fact that I am talking about the sleigh via the remote host and if I say Siri ends up saying L C D Phi G say Siri and documents okay so there's wrong spelling there right so documents so yes I mean the documents folder of of my hosts or if I just run LS you can see that there are no files over there so that is what I want to show right LCD and similarly for every single command you just need to append the L before the actual command okay whether it's a change directory or present print working directory or anything for that matter of fact and here comes the important part the whole topic of using SFTP right no reason anybody would use SFTP is because of the fact that we can download files correct of course we cannot download directories here we can download files and for downloading a file it's a simple command just say get the file name and the path name right so when you say get you're just referring the the path of the file in your remote host okay you are saying get this file from this path okay basically you're also mentioning where you want to store it right so this is the destination is the source and this is the destination and similarly if you want to upload files to the remote host then you can say put file name and path name so that's how it is right so yeah so let me just execute this command and show you once right so currently this is my slave and doesn't seem like I have any other file other than this so Derby dot log is the one file that I have in my ed Rekha folder right so I'm going to go here and I'm going to say print present working directory it says this I'm gonna come back and say LS so I have Derby Autolog so what I'm going to do is I'm going to pull this command okay so I'm going to clear the screen and run that command again and yes I'm going to pull this file right so I'm going to say get the B dot log and we're gonna store it in my okay so that the Derby dot log here also so in fact what I can do is I can stored on my desktop here right so there's no double your log over here so I can just say desktop because I'm currently ok now before that I need to verify where I am so in my local directory so I'm gonna say local PWD so our cam and document so that's good I did that so when I go back I'm now in my okay so I made a mistake there so what I should have done is I just have done L CD cocaine so l pw would bring me back to home ed Rekha and I need to CD space okay okay so this means now we're all in fine okay so I'm in my home directory now what I'm going to do is I'm news going against quickly clear the screen do an LS we have Darby dot log so I'm going to say get Darby dot log and I'm gonna store it in my desktop right fetching and yes it's complete 100% so by that I can just minimize this and check and see the wot log file is downloaded from slave from the save I downloaded to the master so the same way you can just use the put command right but it's a pretty simple things what I want to waste your time we are running short of time already so I'm just want to exit this okay and I'm going to talk about SCP okay now when I talk about that let me show you the let me talk about the limitations there so I'm just gonna yes so we're already out here so I'm gonna clear the screen let me go back to my slides so this is where we were we've run the get command and the put command so similarly for the put command also used to specify the filename and the path name right so put whatever the wherever the file is in your system local system you choose the file name with the path and then the destination so that's it so you'll be fine when you run the command and now coming to the next topic that is SCP so the previous one was SFTP where I should have data for transferring files but SCP is for transferring folders and directories SFTP cannot be used for transferring folders in directories right and SCP the protocol used for this purpose whether it's directories or folders so similarly the syntax that you go to note here is that the source comes first and the second comes destination okay and the command put on a CD is this SCP – our remote host : path name and you know basically the path name for wherever you want to download a directory from right so the remote host basically refers to the fact that it is the IP address so if you have the remote address if you have the IP address : path name then it means you're pulling the directory you're first going to this directory okay okay you're downloading something and then you're downloading it to this path in your host okay but if you have the path name first and then if you have the remote host : path name so that is nothing but IP address : path name this means that you are using the SCP to upload a file from your path to the remote host correct so it all depends on where the remote hoses so that's why the syntax is important over here because ever comes first right the syntax according to syntax if the IPS comes first that means you're downloading it and if the syntax comes or a second that the second argument then it means you're uploading a directory so let me again this quickly quickly go to the terminal okay and let me just run a PWD okay so let me change record documents and we have all these things here right fine now I'm going to run the command FCB – R and I'm gonna refer slave ok slave and enslaved which is the directory that I want to go to that means what do I want download from the slave first for let me figure that out supposing I want to download the okay so that is basically nothing much here so what I'm going to do is let me just start download the this music folder itself okay so I'm just going to create a random failure create document empty file okay I'm going to name it this dot txt okay so basically it's empty okay so there's going to be nothing here gonna close this but there's going to be a file inside my music folder so what I'm going to do is I'll go to my master I'll say slave and the path is slash home slash at rekha slash music okay so do the path and wherever I want to earn my host I wanna just stored and desktop okay so I don't want to do this so let's hit enter it asks for a password great so this is the file and folder this is the file that I downloaded so that's hundred-person completed now let me just go back to my master okay so I seemed like that an issue here right so I doesn't seem to have downward so I think the mistake I did was I didn't specify the entire path so that's what I should have done so what I'm going to do that I'm just going to enter the entire path anyways slash home slash ed wake up slash desktop okay who did some spelling mistake here okay now if I hit enter and if I go back now you can see that the music folder is created correct so music and the files inside that has also been downloaded so that's what the SCP command does guys so I had made a mistake that I had not specified the path so guys yeah remember you will need to specify the entire path if you wanted to be downloaded right so that's the thing and again so let me show you how to put it right if I want to upload it to the to the remote host then again the command is pretty similar it is that you will have it the other way around so I'm just going to copy this or let me just write it all over again right so just to omit any confusion so the command is a CT – art and then to put your first specify the path the source of that file okay and the source is in your directory right in your host so what do I want on transfer let's go to Erica home and to something ABCD is an empty folder so document is there okay so in document have quite a few files and folders so what I'll do is I will transfer documents this folder itself to my remote host so I'm going to save slash home slash a Drakkar slash documents right so I'm going to transfer this do my slave and my this D basically this will capture the IP address of my slave and the path I want stored in is a slash hoom /a Drakkar / let's say i want to store it and I want to certain downloads folder okay so let me go back to my master machine and say D s okay so when I tend to a task to the password there you go and yes all the files associated with that all the files inside that Documents folder has also been downloaded right so let's verify that by going here and yes so this was the Documents folder downloads folder and we have that whole entire set of you know document that I created right so everything's area so that's how it is guys so that's how ICP works right so these are simple examples of how things are done okay so when you're working in read an environment you'll have a lot of such work you love you'll be working on these things continuously so yeah let me just get back to the slides because I've come to an end with that aspect so there is that the end of the session then right so I'd shown you all these things during my session I show you how file permissions and ACLs work right I show you how to set file permissions and then how ACL extend the file permissions and then I thought about a shell scripting I'd show you some of the shell scripting techniques here I show you how to use variables in comments how to use the for loop a flow the if-else or the if Elif loops and then I show you that with those things and then I spoke about passing in the nuts so patching I took a very simple example of hello world and if at any offer that you want to work on this you've got to assume nothing right so that's patching and then finally we have the SSH SFTP and the SCP right so yeah these are the three different no networking protocols that we have we follow which is highly preferable in Linux and I showed you that access for accessing the remote host SFTP for downloading and uploading files and SCP for downloading directories and folders so yeah seems like all of you are happy I've actually got a couple of comments saying thanks a lot over then so yes guys thank you because it was pretty good that you know starting of the webinar it was pretty active we were asking questions you are attentive I really liked it and even during the later half of the webinar I hope that you people understood everything you wonder networking techniques the patching and stuff for that right so yeah I think probably a little again during some other time maybe the next Linux webinar we'll meet each other another then just take care guys all right so yeah bye-bye thank you thank you for being in session all the best I hope you enjoyed listening to this video please be kind enough to like it and you can comment any of your doubts and queries and we will reply to them at the earliest to look out for more videos in our playlist and subscribe to our Erica channel to learn more happy learning