Free course

Shell Commands Course

Learn the shell commands used to navigate files, manage permissions, connect programs with pipes, transform text, and control running processes.

7 modules · 71 lessons · No signup

~~~

Your progress

of lessons completed.

Course completed.

What you'll learn

Use the command line confidently to inspect a system, transform text, automate repeated work, and diagnose common problems.

Take this course offline

Subscribe to my newsletter to get every free book and course in PDF and EPUB format.

Get the downloads

Course contents

  1. Navigation basics

    The shell, paths, directories, command help, and history.

    1. The Command Line for Complete Beginners
    2. Linux commands: pwd
    3. Linux commands: ls
    4. Linux commands: cd
    5. Linux commands: man
    6. Linux commands: which
    7. Linux commands: history
    8. Check your understanding: terminal navigation
  2. Working with files

    Create, inspect, copy, move, link, and find files and folders.

    1. The UNIX Filesystem Commands
    2. Linux commands: touch
    3. Linux commands: mkdir
    4. Linux commands: cp
    5. Linux commands: mv
    6. Linux commands: cat
    7. Linux commands: less
    8. Linux commands: find
    9. Linux commands: ln
    10. Check your understanding: files and folders
  3. Permissions and users

    Users, groups, ownership, modes, sudo, and safe access changes.

    1. Linux commands: whoami
    2. Linux commands: who
    3. Linux commands: chmod
    4. Linux commands: chown
    5. Linux commands: sudo
    6. Linux commands: umask
    7. Linux commands: passwd
    8. Check your understanding: permissions and users
  4. Pipes and text

    Standard streams, redirection, filters, environment, and scripts.

    1. Linux commands: echo
    2. Linux commands: grep
    3. Linux commands: sort
    4. Linux commands: uniq
    5. Linux commands: wc
    6. Linux commands: xargs
    7. How to set environment variables in bash and zsh
    8. Linux commands: export
    9. Introduction to Bash Shell Scripting
    10. Check your understanding: pipes and text
  5. Processes and jobs

    Inspect, pause, resume, schedule, and stop running programs.

    1. Linux commands: ps
    2. Linux commands: top
    3. Linux commands: jobs
    4. Linux commands: bg
    5. Linux commands: fg
    6. Linux commands: kill
    7. Linux commands: nohup
    8. Linux commands: crontab
    9. Check your understanding: processes and jobs
  6. Archives and disk tools

    Compare files, inspect disk use, and create or extract common archives.

    1. Linux commands: rmdir
    2. Linux commands: open
    3. Linux commands: tail
    4. Linux commands: diff
    5. Linux commands: gzip
    6. Linux commands: gunzip
    7. Linux commands: tar
    8. Linux commands: du
    9. Linux commands: df
    10. Linux commands: basename
    11. Linux commands: dirname
    12. Check your understanding: archives and disk tools
  7. Shell, system, and network tools

    Customize the shell, edit text, identify the system, and test network paths.

    1. Linux commands: alias
    2. Linux commands: type
    3. Linux commands: clear
    4. Linux commands: env
    5. Linux commands: printenv
    6. A short guide to nano
    7. A short guide to vim
    8. A short guide to emacs
    9. Linux commands: su
    10. Linux commands: killall
    11. Linux commands: uname
    12. Linux commands: ping
    13. Linux commands: traceroute
    14. Check your understanding: shell, system, and network tools