We may earn an affiliate commission when you visit our partners.
Michael Eramo

Learn the in's and out's of the Linux command line.  Don't be fooled into thinking that the only way to interact with your computer is through point and click GUI (graphical user interface) applications.  The Linux command line is where the true power of your machine can be unlocked.  Delve beyond the simple commands beginners enter and gain an understanding of what is going on behind the commands. 

In doing so you will begin to master an operation system that is secure, stable, customizable, open-source, and best of all FREE.   

Read more

Learn the in's and out's of the Linux command line.  Don't be fooled into thinking that the only way to interact with your computer is through point and click GUI (graphical user interface) applications.  The Linux command line is where the true power of your machine can be unlocked.  Delve beyond the simple commands beginners enter and gain an understanding of what is going on behind the commands. 

In doing so you will begin to master an operation system that is secure, stable, customizable, open-source, and best of all FREE.   

Many students often want to dive right into higher level Kali Linux tools such as Nmap, Metasploit, or Wireshark without gaining a solid understanding of the basics first.  This course will provide foundational knowledge you need to be successful when working with other Linux tools.   Not only will I teach you, but you will get opportunities to prove your knowledge at various knowledge checkpoint challenge problems along the way.  Watching is great, but doing is even better.

Trust me, I know.   I've been teaching Linux to middle and high school students for the past few years.  We put a bunch of old PC's running Kali Linux on the same network; the first thing they wanted to do was "hack" into each other.   However, we took it slow, started at the beginning learning these fundamental skills, and we saw  If middle and high school students can learn Linux, so can you.

By the end of this course you will be using the command line to:

  • Monitor the status of your computer

  • Navigate through the directory structure

  • Create and edit files

  • Search through files using powerful commands like grep and awk

  • Change file permissions

  • Create and modify users/groups

  • Install new software

  • Compress and extract files

  • And most importantly, write YOUR OWN SCRIPTS.

All of your command line knowledge will come together at the end of this course when we introduce bash scripting, where you will be writing your own bash scripts and executing them on your machine.   When you are done with this course, you'll be able to jump off and do almost anything you want on your machine.

Linux is like a playground; come play.

Enroll now

What's inside

Learning objectives

  • A fundamental skill set needed to continue on with more advanced topics such as ethical hacking.
  • How to get kali linux running as a virtual machine on your computer.
  • Essential linux terminal commands.
  • The importance of the linux directory structure and where specific files are kept.
  • How to create and modify your own files and directories.
  • Powerful search commands such as grep and awk.
  • How to add/modify users and groups.
  • How to change permissions of files to read, write, or execute.
  • How to install software and keep your system up to date.
  • How to compress and uncompress files or directories.
  • How to write your own linux bash scripts.
  • Show more
  • Show less

Syllabus

Virtual Box
Installing Virtual Box
Installing Kali Linux Virtual Machine
Entering Terminal Commands: Getting to Know Your Computer
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a fundamental skill set needed to continue on with more advanced topics such as ethical hacking, penetration testing, and digital forensics
Starts with installing Kali Linux as a virtual machine, which is a safe and isolated environment for experimenting with the operating system
Covers essential Linux terminal commands, providing a solid foundation for navigating and interacting with the operating system
Explores how to add and modify users and groups, which is a core skill for managing user access and system security
Culminates in writing your own Linux bash scripts, enabling automation of tasks and customization of the operating system
Uses Kali Linux, which is a specific distribution of Linux designed for digital forensics and penetration testing

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundational linux command line skills

