Skip to main content
Author: Jeremy Morgan In this lesson you’ll learn essential principles for managing Linux systems effectively. This course focuses on practical Linux system administration: using the command line, understanding file permissions, and applying hands-on troubleshooting. Each lesson includes interactive, browser-based exercises and just-in-time infrastructure so you can practice real operational tasks in a safe environment.

Why Linux?

Linux is a popular choice for servers, development platforms, and embedded systems because of its stability, security, and flexibility. Key attractions include:
  • Powerful command-line utilities and scripting capabilities
  • Mature package management and service control systems
  • A large ecosystem of open-source tools for automation, monitoring, and security

Learning approach

This course emphasizes active learning:
  • Interactive labs simulate real-world scenarios.
  • You’ll receive ephemeral infrastructure for safe experimentation.
  • Exercises are designed to reinforce concepts immediately after they are introduced.

Practical example: finding executable files and saving results

Here’s a common lab task: locate executable files under a path and save the results to a file.
What this does:
  • find /opt/findme/ searches the directory tree rooted at /opt/findme/.
  • -type f restricts results to regular files.
  • -perm u=x with GNU find can behave as an exact-match specification (it matches files whose permission bits equal that pattern). If you want to match files that have the owner execute bit set regardless of other permission bits, use -perm -u=x instead.
  • | sudo tee /opt/foundthem.txt writes the output to /opt/foundthem.txt while also echoing it to the terminal. sudo before tee ensures the file is written with appropriate privileges when /opt is not writable by your user.
Examples — recommended variation to match files where the owner execute bit is set:

Quick reference table: common find flags used in labs

Why use tee and sudo together?

  • tee receives stdin and writes to both stdout and the specified file.
  • Placing sudo in front of the find command elevates the find process; placing sudo in front of tee elevates the file write. If you omit sudo before tee, the pipeline may fail to write to protected locations even if find runs as root.

Best practices and tips

  • Prefer -perm -u=x when you want to match files that have the owner execute bit set — it avoids surprises from exact-match semantics.
  • Use sudo only when necessary and understand which part of a pipeline requires elevated privileges.
  • Test commands in a small directory first before running them against large or important filesystems.
When running commands that read or write system paths, you may need sudo to access protected directories or to write to locations outside your home directory. In interactive lab environments, be mindful that files and changes may be ephemeral and reset between sessions.
You can practice these commands and complete the hands-on exercises included with this lesson to build confidence in real operational tasks.

Watch Video