We may earn an affiliate commission when you visit our partners.
Course image
Mike Ghazaleh

Welcome.  My name is Mike, and I'm here to help you become proficient with Linux.  My goal is to make it FUN.

Read more

Welcome.  My name is Mike, and I'm here to help you become proficient with Linux.  My goal is to make it FUN.

Learning Linux is hard. There's so many commands, and so many variations of those commands, it can be really difficult to know where to start. In this course I take a unique approach: I lecture, then lab in many cases, and then let you go explore. This course is for those who are willing to work hard, explore, read documentation occasionally, and most importantly - try harder.

This is going to be a journey, but I know you can do it, and I'm here to help.

In this course, I'll cover things such as:

  • Linux basics (what is linux?)

  • Installation of Ubuntu Linux using the 20.04 release

  • All of the usual file management commands (ls, mv, cp, mkdir, rm, and more)

  • How to set file permissions and most importantly, understand how permissions work.

  • How to create your first shell script from scratch

  • How to troubleshoot basic network issues with tcpdump

  • Practical knowledge on how to use linux in an enterprise environment

  • Very condensed course - no fluff - learn it, then do it.

  • The course is designed with a logical progression so you will build upon knowledge learned in previous lessons

Take the leap, and let's get to learning Linux.  

Enroll now

What's inside

Learning objectives

  • How to administer an ubuntu server and advance your career
  • Learn 100+ linux commands!
  • Access to q&a where all questions are answered within 24 hours

Syllabus

Overview

If you're intimidated by Linux, but you have to learn it for your career, you're in the right place! This course is all about learning by doing, and growing together! In this lesson we'll discuss what is covered in this course at a high level before we dive right into the practical use cases and lessons!

Read more

This video discusses a couple of tips you should know while taking Udemy courses. I've summarized them below for your convenience!


  • All my videos are filmed in 1080p, but Udemy throttles them down to 720p

    • Adaptive Streaming is a feature coming which will fix this. Once it's ready for everyone, this course will be 1080p!

  • You'll get prompted for reviews after some lessons. These reviews are for the entire course, NOT just the lesson! 

  • I update all of my courses regularly! I aim for every 2-3 months at the latest, but it is usually much sooner.

  • If you have anything you want to see in the course, let me know! If I get enough requests, I will do additional lessons as updates!

Before we start!
Lab Setup
Flavors of Linux
Live CD or Install?
Installing VMware Workstation on Windows (Optional)
Installing VirtualBox for Mac (Optional)
VMware Fusion (Optional)
Installing Ubuntu
My Lab Setup
Hatchling (Beginner)
Linux File System Layout
Linux Directory reference
Managing shells
Navigating directories with cd
Listing files with ls

Want to learn how to view files in linux? Well, the cat command can help! In this lesson, you'll learn how to use the cat command. Protip: if you don't have existing files to practice using the cat command on, you can always use files in the /etc/ directory!

Writing and combining files with cat
Man: Your new best friend
Creating new directories with mkdir
How to copy files and directories with cp
Deleting files with rm
Moving files with rv
Sudo & Root
Finding files
Kung Fu with Grep
Create and edit files with nano
Comparing two files with diff
Archiving files with tar
How to compress files
Changing user & root passwords
Switching users with su
Changing your hostname
Challenge Lab #1
Challenge Lab 1 Solution
Quiz #1
Penguin (Intermediate)
Installing software
Removing software / Uninstalling packages
Output Redirection
Output Redirection Lab
Output Redirection with pipes
How to sort things
Sorting lab
Editing files with Sed
Hard & Soft Links
Creating links (lab)
Creating new users
Managing Group Membership / Deleting groups & users
Linux File Permissions
Changing file permissions with chmod
Chmod Lab
Changing file and group ownership
Shutdown and Reboot your system
Command Aliases
Command Aliases Lab
Challenge Lab 2
Challenge Lab 2 Solution
Networking
Viewing IP information
Enabling SSH access in Linux
Configuring a static IP in Ubuntu

If you have NO previous experience with Linux, feel free to skip this article. This is really for those who have a tiny bit of prior experience and may be confused by changing lingo/commands in linux. Specifically, I'll address ifconfig and /etc/network/interfaces.