According to learners, this course provides a solid foundation in the Linux command line, making it ideal for absolute beginners. Students particularly appreciate the hands-on approach and the challenge problems, which help solidify understanding. The course covers essential commands and topics like file manipulation, permissions, searching with grep/awk, and an introduction to bash scripting. Some reviewers found the pace easy to follow, while a few more experienced users felt the content was too basic or could benefit from more advanced topics. Overall, it's seen as a great starting point before tackling more complex areas like ethical hacking.
Provides basic understanding of scripting.
"The final section on bash scripting was a great introduction to automating tasks."
"I liked learning the basics of writing simple scripts at the end."
"The scripting part was challenging but rewarding and felt like a good capstone."
Builds a necessary base for future study.
"This course gave me the fundamental skills I needed before diving into ethical hacking tools like Nmap."
"A solid introduction that prepares you for more advanced Linux tasks."
"I feel much more confident now in navigating the terminal for various purposes."
Instructor makes complex topics easy.
"The explanations are clear and concise, breaking down commands and concepts effectively."
"The instructor explains things in a way that is easy to digest, even for technical novices."
"I appreciated how the instructor didn't assume prior knowledge and explained the 'why' behind commands."
Includes effective exercises and challenges.
"The challenge problems after each section are excellent for testing your knowledge and putting what you learned into practice."
"I really enjoyed the practical exercises. They made the concepts stick better than just watching lectures."
"The 'Art of Doing' part is true – the labs and challenges are super helpful."
"Learning by doing is the best way, and this course provides ample opportunity for that."
Well-suited for those new to the command line.
"This course is great if you are completely new to the Linux command line. It starts simple and builds up."
"As someone with no prior experience with Linux, I found this course incredibly easy to follow and understand."
"Definitely recommend this for absolute beginners who want to get their feet wet with the terminal."
"I had zero experience and now I feel comfortable navigating the basic Linux environment."
"Perfect starting point for someone just beginning their journey with the Linux command line."
May be too basic or lacks depth for some.
"If you already have some Linux experience, this course might feel too slow or cover only what you already know."
"I was hoping for slightly more depth on topics like scripting or system administration."
"Could benefit from expanding on topics introduced, maybe with a follow-up course."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Art of Doing: Learn the Linux Command Line with these activities:
Review Basic Networking Concepts
Reinforce your understanding of networking concepts like IP addresses, subnetting, and common protocols. This will provide a solid foundation for understanding how Linux commands interact with the network.
Browse courses on Networking Fundamentals
Show steps
  • Review your notes on networking fundamentals.
  • Practice subnetting calculations.
  • Research common network protocols like TCP and UDP.
Read 'The Linux Command Line'
Supplement the course material with a comprehensive book on the Linux command line. This will provide a deeper understanding of the concepts and commands covered in the course.
Show steps
  • Obtain a copy of 'The Linux Command Line'.
  • Read the chapters relevant to the course syllabus.
  • Experiment with the commands and techniques described in the book.
Command Line Challenge Problems
Practice using the commands learned in the course through challenge problems. This will help solidify your understanding and improve your problem-solving skills.
Show steps
  • Find online resources with Linux command line challenges.
  • Attempt to solve each challenge using the commands learned in the course.
  • Review solutions and learn from your mistakes.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Cheat Sheet
Compile a cheat sheet of the most important Linux commands and their options. This will serve as a quick reference guide and reinforce your understanding of the commands.
Show steps
  • Review the commands covered in the course.
  • Organize the commands into categories.
  • Write a brief description of each command and its options.
Automate a Task with a Bash Script
Apply your knowledge of bash scripting to automate a common task. This will help you understand how to use scripts to improve your workflow and solve real-world problems.
Show steps
  • Identify a repetitive task you perform regularly.
  • Write a bash script to automate the task.
  • Test the script thoroughly and debug any errors.
Study 'Linux Bible'
Expand your knowledge of Linux with a comprehensive guide. This will provide a broader understanding of the operating system and its capabilities.
View Linux Bible on Amazon
Show steps
  • Obtain a copy of 'Linux Bible'.
  • Read the sections relevant to your interests and goals.
  • Experiment with the commands and techniques described in the book.
Contribute to a Linux Project
Contribute to an open-source Linux project. This will give you valuable experience working with real-world code and collaborating with other developers.
Show steps
  • Find an open-source Linux project that interests you.
  • Review the project's documentation and code.
  • Identify a bug or feature you can contribute.
  • Submit a pull request with your changes.

Career center

