 And I'm also going to be teaching you on like a bunch of stuff like common line environment Tuesday we saw like a bunch of stuff like how I can afford the bus, like cell buildings And the thing is if you're gonna be spending a lot of your time in the cell is what kind of Customizing and making things easier for you Do you know kind of all the the tricks that you can do on the trip that people have already done? And how can you benefit from that? This is like a lot of tricks and I like stuff that we are going to beat if you at any moment like Don't like fully understand what is going on like feel free to stop me have me why that happened Where did that came from? How have you managed to do this? And I'd be really happy to explain because that's what a lot of these lectures should be like all these all these things and I'm gonna start kind of like Easy stuff But again So the first thing is like we saw like you can create all these comments I'm like there's like a lot of luck that you can Do to them and one of the nice thing is like more cells Allow you to make aliases of comments. So let's say that I I do like LS minus L all the time if Then it might be war three like an alias And I would say I'll L2 and I'm gonna create like LS minus L Like now when I die to that expands to that And I'll have kind of to die the really long thing that This case seems so stupid like some people comment that you will be using a lot of time They're like don't be locked up. For example, if you're in a In a report and you do like it's status Thing that you will be doing a lot of the time and it's stupid enough So I'm having so having some alias that is some like Yes Yes, I'm gonna be exact same song And this is like a bunch of different properties One of them is that like for example right now if I have like weeks to that we just define We tell me all these alias to LS minus L Alices can compound. So for example, if I just now define L3, it's like oh, it's L2 minus a so I'm not only want to list kind of everything in kind of the long format Which is one L flag stands for I also want to like List kind of the hidden files like some point here we see We do a three we're gonna see there is listing kind of these fires are hidden by people And well just happened here is like L3 was expanded to L2 minus a and then L2 was again expanded to kind of LS and this Bass is All the cells are pretty smart about it and they also allow you to overwrite the existing names It doesn't know like a lot of family languages doesn't really allow you to do that But it's completely fine for me to say oh LS is a dream and right now what is gonna be happening is when I thought LS LS is alias with three or 3 to L2 to the program LS and everything is being solved for example, if you just do this a lot of time It might be worth knowing. It's also sometimes You don't want to have the alias work for you. Sometimes you may want the raw function because you maybe have alias your Mac LS or like your Mac red to kind of unix red This is a thing because for example Mac and unix You still sometimes have a slightly different black ones kind of annoying So if you want to look it kind of call it without like the alias is being resolved without using And the LS is just like but what last LS and it works will be with the regular one same thing if you just do like common less It work for a way if you want to kind of permanently remove You can literally just like an alias LS and now if I ask Which LS is literally being LS Next thing This is kind of not exactly In the sense of this class, but like No, like there is like Most units based system you have this like for what's last TMP kind of a temporary file system So if you want to just like think it with like creating files moving stuff trying stuff around You have one to like some temporary place to place your kind of temporary files for your script Dnb will be kind of clean every time it will be used and it's perfectly fine to use Then remember to clean for example Adir here moving to it and When I move oh one more way before before I get into this one thing with alias is is if I get like a A new cell mount and I ask for l2 l2 is not frequent because I define this in this cell and The if I want this to carry on different things or thing that I have to do is this this commander I died where I say this is this like a command that needs to be executed Every time I enter a cell But then is pretty much every cell has Some concrete files and will leave some preferences in the notes That we read for example, if you are using Bass you will have in your In your home folder you will have your kind of Buzzer C Where you can pull like different stuff that will be read in the here So for example what I have in my buzzer C is like oh check This is kind of syntax for check this file exists and if it exists Kind of execute all the commands are in the file and if we go to If we read all this is this is like a bunch of like read common analysis, and this is executed every time I open so all these aliases are executed and I can use them easy and One nice thing of kind of factoring this out is that Even if either if I'm using buzzer and using c-sates, I can also I have also my kind of a Finishing my chc. It's kind of same here. I also searching the same analysis So I have to kind of copy them or I have referenced them both from the same place And What else? Yeah, and next thing we can do we can go to that kind of temporary folder. We have created and we can see the like Kind of in the last class there were a bunch of stuff How we kind of buzzed it and like we also mentioned they're like these all ourselves that kind of are slightly more convenient Because they have like a bunch of useful features like Without you having kind of to define a bunch of stuff The one I'm going to be covering right now only like a couple of things kind of good Okay, you cannot look in for where can you get all the stuff is c-sates Which is now because it's kind of a super set of buzz or everything's kind of kind of Works in bus or read works right away with c-sates some some cells don't work that way and But it has some we can maybe for example be let's make I'm creating here like a couple folders let's See into them And now let's create for example here when I'm where I'm creating creating four files so piece for father is created And by least the structure right now I have a folder called v and a folder called c and all these txt files We saw that globing could be really useful if I wanted to kind of get all these txt files It's kind of a really new kind of that they are there. They can just do something like this And like it will expand that to all things, but let's say I don't really know they're there We recommend to kind of have like a wild card for like an entire path And that's what like c-sates gives you like the the double-access with double-access this thing expands to the same page And another really convenient feature of c-sates is that like you can Let's say it's in blue because kind of telling me that I can't expand this right away in the cell I'm kind of having to wait for For for for the cell to do that and That's also convenient because some some here doesn't really matter Matt In some other cases, it's very just for example if you're using kind of the bang bang wild card that Eh, that's replacing the entire first comment here And sometimes it's good to kind of see the entire thing because Bad by default when you're kind of substituting substitutes and run the command at the same time And points we can do We have also c-sates by default kind of looks Like for example if I just do like something like this It figures out kind of the intermediate folders Yes by trying all of them and another convenient thing It's a Allow you that completion allow you kind of to select the the things that that you're using And Oh, and like if you enable it it also kind of be you a Proper out and like type a comment that doesn't really exist A lot of the time we'll tell you kind of oh you you mistype this part of the comment Do you want to kind of for me to correct lls with ls? Which is also extremely convenient. Especially if you have like a really long comment and it figures out the correct like mistake and Moreover, not only don't like a lot of it's not like it's like the Small convenient things that like these different cells come for you But a lot of people have a really invested a huge amount of time on making like significant frameworks that give you like quality Like a improvement A lot of them have already been seen because they're kind of working by default but for example if If I'm moving to this folder. Oh one thing that I forgot about c-sates along with the Left prompt gives you like a right prompt you can also like put the status I think that you can also customize So for example here, I'm using fresco, which is kind of one of the c-sates frameworks. There are many more like And again, it's kind of a c-sates Packets installer. There's also all my c-sates, which is pretty famous And become computer with a lot of stuff that you can customize and I like don't the sort of history You can get like a stuff for example here. It knows that I'm few yourself. This is like a Repository in doesn't meet the brands that I mean And the dust release tells me that there is like some modified file on the square doesn't reach like some untracked file so it speak of meaning to gather Other quality lives things that gives you for example the thing that you were like I was saying before Since it gives you spell correction a lot of these things give you syntax So they are kind of all they go Figuring out if like what I'm typing is kind of a valid comma and if not, they're kind of like highlighting in red Like oh, this comma doesn't exist. You may be You may want to fix that but like says he has Here for example, he's telling me kind of I just control c Was typing For example, if I try to Garbage into any file This means the error code of one because grab gives you an error code of one when it doesn't find a thing And which is what we saw the The last time Interaction margin for you And It's kind of giving you all for example if you didn't even provide an argument You cannot be Ever like error code too. So you can like you can customize how like a lot of what you will be seen And it's fairly convenient because it removes some steps in the long run. That's fairly useful Some more other stuff. Oh, yeah, for example, let's say I don't really know the flag for Which is like something we have heard and really know that one of the I don't remember fully well, like one of the flags for Griffith this thing can kind of give you the Access to like it brings you passes the man page and give you like a sort description of all the flag without going to go to the To the man page with depending on the command It can be more less scary because it's like a lot of detail that you need to go to and Oh, yeah, another thing this is slightly more Trigging though sometimes I have like issues in the past for example here You can see that like when I'm typing stuff it's kind of auto completing in like being gray And that's kind of because it's already doing some sort of control art in the background I'm like matching with my previous history and I kind of kind of like right away do much Of that would be with the previous values and easily out to complete on that A Oh, and a lot of them if you don't really like machine with the onset of it where you have the screen But there's like a lot of them come with like default sometimes in same front So you want to me maybe for example, that's Where I keep a single one And this is one there are many just look around like be aware of like all of these cool stuff exists Next Next thing is like right now when you're using yourself like the cell is something kind of half of the equation The other half is kind of the terminal emulator. It's like program that is running the cell that you're really using So my default pretty much all like unit distribution come with like some Emulator, but you might want to kind of use a different one because they offer different support Some of them have their own rendering or some of them have like their key binding So like the way and even if you just like choose the one that comes with default with your distribution Which sometimes can be pretty terrible. For example, like you can spend time, but for example the The one for mac I've never kind of like it and There are like many parameters that you can customize The font that you're using you can customize the color scheme that you're using which for example my default here man you don't have a color scheme and Again, but all over time the stuff is it's fairly useful to know Uh, even performance like newer terminals are like offloading some of the surface of rendering to you kind of the GPU and they like run the super fast Another thing that you might want to be aware of is pmox, which is kind of a terminal multiplexer, which is You can run multiple cells within kind of the same terminal window and you need to be opening kind of multiple terminal windows to just run multiple Taps I can just have like several tabs within the same terminal window. I can It's gonna be really good because this is to be by kind of kind of split and We're running kind of a stop in here. I want to display this because the box to be and One of the really nice things of terminal multiplexer like pmox is that you can Detach it and it still runs In in the background so I can go on with my life And then I can just like jump back into kind of this layout of Of pain some down have happened and I can modify three months A lot of the stuff that is happening in here For example, I don't know if I have Levels are open Eh, there's like You can and again, for example, if you open your windows of pmox and you open it have like this really Placid green bar the bottom of the file like no information, but you can go into the into The pmox configuration file which is Just again See you can just compute like a bunch of this stuff to your life into this place kind of the CPU The detail of How the scroll happens what happens when you copy that's what one thing to really investigate with all of these tools is Having access to the to the game format Again, like making your life easy, you don't have to be kind of typing commands into being Being for example all this stuff for you The other reason the terminal multiplex servers are really handy is if you're running a server, for example in the background You can open up two tabs in pmox and have the server running in one and the client in the other And then whenever you switch back and forth between the two the other one keeps running And you can still get to the output if you switch to the other one And you can even like run a server and then detach it like what I will do with I have a server in the Netherlands I will like ssh to that machine open up tmax tmox on that machine start some server there. That's like Scanning the internet for something or whatever Detach an entirely disconnect from that ssh session And then later on like a few days later I can ssh back to the server and then Reattach tmox and then everything appears including any output that's been in between just as if I'd been connected all along So yeah, that's exactly for example here This is one of my last servers that have like jobs running and I have like some tmax session There is open and I can always kind of reattach to it without having Recreate and it's kind of easier. You can always we kind of saw like the first day You can like be some your process into the background. So you have kind of hiding the terminal and just be back into it is way more convenient And Any questions so far What's the bugging that used to do uh, like The what's right? What's like the bugging you're using to do the uh control R feature wire? Oh, yeah, that that stuff, uh, it comes by default on the fish shell Yes, so The thing you want to be looking for is history something cert which as John said was kind of I think was originally Created in the face. I'm pretty much all of the other cells top in it because it's So like if you're using to do some of you and I think Will you post on your I think all of us are already on the top. Yeah, if you just look maybe have But yeah, we will post them somewhere And Next Then another thing to be aware of is that like a lot of the It was more kind of on the general cell way But then a lot of the time what we've been doing is running a small way It's more common that the really simple stuff can be like quite dark like for example, let's say I want to go to my Few competition pieces from was a measure. Uh, I need to kind of even with like nice title competition gets Really annoying pretty fast to kind of like into Some random polar However, if I have a read in there, there's like one thing that is usually referred to kind of just auto down It's a huge time save, but it does it does Fuzzy stream matching Fuzzy stream matching just tries to max that like not like red or not like regular special which usually just tries Find like the better maps with different Inwards and here if I you do like something like PCE piece of five it will take me to the exact same place And what this column is doing is just keeping It's just keeping like a history of like all the places that have been Frequently and recently and this is scoring them. So for example, I've been working a lot in the kind of the repo for the class So these have like a really high value. So if even if I do something like That directly takes me to that place and You can not only like this Auto jump there like certain limitations the one that I'm using which is called f asd Also allows you to have like commands that instead of doing the cd just kind of Give you the part for example um I can Eh So for example, if I do something like this and I've been working on a file that is called online Which is going to be the one for this class It already kind of expanded this thing because I have been using it recently and kind of drops me with vm into it and Eh Moreover, you can like kind of combine this. Oh, well, I will get to this like later when I go to the next thing Eh Similarly, if if you're using Eh Let's see if you are using Think I don't like that for this. Yeah, for example here like bad is kind of like a replacement of I forgot ranger yet and the other thing is if for navigating folders Eh, the other thing that is worth knowing about is like a ranger or something along those lines Like sometimes if you want to be exploring like some Files system quickly, but you don't want to be doing with the files for it. You can still have like A common line explorer that will do for you that like many like And a lot of them also kind of allow you to customize them to make a display videos or like open with your default editor stuff like that The other thing that I was showing If you're adding files all the time, you're pretty good in like the files that are like all files And it's nice having I don't know if we have here Like it's nice having kind of syntax highlight in the Let's just go for a little bit like numbers in the And But for example, as I said earlier if I do if I do Some of these files I get back So it's pretty useful. A lot of these tools that I'll be showing sometimes they try to follow kind of the tool They are replacing the closest like all the flags similarly. So sometimes it's Tempting to kind of replace them and it's good to kind of how to undo the alias if you need to Similarly, there is like one whole exa which is kind of a replacement for less That has slightly saner defaults like for example when you do LS minus L It gives you the raw amount of like a bytes Like if you're thinking of like last five is just Your brain stops understanding how many numbers are there And this one for example tells you cannot Decide like in kilobyte or megabyte. There's no megabyte here You know, it's likely more convenient to color coding for the permissions And also knows about like gif so you can escape files Like that Yeah, uh, next thing if you're trying like fine So fine is like a tool that like albic It's really convenient. You just it will go through your File hierarchy and like use a different flag. So you you can say oh, I want Things that have some name But things fine can get if you kind of go through the map and find Sometimes it is really very close and and doesn't understand for example that most of the time you don't want to um You don't want to be finding like files in your gif Like files are in the in the hidden folder of your gif repository. You know, there is so if we cannot by default Algorithm knows that the most likely thing you want to do is a like search for the pattern Which is fine. That's not and then understand A lot of like this hidden path that you don't you don't want to be looking around For example, if I do every hacker goes through all my directory and like quickly find like like harder tools which is like the repository for the class and to make the The case for that if I do like a V and I come the Number of lines that sprints is like if I run it is just printing all the files that it finds because I didn't specify any pattern if I count the number of lines that is outputting like Which is a lot and you saw like how fast it was able to go through them But if I do the same thing with mine Due to all this hidden file that you may get if you work with a repository is like three times the many times And also with find if you want to try to do a search for a given file name It's like find dot dash i name. Yeah Percent the search term percent and you have to remember to quote it. It's awful Something like this Yeah, I like star pattern star and double code Right, except find not Oh, by the way, uh control a jumps to the start of the current line and control e jumps to the end It's a very convenient way of moving back and forth without having to go to the home and end keys and Similarly, if you want to instead of finding what you want to do is grabbing like 59,000 files They are better tools than they are doing something like you can always do something that like like find and then like grab or like if I Or you guys you can do grab this idea You can do like grab But they are like slightly more convenient tools that are like game have figure out a cleaner syntax standard holds Also, you know, there's like all these files in here and you're getting out. So one thing that I do a lot of the time is Let's say I I know that like in some point I I cannot roll some Python script, but I use like the supracest.go Function so I can easily use this tool which is regret feeling it. I want only files that like end In the with a high extension and I have the supracest.go call so And it kind of goes through this 59,000 files and gives me like all these folders that I have These are all these files that I have and the line where it found this pattern So especially when you're like in python or like late, like I find myself all the time using this So like oh, yeah, I know this is somewhere search for a pattern and like you're always having a game instead of Going to Google and to really learn all this stuff like over here. That's a point a Also, if instead of doing kind of you find yourself doing something like oh, let's do a ps all and let's First a process in there and Let's say you start like doing some You're at sleep and Like but then But like but if you find yourself cutting many reps or like redoing reps all over the time one really need the tool is fcf which again, like it stands for like passing finder And but fcf does it's kind of like a grip on the go so it's Kind of matching like lately, but it's kind of figuring out on the go the stuff That you want and You can kind of couple these with like other tools. So you can do something like fb into fcf So now I can like do for style like matters Hacker for like And you can even link it to kind of the the same thing that I mentioned earlier That like always sells all you to customize them one thing that I've done is the control r instead of the default is calling this script I'm doing like facifining on my On my history. So if I want to like search for like Like recent reps telling me like all these places and it will drop in there while Another convenient one is that like when you When you are in something It's for it like it's unless unless you Miss and it didn't work rent deletes the file for However, that's not really what like your file explorer that when you think it's not it usually moves it into like this Like drafts, but like it's here every so often But it's letting me forgive you because if you cannot Forget like oh, like let me try it like it's not like a good backup strategy But like it's good to kind of have like that piece of mind that you can completely delete the file And again a lot of people have like implemented a thing that does exactly that like The different os's kind of have like different commands because different os's handle the trust different But if I trust now the This c folder If I trust now this folder Eh Now I can see that instead of being completely removed Is now sitting into the trust And which is exactly the os folder that is here Yeah What else Oh another another convenient one to know is like month pages are extremely helpful like if you can again if you can do like man fine And there is a lot of detail that you can go through and like if you are looking for something technical, that's wonderful But a lot of the time at least like I experience that it's way easier to kind of see some examples and kind of figure out like the basic or like 99% usage of pokemon and there are like some tools for like people kind of have done One like oh Oh, it's just because the size of the Of the thing by what this is doing is just kind of giving you kind of the Basic usages like people have just written this kind of small examples Of really common commands and instead of kind of figuring out or like moving Have like oh if I want to do some case insensitive right away and Many many times I saw metal just using something like this And In fact almost all the tools you've mentioned so far are written in rust Oh, yeah, like fd exa ripcred tldr fcf And that's that's also because But that's that's one thing and that's also for a reason like One thing you want to be doing when you're using all these things is you don't want to kind of Uh Become another yourself because it's going slow and a lot of these tools are in the rust because rust is Incredibly fast compared to kind of doing stuff like in bass or like in python Like someone will come out with some pretty pretty script, but it will be done in python and be really extremely slow So one thing you want to be careful about is not installing a lancestot that you really need that slows yourself because Again, like if you're using just all the time and it's kind of slow Not anymore Uh, what do we have? Oh another another extremely convenient one which saw one of these famous Oh I don't know if that's really interesting but like it's really difficult to kind of figure out what the What the What the Like you're gonna have to unpack a lot of stuff. There is this It's for example here. I have just created this compress the target is new this year and Thing is there's like a lot of plugs and if you want to uncompress it, you kind of have to figure out that at least I Like But then it just becomes really convenient Because you can ignore it is a tar a safe arar you do something like unpack or like this thing Someone has a really kind of big thing open pattern matching and it works Like also never ever like the unpack stuff in your working directory right now You always creates a new one. So you don't have to kind of do that like oh, I just think just explore it in my repo And I have to kind of figure out how to really load all these files And Any question so far Oh, yeah, also when you're copying a lot of files Either over the net you can use these are in the in your local file You can use cp or like over the net you can use scp Thing is both are kind of stupid and like if the files are already there They copy them again And that's like a lot of time you are like sinking a lot of files or like a really large file Really stupid it should be looking into our scene, which I think it ships by default with most unique systems And this thing will figure out the files already there You can also like give them like flags like partial But like if you're transferring huge files and the like connection breaks halfway We'll figure out. Oh, I like this. I have all these chunks already. I can continue from here Um Think of course pretty much All the stuff I wanted to say we are on the 50 minute mark Uh, again, happy to take in In that case, we'll take a tenor break and then we'll do data wrangling Just gonna be insane, man. It's gonna be crazy. I'm excited