 Oh Technical difficulties, it's always great way a good way to get started here. I'm gonna sit this over this way a little bit so I can Walk out a little bit. Okay My name is Kyle Hudson. I'm one of the sys admins here for Baocat. The other sys admin is back here in the corner This is Adam a lot of you have of course wanted a lot with us via email and So that now you can get a face with it. This is Dave Turner He's our new guy he is our optimization application specialist person and So he's gonna be helping us out here today his voice is still a little gone We've all had colds within the last week. I've got it all through the department. I guess sir, so I I had a matter of fact yesterday My plan was to come in this morning and buy lots of pseudofed and be doped up and I woke up this morning He said hey, this isn't so bad. I think I can make it anyway, so I'm just getting over it Adam's just getting over it. They've still got it for a bit. So you know when it's down from him just In and reason is our just is our apartment head where my dad got it Look back here He's not out of town today. So he's not gonna be here normally. He likes to be on them these things too This is I try to make this really interactive feel free to ask questions whenever through here that kind of thing If you need to drink a bathroom, they're Down here at the atrium just outside this hallway. There's some water fountains Just so the atrium and bathrooms are off to the right there. I Promise I won't be offended if you need to get up and go for any reason whatever your phone calls Somebody had one little bit of go whatever We're we're pretty flexible. We're easy-going guys. So, you know, there's point of clarification whatever Please feel free to bring it up that kind of thing We got kind of four sections here today. The first one just kind of an introduction to Linux and high-performance computing So first of all We have the section I call tools of the trade. These are what we need to get in How many of you are current Bayou cat users? Is that pretty much everybody? No, I've got a couple that aren't Well, the first thing you need Well, actually the first thing you need is to get an account Which I'm assuming the fact that you got the email that you all have an account So we're gonna skip over that part. If not get ahold of us. Yes for over this For the computer shares are just saying What Seth is a guy person to ask on this. He's a department guy. These are all department computers And and so you have to have a department login for that I'm gonna bring up a couple of them that you may or may not have known about most people know about putty So I'm most people use to get in from Windows Yes, no, maybe so yes a Few people have been using sig win. There's a new one out there called MOBA X term and I really like this going to demonstrate it for you real quick here just because I Have been rather impressed with what it does And I'm actually not gonna log into Bayou cat because I don't know my EID password I had to look it up and take me a lot longer, but I do know my CS department of password It all looks the same here. So this is MOBA X term and I I Just put a session in I could I could create a new session All I'll do is type in the username or the the name just like you would in putty Matter of fact, I'll leave an import your putty sessions if you already have putty You'll say, oh, I know what that is from putty. So you have to put anything else in there I'm gonna go here to my CS account. It says ask for my login Put in my username and my password and that brings up another one. It's the SFTP password And you can save this if you want if you're on your own machine This is not even my own machine. So I can't do that. No, I don't want to save that And the nice thing you see is over here now. Let's solve the files of stuff. I have over here. So if I have a File on my desktop See if there's any documents here No, not really Okay, I'm gonna create a file Wow save as A lot of text. Okay. Now I have a file called blood out text in my documents So here's my file. I can take MOBA X term Over here and just drag and drop this over here and I'll copy those files back and forth. So that way you have the same User interface for both Your your login that you're not switching back and forth between when SCP or file Zilla Which is why most people use to copy files in and out or SCPing files in and out You can use it all as one. You can just drag and drop straight from windows. Yes Yes, it's free if you have like more than a dozen sessions It limits you that kind of thing but for 90 I use the free version I use SSH a lot so and actually it'll also do RDP if you if you use window windows hosts So it'll it'll do a lot of different things all at once. I use this all the time Yes, I couldn't understand say it again What doesn't change say you do a find Editing a file, okay We're editing the file on on your windows Mm-hmm. Okay. Here's my When I just This wouldn't not like yeah, thank you. So edit it and put it back There it is. Yeah, so there it is You're just talking within Moba X term you've done this before I have not seen that problem Sorry, I wish I could tell you better anything better than that, but I've not seen that That's that's what I'm wondering if there's not a automatic The way that Moba X firm should do that automatically it should Download edit and then reupload again. Is there another question here? Okay So anyway, like I said, it's just a nice interface. It kind of replaces both your WinSCP and our filezilla and Putty kind of all in one All is one executable there. So like I said, I use it a lot feel free to you, you know If you go Google Moba X term, you'll find it just a helpful hand there Also on Windows like I said we mentioned filezilla and WinSCP those are our graphical interfaces to transfer files in and out We use protocols SCP and SFTP on Beocat, which is pretty common on unique systems. They're also command line based stuff if you're into the Mac world There are I don't know if there are any good graphical clients for SCP on Mac filezilla does And cyberduck is weird. I've used cyberduck and it's kind of a strange one, but it can be done But there are command line utilities if you if you're used to Linux land and it uses command line which I live About 90% of my life in command line So it doesn't bother me any but I understand that I'm unusual in that regard I've been called unusual for a lot of different reasons, but that's Not usually that reason But I do I spend most time in command line. So it doesn't bother me. You know typing commands out, but Those graphical interfaces a lot of times help How many of you guys are primarily Windows Linux or Mac? Let's try Windows big majority Mac Few Linux anybody. Oh, there are some Linux guys. All right good So actually filezilla does work on Linux also if you do like the graphical environment It's kind of a strange package it's all Probably look want to look in your distribution files for for what's there if you're if you're using on Linux But it does work and like I said if you the command line SSH and SCP do you work fine now? We do have Yeah, I mentioned a few of these are noob safe So you guys have said you primarily do Linux You're gonna be bored to death during this part because this is really really basic stuff We're talking about here. All right, or if you have any extensive experience Just just as a forewarning if you need to you know, go find some coffee or whatever. I won't be offended So most of the stuff are taken in from from this from this area This web page It's if you go to support.bayocad.ksu.edu, which most you guys probably should be fairly familiar with That is our Support wiki. We have not had anybody besides ourselves edit the wiki Anybody who's a Bayo cat user has the ability to do that if you see our documentation lacking, please update it We have no problems with this. That's why we have it out there. So have at it mention some of these things for The things I just went over Next part it gets into transferring files That's how we get our programs and our data files in and out of Bayo cat uses scp or sftp and there's examples on how to do this here on the site too I'm not gonna bore you with the details here and some basic Linux commands now So you guys that are into Linux How many of you spend much time with the command line on Linux? Some what okay a couple of concepts. We have to we're gonna try to have you understand here The first of all is a term directory That is what that's kind of analogous to the windows folder or the Mac folder. It's just a folder that holds other files for historical reasons they've always called it a directory on Unix and Linux systems and so That's the terminology we use If we're looking back to my mobex term here You can see all my all these here are my folders so I can look inside this folder and there's more files inside there That's called a directory a Shell shell is the environment that you operate under Bring up the wrong Open it up there. Okay It's an environment that you operate your commands in most by default on campus Everybody uses what's called TCSH or something C shell You know what the T that T and it is 10x C shell It used to be CSH and they came out with a better one than it's called TCSH That's the one that comes default on campus. Most people have spent much time at all using Unix and Linux have changed to bash or ZSH at this point if you there there's some Commands listed on this page on how to change that if you want to oh You we do set it for doing to bash. I didn't know we did that. Okay, so Though there's not a whole lot of difference in the way that they actually run commands It's more in the way of the way variables are handled and that kind of thing Most of most of the world uses bash SSH SSH stands for secure shell now back when I was going to school here We use telnet, which is a completely unsecured protocol That's how everybody got around everything and they realize this is a really bad idea because anybody could sniff passwords and things like that So don't use that anymore. Matter of fact, it's kind of outlawed on campus. So We use SSH SSH is secure shell. It's a fully encrypted connections. How we talk It's the It can both refer to the protocol of how you talk to it and it can refer to the program In our case MOBA X term or putty that is what we call your SSH client That's how you're talking to Bayo cat SCP is secure copy. It's a It's a part of the SSH protocol and it's allows files to be transferred in and out of Bayo cat and then the other Unix learning system your path now if I go over here To my English account and I say echo path This is going to show me all of the Areas that it's going to look for Executable files. So if I tell it to run something I have to tell it explicitly where to go unless it's in my path It's going to search through if I say run the program Boo, it's going to look for user bin boo Been boo user live JVM default Java boo So on so forth notice that the current directory is not in that list by default You have to add that Yourself if you want to be there a lot of times the best people come from Windows used to be able to have executable files in the folder that you're in and We can't do that on Linux unless we add it explicitly in here and that's to keep you from accidentally running the wrong thing Ownership every file and directory has a user group attached to it called its owners If I knew List here You'll see that all my files and folders here have a user Of Kyle Hudson and a group of Kyle Hudson users on bio cat. It's the same way by default all your files will have this ownership It affects the permissions Now the permissions will see listed over here on the side All these these RWX on everything that tells you read write and execute. So That means that for this first file, which the document that we were working on today bio cat introduction I have me being the user Kyle Hudson user has read and write access to it the Kyle Hudson users group, which I don't have anybody else in my users group except for me right now But I could add them. So they have would have read access no write access no execute access and the Last bit of three is the entire the rest of the world. So the rest of the world would have read permission No, right and no execute permission on that some useful commands here that we might these these are kind of this the sort of the basic things that we expect you to be able to navigate in in bio cat PWD is the Shows your print working directory is what it stands for so You notice I did PWD and it says homes ours home Kay Kyle Hudson. That's my home directory That's where I happen to be looking. That's where the Worm where this shell is looking at right now On bio cat when you first log in it would say homes Kyle Hudson matter of fact I'm gonna log in the okay here just to You can kind of see gotta pull out my password manager here That's right. If I can't get the password to my password manager, I don't never get in Okay, I think this is the first time I've actually typed my password dang it timed out They kind of see the difference my working director is now homes Kyle Hudson. That's a default on bio cat The LS command will list the files and and folders in the current directory and there's some switches you can put on there like Some of the more useful ones you just said I do LS by itself. That'll just give you a full list of the files, but no more information than that I Can do a LS dash LH The L means long listing H means human readable so this will tell me not only all this In permission and owner information, but it'll also tell me how big the file is in in human readable form so Like a 280 meg file here If I have that in bytes you might have to be counting how many columns there are to things like that The H is kind of handy on that The LS dash a if we look at it, that'll include all these like dot files Which are normally any file that starts with a with a period is Is not shown on a regular directory listing You can see it mo moba Exterm will show it most most clients don't show these unless you tell explicitly to do that Because these are that's how you that's basically how you hide directors because stuff normally like system files Things you don't need to worry about much so But if you do the dash a command on LS, you'll show you all of them including everything what starts with a period We have more people than seats. I'm really sorry I was truly surprised at how many people showed up for this today You know, so I use the LS command a lot just kind of see where I'm at The CD command will change directories again. We call them directories set of folders So that's why these things kind of make some sense. So I'm going to change directory to Let's find something here temp. This is a folder that I've already got out there. So say CD temp And now I do my directory listing. There's no files in that was a quick boring one. I usually have files in my temp folder. I Have there. Yeah, that's too much so I changed to another directory I changed in my rsync test directory and Here's some files that I've stuck out there. I don't even know what those were there for I'll get rid of them soon But But now when I do my directory listing my LS it shows what's in that directory not all the stuff that was up there before Because I'm just looking at that current directory along with that There are some special name directories There if you use the tilde that's brings you back to your home directory If you use a dot dot it brings you to the directory above it. So here if I do cd dot dot I go from being in my rsync test directory Back to my home directory and we got a few useful commands here that we that we use quite a bit Cat will just simply display the output of a file On the screen again, you notice that You don't have mouse control and that kind of stuff when you're in an ssh session That's not part of the ssh protocol. It won't do it even if you wanted to So you might be able to copy and paste some some text, but you're not going to be able to Actually use the mouse to interact so The the easy thing to do to get the output of a file is to use the cat cat command That'll just take the up the contents of the file and spit it out on the screen Uh cp copies of file. I'm not going to go through all these mv for move rm for for remove and then there's some uh For manipulating directories you can rm Make your remove directory that kind of thing I'm just going to refer you to this page at this point. I'm seeing lots of people looking bored here So Finding files is kind of useful sometimes too Um, again, I'm just going to kind of refer you to this so you know that it's out there When you're searching on your own desktop, you can you can install some commands that let you find things really fast When you're searching 600 terabytes of data, you take over a day to index it all and by the time you got it Done you'll be time to start the next day. That's why we don't have those tools installed on baocat So if you're looking for files To find them we're going to use the find command and here's a a uh Just some some quick examples on that Yes If you have yeah, the ls will show what's in your current directory But if you're looking for something that may be five directories levels deep and you don't know where it is That's where the find command comes in handy if you have You know you have a sub directory for this project and then you have these data files and these data files And then some sub director there finding them can be a real pain in the butt So that's why we that's why that's why you would use the find command um editing text files there's A very easy editor installed out there called nano and this is uh, we showed how to do it and Most people the way they use it is they take files and they manipulate them on their own pc And then they send them back and forth. However, if you only have a little change to make especially uh Using a text editor actually in On on baocat is a handy thing to have So let's see. I think I saw a text file there. I don't even know what's in here Oh, yeah, I don't remember doing this. Okay. I think I was actually just setting up a test using some files. I didn't care about um So here's just a text file And Get out of here I'm I'm used to using vi if you use linux on a regular basis. You're going to want to learn how to use vi It's learning curve looks about like a wall when you first start it As a matter of fact, the first question people usually have is okay. How do I get out of here? Because it's not obvious how you get out of there and everything you try doesn't work So it's a it's it's really tough to get started on once you get started on it You'll never want to go back to anything else and that's why you'll see me probably using vi for uh editing files We're going to use nano And let's just say I wanted to get rid of that first line. So I'm just going to hit the delete button here These it gives you some help down here at the bottom. The little carrots mean the control so I can say I'm going to exit with control x And I'll say do you want me to do you want to save it? yes And file name to write and by default it tells you the same thing that you already had before And apparently I didn't have permission on that file I'll say no so that's kind of Like I said, you'll you only see it in in it's the only text format stuff But most of the data people will work with is text format. So If you can if you if you have a specialty say especially small changes That's a lot useful not to have to transfer files, especially the big files Copy them back to your desktop edit them copy them back that type of thing. You can edit them straight on bio cat And like I say vi is very handy for that kind of thing too A little discussion about shells In your path ownership and permissions I've kind of gone over most of these things man pages If you need to know how to run a command If you know what the command is, but you don't know what the exact syntax is That's what man pages are for they call man. They're for the system manual So man is the command to do that the Back in the early days of unix Everything was space was at a premium. That's why they abbreviated everything. They didn't even you type the forward move It was mv you didn't type the word copy it was cp. They're everything was as short as possible So it's telling them instead of asking for the manual they'd ask for the man So they just cut it off and that's one of those things is legacy and it's stuck around forever and people still use it today Pipes and redirects. This is some pretty neat stuff um This is kind of the heart of it right there. You can take the output from A command and stick it to a file Uh do the same thing except to pin to the file You can take the instead of typing things into a command you can bring it You can send the file name to the input and you can take two commands and have the output of one go to the Input of the other you can string together lots and lots of these together if you Spend the whole lot of time on unix systems. I might have five or six of these pipes On on a single command line Just taking say the output of this take the output of this take the output of this Put them all together And one other command and it's brought up down here a little bit is grep grep is find me the contents of of Show any lines of the file that match this so like this is ls, which is showing the directory listing the grep command says Find everything that ends with dot sh. So I take the output of my ls Take that to the input of grep Which says find any find anything in what I type that that ends in dot sh But that comes from the output of the ls command and then it takes all that and it puts it into a text file So you say you're you're taking the input the input the input all stringing them all together And and putting into a single output file That's kind of a really brief introduction you could really spend Days talking about You know even basic linux stuff, but these are the kind of things that Pretty much everybody should need to know to Be able to you know When you when you ask us a question These are the things that we are going to assume that you know and if not We're gonna have to refer you to these pages and have you take a look at this yourself Okay That should be the most boring part of the day. I hope Yes question What is a shell that's the environment which it runs in In fact, we even talk about it a little bit up here There is a wikipedia page That talks about it in all sorts of great detail Yes But but it's it's kind of the way the way things are set up so it'll run commands That's that's the the interactive environment that you're under But it does take a lot of time