Learners who complete The Art of Doing: Learn the Linux Command Line will develop knowledge and skills that may be useful to these careers:
Linux System Administrator
A Linux System Administrator is responsible for managing and maintaining Linux-based servers and systems. This course helps build a strong foundation in essential Linux terminal commands, navigating the directory structure, and manipulating files, which are crucial for system administration tasks. Configuring users and groups as well as changing file permissions are core responsibilities. The course especially helps in understanding how to install software, manage updates, and compress/extract files using the command line, which are daily tasks for a Linux System Administrator.
Security Consultant
A Security Consultant advises organizations on how to improve their security posture. This role requires a strong understanding of Linux systems and command-line tools, as Linux is a prevalent operating system in many security environments. This course can be useful for Security Consultants since they must be fluent in Linux to be successful.
Automation Engineer
An Automation Engineer designs and implements automated processes across various systems. This course is applicable, as scripting with Linux command line is a core component of automation. Automation Engineers rely on strong command line skills in order to design and implement automated processes. Learning Bash scripting and managing users/groups is key to automating processes. If you wish to be an effective Automation Engineer you should take this course.
Site Reliability Engineer
A Site Reliability Engineer focuses on ensuring the reliability, availability, and performance of systems. As such, this role requires a deep understanding of Linux environments and command-line tools. They use the command line for tasks like monitoring system health, troubleshooting issues, and automating operational tasks. The course's focus on system monitoring, file manipulation, and scripting builds a solid foundation for working as a Site Reliability Engineer.
Cloud Engineer
A Cloud Engineer manages and maintains cloud computing infrastructure. This course provides foundational knowledge in Linux, the prevalent operating system in cloud environments. Cloud Engineers use the command line extensively to manage virtual machines, deploy applications, and configure cloud services. This course can be helpful in learning to navigate the directory structure, create and modify files, and write bash scripts, which are valuable skills for automating cloud management tasks.
Cybersecurity Analyst
A Cybersecurity Analyst protects computer systems and networks from cyber threats. This course helps in building a foundational understanding of the Linux command line, which is essential in cybersecurity. Cybersecurity Analysts need to navigate systems, analyze logs, and use command-line tools for security assessments and incident response. This course can be valuable as it teaches you how to use powerful search commands like `grep` and `awk`, manage file permissions, and monitor system status, all of which are beneficial for identifying and mitigating security risks.
Build Engineer
A Build Engineer is responsible for creating and maintaining the build systems used to compile, test, and package software. This often involves working with Linux-based build environments and command-line tools. A Build Engineer may benefit from this course as it will help you in managing files as well as writing build scripts.
DevOps Engineer
A DevOps Engineer automates and streamlines software development and deployment processes. This course may be useful, as it provides practical experience with the Linux command line. DevOps Engineers frequently use Linux environments and command-line tools for tasks such as server configuration, automation scripting, and managing continuous integration/continuous deployment pipelines. This course helps you learn how to write bash scripts, manage file permissions, and install software from the command line, all of which are essential skills for a DevOps Engineer.
Release Engineer
A Release Engineer manages and automates the software release process. This role demands a solid understanding of command-line tools and scripting, often within Linux environments. Release Engineers use the command line for tasks such as building software packages, deploying applications, and managing configurations. This course can be helpful to learn file permissions, which are relevant to the job.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests software for embedded systems, which are specialized computer systems embedded within devices. This course helps build a robust understanding of the Linux command line. Embedded Systems Engineers often use Linux for development and debugging. Understanding how to navigate directories, manipulate files, and change permissions is essential for managing embedded systems. This course provides valuable skills for working with embedded Linux environments.
Network Engineer
A Network Engineer designs, implements, and manages computer networks. This course may be useful, as Linux is often used in network infrastructure and management. Network Engineers use command-line tools to configure network devices, troubleshoot connectivity issues, and monitor network performance. This course aids in mastering essential Linux terminal commands to monitor the status of your machine, network interfaces, and troubleshoot network problems. This is very important for a Network Engineer.
Data Scientist
A Data Scientist analyzes large datasets to extract meaningful insights and develop data-driven solutions. This course may be helpful, because Linux environments and command-line tools are often used in data science for data processing, analysis, and scripting. This course introduces you to powerful search commands such as `grep` and `awk`, which are useful for filtering and manipulating data from the command line. Furthermore, this course helps you write your own bash scripts, which can be useful for automating data analysis workflows.
Software Developer
A Software Developer designs, develops, and tests software applications. This course can be useful, as many development environments rely on Linux. Software Developers frequently use the command line for tasks like compiling code, managing files, and interacting with version control systems. This course will be useful because it will help you edit files, manage file permissions, and write bash scripts, skills that enhance productivity and efficiency in the development workflow.
Quality Assurance Engineer
A Quality Assurance Engineer tests software to ensure it meets quality standards. This role may benefit from knowledge of the Linux command line, particularly if the software being tested runs on Linux systems. This course gives you an intuitive understanding of the Linux command line, allowing them to be a more effective and more well rounded Quality Assurance Engineer in a Linux environment.
Technical Support Specialist
A Technical Support Specialist provides technical assistance to customers or internal users. This course may be useful, as possessing knowledge of the Linux command line will enable efficient troubleshooting and issue resolution. Many systems and applications run on Linux servers, and the ability to navigate the command line, monitor system status, and modify file permissions can greatly enhance a support specialist's effectiveness. This course can be particularly helpful in diagnosing and resolving technical issues.

Reading list

We've selected two 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 Art of Doing: Learn the Linux Command Line.
Comprehensive guide to the Linux command line. It covers everything from basic navigation to advanced scripting techniques. It serves as an excellent reference and provides more in-depth explanations than the course alone.
The Linux Bible comprehensive guide to using Linux, covering everything from basic commands to advanced system administration. It provides a broad overview of the Linux operating system and can be a valuable resource for expanding your knowledge beyond the command line. is useful as a reference tool and provides additional depth to the course.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser