O'Reilly logo
live online training icon Live Online training

Linux Command Line First Steps

Get to grips with no graphics

Topic: System Administration
Ian Miell

Nearly all software engineers working on a Mac or Linux machine use the Linux command line on a daily basis. But facility with the command line doesn’t necessarily come easy, and it’s not always clear how the commands relate to one another in context.

Join expert Ian Miell to get comfortable with core commands, such as ls, mkdir, and touch. You’ll also explore basic text processing, system, networking, and file manipulation commands—and discover the context for what you’re using. Dive deeper into the command line and learn how to put it to work.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • What the core Linux commands are
  • How to use system commands to monitor and troubleshoot your machine
  • How to use text processing commands to quickly find and analyze your data
  • How to use basic networking commands to communicate with other machines
  • How to use file manipulation commands to carry out common tasks with files

And you’ll be able to:

  • Search for files and content effectively and quickly
  • Debug your network at the command line
  • Profile performance on your host
  • Choose between multiple ways to solve common tasks and determine the right tool for the job

This training course is for you because...

  • You’re a junior software engineer.
  • You work with the Linux command line.
  • You want to become a senior engineer.


  • A computer with access to a Linux or macOS/Unix command-line terminal
  • Familiarity with the bash shell

Recommended preparation:

  • Answer the following questions in note form: What confuses you about the command line? What would you like to achieve with the command line?

Recommended follow-up:

About your instructor

  • Ian Miell has over twenty years' experience in IT, writing, running, architecting, and maintaining software for some of the world's busiest systems.

    He has written the book 'Docker in Practice' (published by Manning), 'Learn Bash the Hard Way' (published on Leanpub), as well as various training courses and videos.


The timeframes are only estimates and may vary according to how the class is progressing

The core commands (50 minutes)

  • Group discussion: What do you want to do with the command line?
  • Presentation: The core commands
  • Hands-on exercises: Create several folders, and create files with text from the course materials page in them; view the page output using less and cat, and use ls to output the file listings in different ways
  • Q&A

Break (10 minutes)

Text and file commands (55 minutes)

  • Group discussion: What jobs might you want to do with text and files, and what problems might you have?
  • Presentation: Text manipulation commands; file manipulation
  • Hands-on exercises: Find specific lines from files in folder structure; run various analyses of the files’ content; manipulate files content in streams; diff files in different ways; find specific files in your system; use rsync to copy folder structure, and determine the amount of disk your files take up
  • Q&A

Break (5 minutes)

Networking and system commands (50 minutes)

  • Group discussion: What command line tools might you need for networking and system tasks?
  • Presentation: Networking commands; system commands
  • Hands-on exercises: Download the contents of a web page, analyze the content, and grep for specific text; determine which processes are using the most memory and CPU on your machine

Wrap-up and Q&A (10 minutes)