The Linux Command Line Bootcamp

Tags: Linux

Level Up Your Skills And Take Control Of Your Machine, w/ Dozens of Commands, Projects, and Challenges!

Last updated 2022-01-10 | 4.7

- Master the Command Line and Dozens of Commands!
- Stop Relying On The Limited Graphical User Interface
- Write Your Own Commands From Scratch

What you'll learn

Master the Command Line and Dozens of Commands!
Stop Relying On The Limited Graphical User Interface
Write Your Own Commands From Scratch
Automate Tasks and Schedule Jobs Using Cron
Control Your Computer Completely From The Command Line!
Master The Quirks Of File Permissions
Learn Powerful Keyboard Shortcuts To Improve Your Efficiency
Construct Powerful Command Pipelines

* Requirements

* No Prior Experience Required
* All You Need is a Windows
* Linux
* or Mac Computer

Description

Welcome to The Linux Command Line Bootcamp, a brand new course that aims to turn you into a command line power user! This course will teach you dozens and dozens of powerful commands (see the long list at the bottom), but more importantly it gives you the tools the continue to learn new commands and take full control of your machine. The skills you learn in this course will make you a stronger web developer, data scientist, machine learning engineer, game dev, or plain old computer user!  You will feel POWERFUL!!

Hi there, my name is Colt Steele. I've spent years leading in-person software engineering bootcamps and have helped thousands of students change careers.  Online I've taught over a million students and have hundreds of thousands of 5 star ratings and reviews.

This is an interactive course full of exercises and fun challenges that force you to practice the skills you are learning. You'll encounter some of the same assignments and projects that my in-person bootcamp students experience.  Learning command after command can be a dreadfully boring experience, but I've tried my best to make this course as exciting and interesting as possible :)   You may roll your eyes at my jokes, but you won't be bored!

============Curriculum: The Short Version============

This course covers a TON.  Here's a short summary of the key points.  Scroll down for a more in-depth explanation.

  • Learn dozens and dozens of powerful commands (see the long list below)

  • Understand the big picture: how ALL commands fit together

  • Build complex data pipelines by stringing multiple commands together

  • Master command-line navigation and Linux folder structure

  • Create, delete, move, copy, and rename files and folders

  • Decipher and manipulate Unix file permissions

  • Use powerful searching commands like find, locate, and grep

  • Master redirection of standard input, standard output, and standard error

  • Write your own custom commands from scratch!

  • Customize the shell: write your own helpful aliases, tweak the prompt, etc.

  • Master Bash expansions and substitutions

  • Automate tedious tasks using cron and cronjobs

  • Edit files directly from the command-line using nano

  • Master keyboard shortcuts to increase your command-line efficiency

============Curriculum: The Long Version============

The course starts with a deep dive into confusing technical terms like terminal, shell, kernel, Unix, Unix-Like, GNULinux, and Bash. It's important to understand the context and the WHY's around the command line and its history that still impacts our machines today.

Then we shift our focus to the general patterns and structure that all commands follow including options and arguments. This blueprint we define will inform every single other topic we cover throughout the rest of the course. You'll also learn HOW to learn more about specific commands using the man, help, which, and type commands.

Next, we cover the super-important Linux folder structure and learn essential commands for navigating our machines including ls, pwd, and cd. You'll be an expert navigator in no time!

From there we learn to create new files and folders right from the command line using the commands touch, mkdir, and file. Next, we dive deep into a special text-editor built right into the command line called Nano. You'll learn to open and edit files using Nano, master various Nano shortcuts, and even learn how to configure nano's global settings.

The next section covers the powerful commands rm, mv, and cp. You'll learn how to remove individual files and entire directories, move and rename files, and copy files and folders right from the command line.  These are some of the most useful commands you can know!

Then we take a quick break to focus on useful keyboard shortcuts you can use to improve your terminal efficiency, before diving into the history command and history expansion.

The next section covers tons of commands that have to do with manipulating file contents, including less, cat, tac, rev, head, tail, wc, and sort. Then we cover the three standard streams: standard input, standard output, and standard error. You'll learn to redirect all three streams and take full control over your data.

Next we move to my favorite topic: piping! In this section you'll learn how to construct complex and powerful pipelines by stringing together multiple individual commands. You'll also learn about the tr command and the tee command along the way.

From there we learn to "speak" the language of the shell using Expansion and Substitution. You'll learn the ins and outs of pathname expansion using wildcard characters, tilde expansion, and the super powerful curly brace expansion. We also cover arithmetic expansion, command substitution, and single and double quoting.

Next up we learn about two commands that help us find files on our machine: locate and find. We pay special attention to the find command and its many fancy options and use-cases. You'll learn how to find files by name, size, timestamps, and more. You'll also learn how to bulk-edit files using find's exec option and the xargs command.

