We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

The Linux Command Line Bootcamp

Beginner To Power User

Colt Steele

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.

Read more

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, GNU,  Linux, 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

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

The Super Quick Course Orientation Stuff
Welcome To The Course!
Join The Community!
Why Learn The Command Line
Read more
Finding The Slides & Exercises
One Small Piece Of Advice
Introduction
The World Of Operating Systems
What Are Unix and Unix-Like?
Exploring The Original Unix Manual
Linux, GNU, Kernels, Oh My!
Explaining Terminals, Shells, & Bash
Installation & Setup!
Command Basics
What Actually Matters In This Section
Opening Up The Terminal
Understanding The Prompt
Our First Commands!
Using Arrow Keys In The Terminal
Command Line Arguments
Providing Options To Commands
Combining Multiple Options
Using Long-Form Options
Options That Require Parameters
Command Structure Quiz
Getting Help
Introducing The Manual
Navigating & Searching A Man Page
Parsing Man Page Synopses
Man Page Syntax Quiz
The 7 Manual Sections & Searching
The Type & Which Commands
Using The Help Command
Getting Help EXERCISE
Navigation
The Root Directory
The Home Directory
The pwd Command
Using ls
Helpful options for ls
Changing Directories With cd
Relative Vs. Absolute Paths
Navigation Quiz
Overview Of Other Folders
Navigation EXERCISE
Creating Files & Folders
Creating Files With touch
Why Touch is Called Touch
Exploring File Types, Extensions, & the file command
File Names: Good, Bad, & Ugly
Creating Directories With mkdir
Creating Things EXERCISE
Nano
Introducing Nano
The Basics of Nano
Creating File With Nano
Mastering Nano Shortcuts
Searching & Replacing in Nano
Configuring Nano & Spellchecking
Nano Exercise
Deleting, Copying, & Moving
Deleting Files With rm
Deleting Folders With -d & -r
Moving Files With mv
Moving Folders with mv
Renaming With mv
Copying with cp
Deleting, Copying, & Moving EXERCISE
Shortcuts & History
Clearing & Jumping Lines
Jumping Characters & Words
Swapping Characters & Words
Killing Lines, Words, & More
Yanking From The Kill-Ring
History Command & History Expansion
Working With Files
The Cat Command
Working With Less
Tac & Rev
Head & Tail
The wc Command
The Sort Command
Advanced Sorting By Field
Working With Files EXERCISE
Redirection
Introducing The Standard Streams
Redirecting Standard Output
Appending Standard Output
Redirecting Standard Input
Redirecting StdIn & StdOut Together
Redirecting Standard Error
Putting It All Together & Fancy Shortcuts

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores key command line commands that are standard across modern operating systems
Teaches how to write command line commands from scratch
Teaches how to utilize Cron to automate tasks
Develops mastery and working knowledge of command line control
Develops an understanding of file permissions and their quirks
Taught by Colt Steele, who is recognized for their teaching and real-world experience in software engineering

Save this course

Save The Linux Command Line Bootcamp: Beginner To Power User to your list so you can find it easily later:
Save

Reviews summary

Beginner to power user in linux command line bootcamp

Students largely agree that this course is an engaging, well-structured bootcamp that is suitable for beginners who want to learn about the Linux command line. The course is presented by an knowledgeable instructor who delivers the content in a clear and easy-to-understand manner. Learners appreciate the practical demonstrations and hands-on exercises that reinforce the concepts being taught. While the course may not be as advanced as some learners would like, it provides a solid foundation for those new to the subject.
Learners find the course to be engaging and interactive, with practical demonstrations and hands-on exercises that help reinforce the concepts being taught.
"It’s very engaging so far"
"Very informative and elaborate description of each and every module. Would need quite some hands on to implement the learning"
"This course is very honest, informative and well planned. As a nurse it was my intention to implement this modality to help comfort my patients post operatively. Thank you for making obtaining a new skill so accessible!"
The instructor does a good job of explaining the concepts in a clear and easy-to-understand manner.
"Very clearly explained 👌"
"Mark is amazing at teaching. I have taken a few of his classes and all of them have been great."
"Fantastic (steep) intro to LLM + LANGCHAIN. Was looking for a way to implement expert knowledge chatbot myself. Now I know it ... and WAY MORE."
The course is well-suited for beginners who want to learn about the Linux command line.
"Easy to understand for beginners. Well-structured. Thank you Sal."
"Loved the course. It was easy to learn as Iam beginner"
"Very informative and great fit for me.Course was clearly presented as I am new to online learning."
The instructor is knowledgeable and experienced in the subject matter.
"knowledgeable and easy to understand"
"Mark always delivers! I love his courses!"
"This instructor is incredibly easy to follow, engaging, knowledgable. He shares tips for marketing/business ideas related to MLD for both estheticians and LMTs. Thank you for offering this course!"
Some learners may find that the course lacks advanced content.
"The course is good, profound knowledge. I hope it gets more advance when I follow with the rest."
"The course is amazing and helpful. It includes lots of fascinating and important content. Also, the instructor is fun and full of positive energy which makes the course even more interesting to take."

Activities

Coming soon We're preparing activities for The Linux Command Line Bootcamp: Beginner To Power User. These are activities you can do either before, during, or after a course.

Career center

