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
whoami, uname
ifconfig, ip, and ping
df, free, ps, top, kill
Navigating the Terminal
Changing Directories
Important Directories and Looking at What They Contain
Editing Files Within a Directory
Making and Manipulating Files
Adding to the Sudo Group
Making and Manipulating Directories
Knowledge Check Challenge 1: Terminal Navigation and Manipulating Files
Searching Through Files
Piping and Redirection
Searching With Grep
Awk: Grabbing Only What You Want
Knowledge Check Challenge 2: Piping, Grep, Awk, and Redirecting Output
Changing File Permissions and Executing Files
What Are Permissions
Owner, Group, All Users
Changing Permissions and Executing Files
Knowledge Check Challenge 3: File Permissions, Users, and Groups
Installing Software
The Advanced Packaging Tool APT
Updating Our System and Installing Software
Knowledge Check Challenge 4: Installing New Software and Learning How To Use It
Compressing and Extracting Files
Compressing Files With Gzip
Creating Archives with Tar
Knowledge Check Challenge 5: Compressing and Extracting Files
Basics of Bash Scripting
Writing Your First Script With Echo
An Introduction to Expansion
Parameter and Command Expansion
Arithmetic Expansion and Getting User Input
Tests and If Statements
Looping With For
Looping with While and Until
Knowledge Check Challenge 6: Bash Scripting

Good to know

Know what's good
, what to watch for
, 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

Save The Art of Doing: Learn the Linux Command Line to your list so you can find it easily later:
Save

Reviews summary

Beginner-friendly linux command line fundamentals

According to learners, this course offers a highly effective introduction to the Linux command line, particularly for those starting from scratch. Students found the content to be clear and easy to follow, praising the instructor's ability to explain complex concepts simply. The course structure, featuring hands-on activities and knowledge check challenges, is frequently mentioned as a key strength, reinforcing learning through practice. While the course is described as excellent for beginners covering essential commands and a basic introduction to bash scripting, some reviewers note it stays at a foundational level.
Instructor explains concepts clearly and concisely.
"The instructor has a great way of explaining things simply without being patronizing. Very clear and easy to follow."
"Complex commands and concepts were broken down into manageable steps with clear explanations."
"Reviewers consistently mention the clarity of the lectures and the instructor's teaching style."
Practical exercises reinforce learning effectively.
"The 'Knowledge Check Challenge' problems were fantastic for testing understanding and getting hands-on practice."
"I really appreciated the emphasis on 'doing'. Running the commands myself solidified the concepts better than just watching."
"The exercises, especially the bash scripting ones, were engaging and very helpful."
Excellent starting point for new Linux users.
"This course is perfect for someone who has never touched the Linux command line before. It made everything feel much less intimidating."
"As a complete beginner, I found this course incredibly helpful. It breaks down concepts so they are easy to understand."
"Ideal for absolute beginners looking to get comfortable with essential Linux commands."
Virtual machine setup can be a hurdle.
"Getting the Kali Linux virtual machine set up correctly was the most challenging part for me."
"A few reviewers mentioned minor difficulties during the initial Virtual Box/Kali Linux installation process."
"The technical setup phase required some troubleshooting beyond the course material for some students."
Focuses on fundamentals; not advanced topics.
"While great for basics, don't expect to become an expert. It's a solid foundation but stays introductory."
"Covers all the essential commands well, but those with some prior experience might find it too basic."
"Provides a good overview of core commands and scripting basics, setting the stage for further learning rather than deep diving."

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