We then shift our focus to the grep command. You'll learn how to use grep to recursively search the contents of files and match complex files using regular expressions.

Next, we spend some time discussing the details of file permissions. You'll learn how to read file attributes and understand read, write, and execute permissions. In the next section, we learn how to alter permissions using commands including chmod, chown, sudo, and su.

In the next section, we learn how to customize our shell experience. You'll learn to write your own custom aliases, work with shell variables, and even create your own fancy prompt. Then we learn how to create our own complex commands from scratch and the basics of bash scripting! By the end you'll be writing and running your own programs.

Finally, we learn about the mysterious cron daemon. You'll learn the odd-looking cron syntax to set up your own automated and scheduled cronjobs.

============THE END============

Whether you have some experience with basic commands or you're a complete beginner, this course will help take your skills to the next level.  Learning the command-line is one of the rare skills that transcends the typical divisions between web development, data science, machine learning, or any other tech disciplines. If you work with a computer daily, you will benefit from mastering the command-line.  The commands you learn in the course will change the way you interact with your machine, giving you all new workflows and strategies and POWER over your computer!  More importantly, you'll leave this course prepared to conquer ALL the commands that are waiting for you out in the real world and on the job.   

===============================

Here's an incomplete list of the commands covered in the course:

  • date

  • cal

  • ncal

  • echo

  • man

  • help

  • which

  • type

  • ls

  • cd

  • pwd

  • touch

  • mkdir

  • nano

  • rm

  • rmdir

  • mv

  • cp

  • cat

  • less

  • tac

  • rev

  • head tail

  • wc

  • sort

  • tr

  • tee

  • locate

  • du

  • find

  • grep

  • xargs

  • chmod

  • sudo

  • su

  • chown

  • addgroup

  • adduser

  • export

  • source

  • crontab

  • tar

Who this course is for:

  • Anyone interested in becoming a command line power user!
  • Computer users who want complete control over their machine
  • Anyone interested in web development, data science, or a career that involves code!
  • Students with some prior command line experience who want to gain complete mastery

Course content

21 sections • 168 lectures

Welcome To The Course! Preview 02:36

Why Learn The Command Line Preview 05:53

Finding The Slides & Exercises Preview 02:28

One Small Piece Of Advice Preview 01:11

The World Of Operating Systems Preview 04:27

What Are Unix and Unix-Like? Preview 04:53

Exploring The Original Unix Manual Preview 02:36

Linux, GNU, Kernels, Oh My! Preview 08:16

Explaining Terminals, Shells, & Bash Preview 04:05

Installation & Setup! Preview 02:20

What Actually Matters In This Section Preview 01:25

Opening Up The Terminal Preview 02:44

Understanding The Prompt Preview 04:23

Our First Commands! Preview 04:39

Using Arrow Keys In The Terminal Preview 02:45

Command Line Arguments Preview 06:38

Providing Options To Commands Preview 03:57

Combining Multiple Options Preview 02:17

Using Long-Form Options Preview 04:20

Options That Require Parameters Preview 04:27

Command Structure Quiz

What Actually Matters In This Section Preview 01:07

Introducing The Manual Preview 03:01

Navigating & Searching A Man Page Preview 04:08

Parsing Man Page Synopses Preview 07:50

Man Page Syntax Quiz

The 7 Manual Sections & Searching Preview 04:51

The Type & Which Commands Preview 02:51

Using The Help Command Preview 02:23

Getting Help EXERCISE Preview 05:54

What Actually Matters In This Section Preview 01:16

The Root Directory Preview 05:05

The Home Directory Preview 04:57

The pwd Command Preview 03:47

Using ls Preview 04:54

Helpful options for ls Preview 08:10

Changing Directories With cd Preview 08:21

Relative Vs. Absolute Paths Preview 07:42

Navigation Quiz

Overview Of Other Folders Preview 06:01

Navigation EXERCISE Preview 08:09

What Actually Matters In This Section Preview 01:11

Creating Files With touch Preview 06:40

Why Touch is Called Touch Preview 04:34

Exploring File Types, Extensions, & the file command Preview 09:22

File Names: Good, Bad, & Ugly Preview 06:34

Creating Directories With mkdir Preview 08:03

Creating Things EXERCISE Preview 04:54

What Actually Matters In This Section Preview 01:12

Introducing Nano Preview 04:27

The Basics of Nano Preview 05:10

Creating File With Nano Preview 02:44

Mastering Nano Shortcuts Preview 04:11

Searching & Replacing in Nano Preview 08:25

Configuring Nano & Spellchecking Preview 09:07

Nano Exercise Preview 09:33

What Actually Matters In This Section Preview 00:42

Deleting Files With rm Preview 04:37

Deleting Folders With -d & -r Preview 10:23

Moving Files With mv Preview 04:43

Moving Folders with mv Preview 03:36

