In this section, we're going to talk in detail about various important, every day command line tools. First, we're going to talk about those which involve files. How to find them, list them, change their names, move them from one place to another, remove them, and remove directories, etc. We'll talk about the "find" and the "locate" commands, which help you find various files in your system that match certain patterns. And, we'll talk about "grep", and how that can be used to find various strings within files, etc. We'll also talk about "sed", or the stream editor, which lets you change various strings in files, to some other kind of string. We'll talk about a lot of other day-to-day, simple programs you can use to look at files, including "head" and "tail", which is not surprising, lets you look at the beginning or the end of a file. We'll talk about "cat", which lets you type out a file, or add it to the end of another file, etc. And, we'll talk about "echo", which lets you just send some characters to the screen or to a file, which is very often used in scripts, which is the third topic we're going to talk about. We're going to talk about writing scripts with bash. We already discussed a lot of the building blocks for this when we talked about the shell and command line, and things you could do there. But now we're going to talk about how to put this in scripts, and get them to run. We're going to talk about various conditional structures you can use within scripts, basically, "if", "then", "else" kind of constructs, and we'll talk about looping constructs. So you can do the same operation over a group of objects. Maybe they're numbered sequentially, or there's just a specific list that's given. Finally, we'll talk about functions or subprograms, how you can have within a script a function or some program which is done repeatedly without having to write the code all over again each time. So, these are very important, using these simple tools. So, let's begin.