Let's take a look at what you can do on your local machine as well. This is really common as a OS 10 developer to go and configure your environment so that it's a little more fancy and it can do more things. In particular, a very common third-party tool is Oh My ZSH. Let's just take a look at some of the things you can do with it. The main thing that you can do is that there are a bunch of plugins and also themes here that really help you do things quickly by using the Z shell. In particular if we scroll down here, all you need to do to get started is to run this command. Let's go ahead and do this. I'm going to go behind here and take our terminal out. Here we go. Here's like a typical bash shell. If I go through here and I run this command you can see that in my case I've already got it installed and so I don't need to install it again but you could actually go through and do the installation yourself if it's not installed. Notice what it will say is that once you've got this configured then you can go through and edit basically this file right here. Let's go ahead and switch gears here and take a look at that. If we go through there and we type in echo dollar sign shell here, you can see that, yes, in fact, that is true. If I want to go through here and look at this file here, we can actually go in and take a look at it. Let's go ahead and do an LS, or actually it's just change into that directory. If I do LS-LA, you can see that there's a bunch of stuff inside of this Oh My ZSH directory. In fact, if we go into plug-ins, you can see there's a bunch of plug-ins as well. There's tons and tons of things you can do that will enhance your development environment. The big thing though that I want to start with is that the default changes of the ZSH environment using Oh My ZSH allows you to do things like this. If I type print working directory, notice that I can just type in a path and it'll change without me needing to type in the cd command. This is really handy because it just saves you a lot of typing. If I want to go to the root directory, there we go, go the root. I want to type in cd, it goes back to the home directory. If I go to bash though and we look at a typical bash environment. If I just type in tamp, it says, no, sorry. It's a directory, you can't do that. There's some automation here that's really, really handy that you get automatically. The other thing that you can do is we can actually look inside of the history as well. Let's go ahead and take a look at history. Notice here that, wow, we've got 10,000 lines of history because I use some of the fancy defaults here with Oh My ZSH. If I go to a normal bash shell, we only got a little bit of history. Basically there's a bunch of default options here that are really slick. If we want to edit this further we could go to vim tilde/.ZSHRC and this file will contain all the different things that I would need to do to tweak my environment. Now, let's take a look at some of the things that this thing can do. First, we have this, this allows us to use Oh My ZSH. This is a theme, so if I wanted to change colors or something else, the prompt. Then notice here these are the plugins, so I'm using the Git plug-in, I'm using the PIP plugin, I'm using Python, and I'm using Docker. What's awesome about this is it will do a bunch of auto completion for me. For example, if I go into, let's go into a source directory here and let's just pick a project. Let's go to how about social power NBA. Notice here that automatically it's able to detect. Then I'm in a git environment, it gives me these fancy git commands here. That's the power of using these plugins is this really cool automation and cool theming behind things. Now, the other thing I can do if I go back to this file here is I can also add other plugins. Let's go ahead and try that out. Let's take a look at what plugins are available via Oh My ZSH here. We'll go back up here, we'll bring this up and see, let's see what plug-ins. Here we go, see all the plugins. Notice here that we've got tons and tons and tons of plug-ins that are available. The one that I think would be a cool one is AWS. I use AWS a lot. Let's go ahead and take a look at this. There we go. All I need to do to add completion for the AWS command line tool and a few other utilities is to add this in, add AWS. Let's go ahead and try that out. I'm going to go back here, I'm going to bring this up here and I'm going to add in the AWS plug-in here. Let's go ahead and take a look at here and type in AWS. Now, to source this, all I need to do is I just need to type in source tilde/.ZSHRC and then now I should have access to a bunch of extra AWS commands. If I type in AWS, look at this, there's all these extra AWS commands here and if I want to type in S3 for example, like it would basically give me the ability to automatically do tab completion here which again is awesome because I don't have to actually remember all those commands, it automatically does this for me. It's a really useful tool to be able to configure the ZSH environment. Let's take a look at a few other things as well. The other thing that you can do here if you go through here and start to edit this is I add a lot of aliases, notice here I'll even add shortcuts to shell into machines, I'll add shortcuts here to source different virtual environments. You can see it gets very, very large here. We've got tons and tons of aliases throughout the last several years, I mean, working on things. But in a nutshell, if I go to the bottom here, it's a very, very powerful way to really enhance your environment is by using something like, Oh My ZSH, adding plugins so you get these really fancy auto-completion. Let's take a look at a couple of other stealth things here. If you remember here, if I type in echo dollar sign shell, it shows me that the default shell is been ZSH. Well, how do we actually find that? Well, what we can do is we can actually go over to right behind here. I've got another window here and this is actually the system's preference icon. On OS 10 I can actually go through and change my log in shell by going to my user account, I'll go ahead and change this real quick. If I right-click it says Advanced Options. Notice here that I can change settings. I can change my user ID, the group I'm in. But look, I can also change the login shell. Look at all the options. You could go through here and you could change bash, Tshell, SH, CSH, and Korn shell, KSH. You actually can change to a different shell. You can also choose a different home directory. Let's say I want to have a network home directory. This would be how you would change it on OS 10 if you wanted your default log in shell to be something different. Now, the newer versions of OS 10, they actually give you the default Z shell option. The main reason here is that Z shell has a lot more features than regular bash but it's still backwards compatible. Now, the other thing that I'll mention here is, well, if I go ahead and close this is if I want to go to the preferences and the terminal, notice that I also could go through here and double-check and look the default log in shell. It tells me that I'm using what I've selected in my user profile from OS 10, but it also could go through here and I can actually change it as well. There's a couple of different ways that you could change your profile as well. That's one of the really cool things about an environment like OS 10 is you've got this ability to do things like configure ZSH, install Oh My ZSH shell, and also you have the ability to run special commands that are only available on the OS 10 environment. In particular, I'll show you a couple really cool commands that one of those is called MD find. If I type in MD find, I can actually just type in text and it will find every single text file instantaneously. If I did a word count-l, you can see 433 files here that it could find that all have something like.TXT. The reason for this is if we do MD find help, is that this is a tool that's built into, let's actually do MD find-help. This is built into OS 10 and it actually uses the spotlight index. It's actually customized specifically for querying real-time results without needing to walk the file system. Another command that I like to use is disk util. This has been around for a long time and you can see here there's a huge list of things you can do. You can list the partitions on OS 10, you can melt drives, you can actually repair drives, you can set up raids. There's all kinds of very advanced things. So really having the ability to work with the interactive prompt not only on Linux but on your native OS 10 environment and understanding a little bit about Z shell or bash, and understanding the differences and how you can enhance them really will make you a more productive Data Engineer.