Enabling/Disabling network interfaces
Public Key Authentication
Public Key Authentication Lab
Optional: Generating a SSH keypair on Windows 10
Understanding DNS in Ubuntu
Using curl and wget to pull webpages
Downloading files via FTP
Transferring files via SCP
Shell Scripting Basics
Why use shell scripts?
Shell Script Example
Your first Shell Script
Another way to call shell scripts
Understanding the PATH
Cron Jobs overview
Cron Lab
Troubleshooting
Monitoring logs with tail
Checking disk space with df
Actively monitoring command output with watch
Showing active network connections with show sockets (ss)
Network troubleshooting with TCPDUMP
tcpdump Lab
Exporting tcpdump captures for use with Wireshark
Closing
Bonus: Final Lesson

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a structured learning environment that is logical and incremental, enabling learners to build upon existing knowledge and skills
Covers fundamental Linux concepts and commands, making it suitable for beginners
Practical exercises and hands-on activities reinforce learning and provide opportunities for students to apply their knowledge
Focuses on developing core Linux skills and provides a solid foundation for students to advance their career
Instructor is an experienced professional in their field and provides clear and engaging instruction

Save this course

Save Learn Ubuntu Fast: Learn, Practice, and Advance your Career to your list so you can find it easily later:
Save

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 Learn Ubuntu Fast: Learn, Practice, and Advance your Career with these activities:
Review Linux fundamentals
Refresh your memory on the key concepts and terminology related to Linux.
Browse courses on Linux Fundamentals
Show steps
  • Read through the course introduction or revisit previous materials that cover Linux concepts
  • Identify any areas where your understanding is weak and focus on strengthening them
  • Check online resources or tutorials for additional explanations and examples
Review command line basics
Familiarize yourself with the command line so you can follow along with the course easily and avoid confusion.
Browse courses on Command Line
Show steps
  • Open your terminal or a command prompt
  • Try using basic navigation commands such as cd, ls, and pwd
  • Experiment with file manipulation commands like cp, mv, and rm (with caution)
  • Practice using man pages or online documentation to learn more about specific commands
Collect textbooks and resources
Gather all books and any other resources you plan on using for this course so you have them at your disposal whenever you need them.
Show steps
  • Acquire the course companion textbook: Linux Administration Handbook, 3rd Edition, by Evi Nemeth and Garth Snyder
  • Search for additional references and resources online and download them for future use
13 other activities
Expand to see all activities and additional details
Show all 16 activities
Review Linux Basics
Refresh your knowledge of the fundamentals of Linux to ensure a strong foundation for this course.
Browse courses on Linux Basics
Show steps
  • Read through the documentation on the Linux kernel website
  • Review the notes from your previous Linux course
  • Practice using the basic Linux commands in a terminal emulator
Join a Linux Community
Connect with other Linux enthusiasts and learn from their experiences to expand your knowledge and stay updated.
Browse courses on Open Source
Show steps
  • Join a Linux user group or online forum
  • Participate in community discussions and contribute to open source projects
  • Attend Linux conferences or meetups
Practice using Linux commands
Complete these drills to improve your understanding and practical skills in working with Linux commands.
Browse courses on Linux Commands
Show steps
  • Find a list of common Linux commands and practice using them in your terminal
  • Try to solve simple tasks using only the command line, such as creating and navigating directories, or finding files
  • Find online challenges or exercises that test your Linux command proficiency
Command Line Drills
Strengthen your command of Linux commands and shell scripting through repetitive practice.
Browse courses on Command Line
Show steps
  • Find a list of common Linux commands and practice using them in a terminal emulator
  • Write a series of shell scripts to automate tasks
  • Use regular expressions to parse log files
Practice using the grep command to search for specific patterns in text files.
By engaging in practice drills using the grep command, you can develop proficiency in extracting and filtering information from text files, which is a fundamental skill for navigating and analyzing data in Linux systems.
Show steps
  • Create a sample text file and populate it with some data.
  • Use the grep command to search for specific keywords or patterns in the text file.
  • Explore different grep options and flags to refine your search criteria.
Follow a tutorial to experiment with different file permissions and their impact on file access.
Completing tutorials on file permissions allows you to gain practical experience in setting and modifying file permissions, enhancing your understanding of how to manage and secure files effectively in Linux systems.
Browse courses on File Permissions
Show steps
  • Identify an online tutorial that covers Linux file permissions.
  • Follow the tutorial to create files and directories with different permissions.
  • Use the chmod command to modify file permissions.
  • Test the effects of different file permissions by attempting to access and modify the files.
