
The introduction explains why many people are intimidated by the Terminal, and that it’s quite normal to feel afraid of using it. Many people have zero, or very few command line skills, and this can be a hindrance, especially in a professional or academic environment.
This lecture gives an overview of what the course will teach you. The main message is that it will give you confidence and take away the fear of exploring the Terminal.
This lecture explains why the command line is still useful in the 21st century. It discusses the macOS command line’s Unix roots and shows how it’s linked to Linux and to billions of devices worldwide, which makes knowing it a very valuable skill.
This lecture explains what the macOS Terminal and, and is not, and how the Terminal relates to the UI, the bash shell, the XNU kernel, etc.
This lecture demonstrates a couple of ways to launch Terminal, and gives a quick tour around the UI it so you can get familiar with it. It also explains the shell command prompt.
This lecture introduces three basic commands that everyone should know when they start out using the command line. It does not go into any depth on them, just demonstrates them briefly.
This short lecture explains why, on the command line, the word “directory” is often used instead of “folder”.
In this fundamental lecture you’ll learn about the macOS File System, including the root, directories and files, and you’ll see how to list files in Terminal and how what you do in Terminal relates to what you can see in Finder. You’ll also discover a little bit about what’s in the root directory of your macOS.
Another fundamental lecture that teaches you about the very important concept of a path. You’ll learn why it’s called a path, and how to create one on the command line. You’ll learn about the current working directory and relative paths, and you’ll see how to use one. You’ll learn how to send paths to Terminal commands.
In this lecture you’ll learn how to navigate around the file system in Terminal, going down the directory tree and back up again. You’ll learn how to get home, and a couple of useful hints to make you more productive.
In this lecture you’ll the problems with relative paths, and you’ll learn how to solve this using absolute paths. You’ll also learn the pros and cons of each kind of path, and when to use which one.
This lecture gives some context about the problem of spaces in paths. It explains exactly why the problem exists, as well as two methods for fixing it, and for interested students it gives a little background on the history of the topic. After this lecture you’ll understand more about how the bash shell works under the hood.
Learn how to create an empty file in Terminal using the touch command.
Learn how to copy files in Terminal using the cp command. Learn the different forms of cp so you can copy single or multiple files.
Learn how to move and rename files and directories in Terminal using the mv command. You'll learn the different ways you can invoke mv depending on whether you want to rename or move single files or entire directories.
Learn how to delete files in Terminal using the rm command. You'll learn the important differences between deleting files on the command line and in Finder, and how the command line can permanently delete a lot of files very quickly, which is both useful and potentially hazardous.
Learn how to create and delete directories in Terminal using the mkdir, rmdir and rm commands.
Learn how to display the contents of a text file using the cat, head, tail and less commands. This lecture discusses the limitations of these commands with binary files.
This lecture demonstrates how to get file metadata and statistics using the wc, date, stat and ls -l commands.
This lecture shows some of the common options for editing files in Terminal, and demonstrates how to use nano for simple editing tasks. It also introduces the common alternatives, vi and vim.
This lecture explains the concept of wildcards and how they’re used. It demonstrates the use of single character and asterisk wildcards.
This lecture dives into more detail about how wildcards work “under the hood”. The purpose of this is to dispel any incorrect assumptions about how the shell handles wildcards. It also demonstrates a useful way of “previewing” wildcard matches.
This lecture explains what grep is, and demonstrates how it can be used to find basic text patterns in files. It shows some of the common options used with grep.
Introduction to the concept of Unix Standard I/O Streams: stdin, stdout and stderr. Demonstrates how to perform stdout, stdin and stderr redirects on the command line.
This lecture introduces the concept of Unix pipes. It demonstrates how pipes can be used to connect commands together: a very powerful technique used by Unix/Linux professionals.
This lecture explains how pipes can be used to create command line “filters”. It demonstrates how they can be used with the sort, cut and paste commands to create complex workflows for manipulating data on the command line.
Does the Command Line Intimidate You?
Are you one of the millions of Mac users who are afraid of using the Terminal?
Are you a professional or student and you know you need to brush up your command line skills?
Do you just lack the background knowledge to get started?
Did you know that 95% of macOS command line skills also work on Linux?
It's true. So learning the macOS command line can accelerate your studies or career, giving you radically new skills you never imagined.
You don’t need any previous experience. If you’re comfortable using macOS desktop and basic tools such as Finder, or even if you’re new to Mac but familiar with other systems such as Linux or Windows, then you’re ready to take this course.
You'll start with the basics, and by the end you'll be able to perform some advanced tasks that would impress most professionals.
What You’ll Learn, in Detail
You’ll start with the very basics of what the Terminal actually is, how it relates to the rest of macOS, and the huge benefits of learning the command line.
From there you’ll see how to launch Terminal, how to understand the user interface, and how to run your first commands such as ls.
Then you’ll be introduced to the file system and you’ll learn how to navigate around using the command line using cd.
You'll be introduced to paths and learn the difference between relative and absolute paths
You’ll learn to work with files, creating, copying, moving and deleting files and directories.
You’ll learn how to view and edit files directly in Terminal using cat and nano. You'll also learn a little about vi and vim, and why they're not the best for a beginner.
You’ll learn the basics of pattern matching so you can work with wildcards and search tools such as grep, which will make your workflow much more efficient.
Finally you’ll learn about I/O streams and redirection, and very powerful tools such as pipes and command line filters so you can sort and reorganise files and other data.