COURSE
Master the command line from first principles: learn what a shell is, how commands execute, and how to work efficiently and safely.
1 free lesson to get started, then 53 premium lessons with exercises, scenarios, and solutions.
54
LESSONS0
COMPLETED0%
PROGRESSLESSONS
LESSON 01
What Is a Shell?
Free
LESSON 02
CLI vs GUI — Two ways to interact with a computer
Members only
LESSON 03
Move around — cd, pwd, and ls
Members only
LESSON 04
Create, copy, move, delete
Members only
LESSON 05
Linux Filesystem Tree — Everything Is a File
Members only
LESSON 06
What Is Bash?
Members only
LESSON 07
Popular Shells — Bash, Zsh, Fish, and sh
Members only
LESSON 08
Completion and Keyboard Shortcuts — Type Less, Do More
Members only
LESSON 09
Finding Files — find and locate
Members only
LESSON 10
Configure Bash — Your working environment
Members only
LESSON 01
What is scripting?
Members only
LESSON 02
Linux Permissions — Read, Modify, and Understand Access Rights
Members only
LESSON 03
stdin, stdout and stderr — The Three Data Streams
Members only
LESSON 04
Redirect output — > and >>
Members only
LESSON 05
Redirect input — <
Members only
LESSON 06
Pipes — Connecting Commands Together
Members only
LESSON 07
Redirect stderr — Handling errors in your pipelines
Members only
LESSON 08
Advanced pipelines and recap
Members only
LESSON 01
grep — Filter and Search in Text
Members only
LESSON 02
sed — Transform text on the fly
Members only
LESSON 03
awk — Processing Structured Data
Members only
LESSON 04
sort, uniq, and wc — Sort, deduplicate, and count
Members only
LESSON 05
cut, paste and join — Working with columns
Members only
LESSON 06
tr — Transforming Characters
Members only
LESSON 01
Choosing your editor — nano, vim, and the others
Members only
LESSON 02
nano — The Accessible Editor
Members only
LESSON 03
vim — Understanding Modes
Members only
LESSON 04
vim — Movements, Operators, and Search
Members only
LESSON 05
vim — Registers, Macros, and Windows
Members only
LESSON 06
Configure your editor — .vimrc and .nanorc
Members only
LESSON 01
Variables and Types in Bash
Members only
LESSON 02
Operators and Arithmetic in Bash
Members only
LESSON 03
Conditions — if, elif, else and case
Members only
LESSON 04
Loops — for, while, and until
Members only
LESSON 05
Functions — Organize and reuse code
Members only
LESSON 06
Debugging and script robustness
Members only
LESSON 01
Understanding Linux processes
Members only
LESSON 02
ps and top — Observing processes
Members only
LESSON 03
Job control — fg, bg, nohup, and screen
Members only
LESSON 04
cron and at — Scheduling tasks
Members only
LESSON 05
kill, nice and renice — Control Priorities
Members only
LESSON 06
lsof, fuser, and Summary — Inspect Resources
Members only
LESSON 01
Ping, traceroute and network diagnostics
Members only
LESSON 02
curl and wget — Interacting with the web
Members only
LESSON 03
SSH — Secure remote connections
Members only
LESSON 04
rsync — Smart file synchronization
Members only
LESSON 05
ss, netstat, and nmap — Inspect the network
Members only
LESSON 06
nc, tcpdump, and Network Summary
Members only
LESSON 01
apt and yum — Package Management
Members only
LESSON 02
tar, gzip and zip — Managing Archives
Members only
LESSON 03
df, du, mount and lsblk — Disks and storage
Members only
LESSON 04
systemd and journalctl — Managing Services
Members only
LESSON 05
Advanced Users, Groups, and Permissions
Members only
LESSON 06
Final Synthesis — Your Reference Workflow
Members only