Create a shell script that automates a common task related to your job or a personal project.
Developing a shell script to automate a task can enhance your problem-solving skills, deepen your understanding of shell scripting syntax, and provide practical experience in leveraging Linux for efficiency and productivity.
Browse courses on Shell Scripting
Show steps
  • Identify a repetitive task that you perform regularly.
  • Design a shell script that implements the steps required to complete the task.
  • Test and debug your shell script to ensure it functions as expected.
Advanced Network Troubleshooting
Deepen your understanding of network troubleshooting techniques to enhance your ability to diagnose and resolve network issues.
Browse courses on Networking
Show steps
  • Follow a tutorial on advanced network troubleshooting techniques
  • Practice using the tools and techniques covered in the tutorial to troubleshoot network problems
  • Configure and manage a firewall to secure a network
Follow online tutorials and courses
Supplement your learning with additional resources that provide step-by-step guidance and practical examples.
Browse courses on Online Courses
Show steps
  • Search for online tutorials or courses that cover specific Linux topics or skills
  • Follow the tutorials carefully, completing all exercises and assignments
  • Take notes and record any questions or areas where you need further clarification
Contribute to open source projects
This experience will provide you with hands-on Linux skills and a deeper understanding of Linux development.
Browse courses on Open Source
Show steps
  • Find open source projects related to Linux or system administration on platforms like GitHub
  • Review the project documentation and identify areas where you can contribute
  • Submit bug reports, feature requests, or code changes following the project's contribution guidelines
Build a Linux Server
Gain hands-on experience by building and deploying a Linux server in a virtualized environment.
Browse courses on Server Administration
Show steps
  • Choose a Linux distribution and install it on a virtual machine
  • Configure the server for your specific needs
  • Deploy and test your server in a realistic environment
Mentor junior Linux users
Teaching others helps solidify your own knowledge and provides opportunities to review concepts from a different perspective.
Browse courses on Peer Support
Show steps
  • Identify opportunities to help others with Linux-related questions in forums, online communities, or study groups
  • Answer questions, provide guidance, and share your knowledge and experience
  • Encourage others to ask questions and seek understanding, creating a positive learning environment
Develop a Network Management System
Apply your Linux and networking skills to create a tool that automates network management tasks.
Browse courses on Network Management
Show steps
  • Design and plan the architecture of your network management system
  • Develop the software using Python and the appropriate libraries
  • Test and refine the system to ensure its accuracy and efficiency

Career center