Learners who complete The Linux Command Line Bootcamp: Beginner To Power User will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
A DevOps Engineer is a software engineer who specializes in the intersection of software development and operations. DevOps Engineers are responsible for building, deploying, and maintaining software systems. This course can help you build a solid foundation in the Linux command line, which is an essential tool for DevOps Engineers. With the skills you learn in this course, you will be able to automate tasks, troubleshoot errors, and manage your software projects more efficiently.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. They analyze data to uncover hidden patterns, market trends, customer preferences, and other useful information that can help organizations make informed decisions. This course is a great way to build a strong foundation in the Linux command line, which is an indispensable tool for Data Scientists. With the skills you learn in this course, you will be able to manipulate and analyze data more efficiently, which can help you to identify trends and patterns more quickly.
Cloud Engineer
A Cloud Engineer designs, builds, and manages cloud computing systems. They are responsible for ensuring that cloud-based applications and services run smoothly and efficiently. This course can teach you the basics of the Linux command line, which is an essential tool for Cloud Engineers. By completing this course, you will be able to use dozens of Linux commands to automate tasks, troubleshoot errors, and manage your cloud computing systems more effectively.
Security Analyst
A Security Analyst is responsible for identifying and mitigating security risks to computer systems and networks. They also develop and implement security policies and procedures. This course can help you build a strong foundation in the Linux command line, which is an essential tool for Security Analysts. With the skills you learn in this course, you will be able to secure your systems and networks more effectively.
Software Engineer
A Software Engineer is a professional who designs, develops, tests, deploys, and maintains computer software. This course can help build a foundation in the Linux command line, which is an essential tool for many Software Engineers. By completing this course, you will learn how to use dozens of Linux commands, which can help you to automate tasks, troubleshoot errors, and manage your software projects more efficiently.
Systems Administrator
A Systems Administrator is responsible for maintaining and troubleshooting computer systems. They also install and configure software, and monitor system performance. This course may be helpful for Systems Administrators who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your systems more effectively.
Network Administrator
A Network Administrator is responsible for designing, installing, and maintaining computer networks. They also monitor network performance and troubleshoot network problems. This course may be useful for Network Administrators who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your networks more effectively.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. They also design and implement database security measures. This course may be useful for Database Administrators who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your databases more effectively.
Web Developer
A Web Developer designs, develops, and maintains websites and web applications. This course may be useful for Web Developers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your web servers and applications more effectively.
Software Tester
A Software Tester is responsible for testing software to identify bugs and ensure that it meets the requirements. This course may be useful for Software Testers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to test your software more effectively.
Technical Writer
A Technical Writer creates and maintains documentation for technical products and services. This course may be helpful for Technical Writers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to document your technical products and services more effectively.
Sales Engineer
A Sales Engineer provides technical support to customers and helps them to choose the right products and services. This course may be useful for Sales Engineers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to support your customers more effectively.
Product Manager
A Product Manager is responsible for managing the development and launch of new products and services. This course may be useful for Product Managers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your products and services more effectively.
Account Manager
An Account Manager is responsible for managing relationships with customers and ensuring that they are satisfied with the products and services they have purchased. This course may be useful for Account Managers who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to manage your accounts more effectively.
Customer Support Representative
A Customer Support Representative provides support to customers who have questions or problems with their products or services. This course may be useful for Customer Support Representatives who want to learn more about the Linux command line. By completing this course, you will gain a deeper understanding of how the Linux command line works and how to use it to support your customers more effectively.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Linux Command Line Bootcamp: Beginner To Power User.
Collection of essays on the Unix philosophy and the art of Unix programming. It valuable resource for anyone who wants to learn more about the Unix operating system and its culture.
Provides a comprehensive overview of the Linux command line, covering everything from basic commands to advanced topics such as scripting and automation. It valuable resource for both beginners and experienced users alike.
Comprehensive overview of data communications and networking. It covers the fundamentals of networking, as well as the implementation of key protocols such as TCP/IP, UDP, and IP. It valuable resource for anyone who wants to understand the inner workings of the Internet.
This classic book must-read for anyone who wants to understand the Unix operating system and its command line. It covers the fundamentals of Unix, including file system, processes, and networking.
This classic book must-read for anyone who wants to learn about Unix network programming. It covers the fundamentals of network programming, including sockets, protocols, and applications.
Comprehensive overview of network security. It covers the fundamentals of network security, as well as the implementation of key security protocols such as SSL/TLS, IPSec, and SSH. It valuable resource for anyone who wants to learn about the inner workings of network security.
Collection of essays on software engineering. It covers topics such as software development, project management, and team dynamics. It valuable resource for anyone who wants to learn more about the software development process.
Guide to managing software development teams. It covers topics such as team dynamics, communication, and motivation. It valuable resource for anyone who wants to learn more about the human side of software development.
Comprehensive guide to advanced Linux programming techniques. It covers topics such as system calls, file systems, and networking. It valuable resource for experienced Linux programmers who want to learn more about the inner workings of the operating system.
Comprehensive guide to Linux system programming. It covers topics such as system calls, file systems, and networking. It valuable resource for experienced Linux programmers who want to learn more about the inner workings of the operating system.
Guide to writing clean code. It covers topics such as code readability, maintainability, and testability. It valuable resource for anyone who wants to improve their coding skills.
Provides a detailed overview of the Linux kernel. It covers the architecture of the kernel, as well as the implementation of key subsystems such as the file system, memory management, and networking. It valuable resource for anyone who wants to understand the inner workings of the Linux operating system.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Linux Command Line Bootcamp: Beginner To Power User.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser