Learn to be a macOS Command Line Ninja
4.4 (46 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,087 students enrolled

Learn to be a macOS Command Line Ninja

The complete beginner's guide: First gain confidence with macOS Terminal, then master the command line like a pro
4.4 (46 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,087 students enrolled
Created by Lee Dowthwaite
Last updated 5/2019
English [Auto]
Current price: $41.99 Original price: $59.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Stop being afraid of the command line!
  • How mastering the command line will benefit you
  • Understand Terminal's interface
  • Navigate the macOS file system from the command line
  • Create, copy, move & delete files and directories
  • Understand relative & absolute paths
  • View and edit files in Terminal using cat & nano
  • Basic pattern matching with wildcards
  • Advanced pattern matching using "grep"
  • Advanced workflow: streams, pipes & filtering
  • Be comfortable with the Apple Mac desktop, including using Finder.
  • Have access to any Apple Mac computer, or perhaps a Linux machine.

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.

Who this course is for:
  • Computing, maths or or science students, and graduate or junior developers.
  • Postgraduate students in computing, data science, or other sciences who want to do data processing, machine learning or use any software that requires command line knowledge.
  • Any power user who needs to be able to use command line tools such as: git, ffmpeg, ssh, curl, ngrok, etc.
Course content
Expand all 26 lectures 03:05:19
+ Introduction
4 lectures 13:22

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.

Preview 02:02

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.

Preview 03:28

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.

Preview 02:35

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.

What Is the Terminal?
+ Getting Started
3 lectures 11:43

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.

Launching Terminal

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.

Preview 03:46

This quiz will test your knowledge of the basic commands you just learnt.

Running Commands
3 questions

This short lecture explains why, on the command line, the word “directory” is often used instead of “folder”.

Directories vs. Folders
+ Navigating the File System
5 lectures 48:47

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.

The macOS File System

Test your understanding of the macOS file system.

File System
3 questions

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.

Learning About Paths

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.

Basic Navigation

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.

Relative Paths vs. Absolute Paths

Test your understanding of paths.

3 questions

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.

Dealing With Spaces in Paths
+ Working With Files
5 lectures 30:38

Learn how to create an empty file in Terminal using the touch command.

Preview 02:42

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.

Copying 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.

Moving and Renaming Files

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.

Deleting Files

Learn how to create and delete directories in Terminal using the mkdir, rmdir and rm commands.

Modifying Directories

Test your knowledge of working with files on the command line.

Working With Files
4 questions
+ Viewing and Editing Files
3 lectures 24:15

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.

Displaying File Content

This lecture demonstrates how to get file metadata and statistics using the wc, date, stat and ls -l commands.

Finding Out More About Files

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.

Editing Files in Terminal

Test your knowledge of viewing and editing files in Terminal.

Viewing and Editing Files
4 questions
+ Pattern Matching
3 lectures 20:19

This lecture explains the concept of wildcards and how they’re used. It demonstrates the use of single character and asterisk wildcards.

Introducing 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.

How Wildcards Really Work

Test your knowledge of wildcards.

3 questions

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.

Introducing grep
+ Streams & Filters
3 lectures 36:15

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.

Input/Output Redirection

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.

Introducing Pipes

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.

Command Line Filters

Test your knowledge of streams and filters.

Streams and Filters
2 questions