Learners who complete Learn Ubuntu Fast: Learn, Practice, and Advance your Career will develop knowledge and skills that may be useful to these careers:
IT Support Technician
The Ubuntu Linux operating system is one of the most popular Linux distributions in the world and is used by millions of people for both personal and professional use. As an IT Support Technician, you will be responsible for providing technical support to users of Ubuntu Linux. This course will help you build a strong foundation in Ubuntu Linux so that you can effectively troubleshoot and resolve issues that users may encounter.
System Administrator
As a System Administrator, you will be responsible for managing and maintaining computer systems, including servers, desktops, and networks. Ubuntu Linux is a popular operating system for servers, and this course will help you develop the skills you need to manage Ubuntu Linux systems effectively. You will learn how to install and configure Ubuntu Linux, manage users and groups, and secure your systems.
Network Administrator
As a Network Administrator, you will be responsible for managing and maintaining computer networks. Ubuntu Linux is a popular operating system for network servers, and this course will help you develop the skills you need to manage Ubuntu Linux networks effectively. You will learn how to install and configure Ubuntu Linux, manage network traffic, and secure your networks.
Security Analyst
As a Security Analyst, you will be responsible for protecting computer systems and networks from security threats. Ubuntu Linux is a popular operating system for security appliances, and this course will help you develop the skills you need to use Ubuntu Linux to protect your systems and networks. You will learn how to install and configure Ubuntu Linux, manage security settings, and monitor for security threats.
Cloud Engineer
As a Cloud Engineer, you will be responsible for designing, building, and managing cloud computing solutions. Ubuntu Linux is a popular operating system for cloud computing, and this course will help you develop the skills you need to use Ubuntu Linux to build and manage cloud computing solutions. You will learn how to install and configure Ubuntu Linux, manage cloud resources, and secure your cloud environments.
DevOps Engineer
As a DevOps Engineer, you will be responsible for bridging the gap between development and operations teams. Ubuntu Linux is a popular operating system for DevOps, and this course will help you develop the skills you need to use Ubuntu Linux to build and manage DevOps pipelines. You will learn how to install and configure Ubuntu Linux, manage development and operations tools, and automate your DevOps processes.
Software Developer
A Software Developer's job is to take the designs created by programmers and translate them into instructions that computers can follow. Ubuntu offers a free and open-source platform for developers to use. It also powers nearly 20% of the world's public clouds. This course will teach you the basics of Linux and give you the opportunity to practice using Ubuntu's command line for file management and networking.
Data Analyst
A Data Analyst helps businesses understand their data to make better decisions. This data can come from a variety of sources, including surveys, customer feedback, and sales records. Ubuntu is a popular operating system for data analysis, and this course will help you develop the skills you need to use Ubuntu Linux to collect, analyze, and visualize data.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. Databases are used to store and organize data, and they are essential for many businesses. Ubuntu Linux is a popular operating system for database servers, and this course will help you develop the skills you need to use Ubuntu Linux to manage and maintain databases.
Web Developer
A Web Developer is responsible for designing, developing, and maintaining websites. Ubuntu Linux is a popular operating system for web development, and this course will help you develop the skills you need to use Ubuntu Linux to build and maintain websites. You will learn how to install and configure Ubuntu Linux, manage web servers, and develop web applications.
IT Manager
An IT Manager is responsible for planning, implementing, and managing IT systems and services. Ubuntu Linux is a popular operating system for IT management, and this course will help you develop the skills you need to use Ubuntu Linux to manage IT systems and services. You will learn how to install and configure Ubuntu Linux, manage users and groups, and secure your systems.
Information Security Analyst
An Information Security Analyst is responsible for protecting computer systems and networks from security threats. Ubuntu Linux is a popular operating system for security appliances, and this course will help you develop the skills you need to use Ubuntu Linux to protect your systems and networks. You will learn how to install and configure Ubuntu Linux, manage security settings, and monitor for security threats.
Network Engineer
A Network Engineer is responsible for designing, building, and maintaining computer networks. Ubuntu Linux is a popular operating system for network servers, and this course will help you develop the skills you need to use Ubuntu Linux to build and maintain computer networks. You will learn how to install and configure Ubuntu Linux, manage network traffic, and secure your networks.
Systems Engineer
A Systems Engineer is responsible for designing, building, and maintaining computer systems. Ubuntu Linux is a popular operating system for servers, and this course will help you develop the skills you need to use Ubuntu Linux to build and maintain computer systems. You will learn how to install and configure Ubuntu Linux, manage users and groups, and secure your systems.
Technical Writer
A Technical Writer is responsible for writing technical documentation, such as user manuals, white papers, and training materials. Ubuntu Linux is a popular operating system, and this course will help you develop the skills you need to write technical documentation for Ubuntu Linux. You will learn how to use Ubuntu Linux, write technical documentation, and manage technical documentation projects.

Reading list

We've selected eight 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 Learn Ubuntu Fast: Learn, Practice, and Advance your Career.
Comprehensive guide to the internals and administration of most Linux distributions.
Comprehensive guide to the internals and administration of Red Hat Enterprise Linux. It good reference for those interested in administering RHEL at a professional level. While the course focus is Ubuntu, there is significant overlap in techniques and knowledge required to administer Linux distributions, making thvaluable reference for advanced learners.
Guide to writing Linux device drivers. It is intended for advanced users.

Share

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

Similar courses

Here are nine courses similar to Learn Ubuntu Fast: Learn, Practice, and Advance your Career.
Learn Linux in 5 Days and Level Up Your Career
Most relevant
Try It: Learn Linux Command Line
Most relevant
Linux for Beginners
Complete Linux Training Course to Get Your Dream IT Job...
Learn Linux Administration and Supercharge Your Career
Hands-on Introduction to Linux Commands and Shell...
Create Python Linux Script to Generate a Disk Usage Report
VirtualBox 1.9: Advanced Features and Practical Use
Getting Started with Bash and Z Shell
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