Command Line
Master the GNU/Linux terminal and become proficient with the command line. Learn essential commands, shell scripting, and workflow automation.
Learn the command line — navigating files, running commands, pipes and shell basics — with clear, beginner-friendly lessons.
Part of the free Cli course at LearnCodingFast — hands-on lessons with examples you run in your browser, plus practice exercises and a quick quiz.
Never used the terminal before? Start here.
Start with Lesson 1 — Introduction to the Command Line. The terminal unlocks your full potential as a developer.
Lessons in this course
- Introduction to the Command Line — What the terminal is, why developers use it, and navigating your first directory
- File System Navigation — pwd, ls, cd — move around the file system with confidence
- File Management Commands — Create, copy, move, rename, and delete files and folders from the terminal
- Text Processing with grep, sed, awk — Search and transform text in files using three powerful Unix tools
- Pipes and Redirection — Chain commands together with | and redirect output with > and >>
- Shell Scripting Basics — Write your first bash script — variables, loops, and conditionals in the shell
- Process Management — View running processes, kill tasks, and manage background jobs with & and fg/bg
- Permissions and Users — Understand file permissions, chmod, chown, and user/group management
- Environment Variables — export, PATH, $VAR and persisting variables in .bashrc and .zshrc
- Globbing and Wildcards — Match files with *, ?, [...], brace expansion and the globstar **
- Command Substitution and Expansion — Capture output with $(...), plus arithmetic and parameter expansion
- Redirection and File Descriptors — stdin/stdout/stderr, >, >>, 2>&1, /dev/null and here-documents
- Finding Files with find and xargs — Search by name, type, size and time, then act in bulk with xargs
- HTTP from the Terminal: curl and wget — Make requests, send data and headers, follow redirects and download files
- Processing JSON with jq — Filter, map and reshape JSON on the command line with jq
- Package Managers — Install and update software with apt, dnf, pacman and Homebrew
- SSH and Remote Access — Connect to servers, generate key pairs with ssh-keygen, and copy files with scp
- Scheduling Tasks with cron — Automate jobs on a schedule with crontab and the five-field syntax
- Networking Commands — Diagnose connectivity with ping, dig, ss, netstat and traceroute
- Advanced Bash Scripting — Functions, arrays, traps, set -euo pipefail and debugging with set -x