Renaming With mv Preview 04:30

Copying with cp Preview 06:53

Deleting, Copying, & Moving EXERCISE Preview 07:32

What Actually Matters In This Section Preview 01:43

Clearing & Jumping Lines Preview 04:13

Jumping Characters & Words Preview 04:41

Swapping Characters & Words Preview 02:59

Killing Lines, Words, & More Preview 05:30

Yanking From The Kill-Ring Preview 03:12

History Command & History Expansion Preview 09:26

What Actually Matters In This Section Preview 01:34

The Cat Command Preview 04:45

Working With Less Preview 06:21

Tac & Rev Preview 05:28

Head & Tail Preview 08:15

The wc Command Preview 03:24

The Sort Command Preview 07:55

Advanced Sorting By Field Preview 04:10

Working With Files EXERCISE Preview 12:17

What Actually Matters In This Section Preview 00:52

Introducing The Standard Streams Preview 06:03

Redirecting Standard Output Preview 08:21

Appending Standard Output Preview 04:43

Redirecting Standard Input Preview 05:13

Redirecting StdIn & StdOut Together Preview 03:41

Redirecting Standard Error Preview 06:33

Putting It All Together & Fancy Shortcuts Preview 06:57

Redirection EXERCISE Preview 06:28

What Actually Matters In This Section Preview 00:55

Intro To Piping Preview 03:58

Playing With Piping Preview 05:55

Comparing Redirection & Piping Preview 02:43

An Interlude: the tr command Preview 07:36

Working With Multiple Pipes Preview 11:00

Using The tee Command Preview 06:40

Piping EXERCISE Preview 08:49

What Actually Matters In This Section Preview 01:25

Pathname Expansion Basics Preview 06:49

More Pathname Expansion Preview 08:53

Tilde Expansion Preview 01:55

The Magic of Brace Expansion Preview 11:05

Arithmetic Expansion Preview 03:18

Quoting Double Vs. Single Preview 05:30

Command Substitution Preview 03:43

Expansions EXERCISE Preview 12:25

What Actually Matters In This Section Preview 02:05

The Locate Command Preview 08:59

The Find Command Preview 09:13

More Find Preview 04:50

How Timestamps Work Preview 05:18

Finding By Time Preview 09:14

Find With Logical Operators Preview 06:37

Find w/ Exec & User Defined Actions Preview 09:01

The Xargs Command Preview 06:43

Find EXERCISE Preview 11:21

What Actually Matters In This Section Preview 01:54

Introducing The Grep Command Preview 05:35

Grep Recursive Search Preview 06:02

Grep Options Preview 08:02

Grep & Regular Expressions Preview 08:17

Grep Extended Regex Preview 06:17

Piping To Grep Preview 11:00

What Actually Matters In This Section Preview 01:06

Multi-User Systems & Permissions Intro Preview 07:14

File Owners & Group Owners Preview 04:10

The File Type Attribute Preview 05:15

Understanding Permissions Preview 04:00

Read Permissions Preview 07:42

Write Permissions Preview 07:21

Execute Permissions Preview 06:20

Permissions Recap & Practice Preview 03:17

What Actually Matters In This Section Preview 01:59

The Chmod Command: Symbolic Notation Preview 11:41

Using Octal Notation With Chmod Preview 06:46

The su Command - Substitute User Preview 05:48

The Super Special Root User Preview 03:40

Using The Sudo Command Preview 07:31

Changing Ownership With Chown Preview 09:16

Working With Groups Demo Preview 12:08

What Actually Matters In This Section Preview 01:54

Introducing The Environment & Variables Preview 04:09

Parameter Expansion Preview 05:15

Defining Variables & Export Preview 08:10

The Mysterious Startup Files Preview 11:04

Customizing Your Prompt Preview 14:37

Defining Aliases Preview 08:31

Useful Aliases & The .bash_aliases File Preview 07:00

What Actually Matters In This Section Preview 01:11

Intro to Scripting Preview 03:16

Our First Script Preview 06:25

The Mysterious PATH Variable Preview 06:12

Adding To The PATH Preview 05:35

Making Our Script Executable Preview 02:22

The Significance Of The Shebang Preview 05:45

Building A Weather Program Preview 18:09

What Actually Matters In This Section Preview 01:07

An Introduction To Cron Preview 04:52

CronJob Crazy Syntax Preview 07:36

Our Very First Cronjob Preview 06:16

Handling Errors In A Cron Job Preview 03:28

More Cron Syntax Preview 08:00

Writing A Daily Backup Cron Job Preview 14:33

Mac Installation Options & Terminal Setup Preview 06:03

Mac Virtual Machine Setup Preview 11:53

Windows Installation Overview Preview 06:19

Windows Virtual Machine Setup Preview 05:39

WSL Installation Preview 00:24