Learn Linux and the Command Line
A free, interactive Linux course for beginners. You type real commands into a browser-based Linux terminal on every lesson - files, permissions, pipes, bash - with a free certificate when you finish.
50,481+ codders enrolled
225 lessons220 challenges1,187 quiz questions
- Beginner friendly
AI-assisted coding help
Hands-on interactive lessons
Audio narration on every lesson
Quizzes to test your knowledge
Free certificate of completion
Syllabus
Section 1
Fundamentals
Start sectionStartMaster the command line with essential tools and core skillsIntroduction
3 lessons217Navigation
6 lessons640Files
6 lessons641Directories
5 lessons534Organize Photos Project
4 lessons4Wildcards And Patterns
5 lessons533File Content
7 lessons753Redirection
6 lessons640Piping
5 lessons534Log Analyzer Project
5 lessons5Permissions
6 lessons541Environment
7 lessons748Shell Scripting Basics
8 lessons859Backup Script Project
6 lessons6Final Challenges
3 lessons3Section 2
Version ControlDedicated page
Start sectionStartTrack your work with Git. Initialize repos, stage and commit changes, branch and merge, resolve conflicts, and recover from mistakes.Introduction
3 lessons123Getting Started
5 lessons531Tracking Changes
6 lessons640Inspecting Changes
4 lessons425Ignoring Files
4 lessons427Recipe Site Project
5 lessons537Branching
6 lessons640Merging
6 lessons640Undoing Changes
6 lessons641Remotes
4 lessons324Feature Branch Project
6 lessons642Final Challenges
3 lessons3Section 3
Introduction to DockerDedicated page
Start sectionStartLearn Docker from the command line: pull and build images, run and manage containers, write Dockerfiles, copy files in and out, and work with volumes and networks.Introduction
2 lessons213Images
4 lessons423Running Containers
5 lessons532Managing Containers
5 lessons531Inspecting Containers
4 lessons423Building Images
4 lessons423Files In Images
3 lessons316Copying Files
2 lessons213Volumes & Networks
3 lessons314Greeting App Project
5 lessons57Final Challenges
3 lessons3Section 4
Introduction to KubernetesDedicated page
Start sectionStartLearn Kubernetes from the command line: run and inspect Pods, write manifests, manage Deployments, Services and configuration, work with namespaces and Jobs, and debug what goes wrong.Introduction
2 lessons212Pods
5 lessons525Manifests
3 lessons313Deployments
6 lessons630Services
4 lessons418Debugging
5 lessons524Configuration
4 lessons418Namespaces & Jobs
4 lessons418Output Formats
4 lessons418Web Shop Project
5 lessons56Final Challenges
3 lessons3
Terminal courses
Hands-on Terminal courses, free to start in your browser.
The OSI Model
PopularHow networks really talk, one layer at a time: the seven OSI layers, MACs and ARP, IP and routing, TCP, UDP and ports, encapsulation, and the full journey of a packet, with hands-on terminal walkthroughs.
Certificate on completion
- 32
- 32
IP Addressing and Subnetting
PopularMaster IP addresses from the bits up: binary, IPv4 anatomy, subnet masks, CIDR, subnetting drills, private ranges, network planning with VLSM, and a first look at IPv6. Practice everything in the terminal.
Certificate on completion
- 46
- 46
LAN Labs
Build, address and troubleshoot small networks in a terminal lab: hosts, switches and routers, cables, IPv4 addresses and masks, ARP, gateways, routing tables, and the classic faults that break real LANs.
Certificate on completion
- 35
- 35
Networking with the Terminal
Learn how machines actually talk to each other, from the command line. Addresses and DNS, ports and sockets, whether a host is reachable, and HTTP by hand with curl: GET, POST, headers, status codes and HTTPS. Built for IT, support and backend work.
Certificate on completion
- 47
- 47
- 141
Learn by Doing
Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
Build Your Streak
Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.
12 days streak
Return tomorrow to keep your streak!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
Code Anywhere
Take your coding journey on the go! No setup, no downloads: just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.
You're Not Alone
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Every way to learn
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
A variable is a named container that stores a value you can reference later in your program.
In Python, you create one by writing the name, an equals sign, then the value you want to store.
The value can change over time. Reassigning the name simply points it to a new value.
Earn a Certificate
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
Why learn Linux with Coddy
- Practice real Linux commands in your browser. No virtual machine, no dual-boot, no server to SSH into. Every lesson runs in a sandboxed Linux shell, so you can break things safely while you learn.
- Command-line skills you actually use: navigating the filesystem (
cd,ls,pwd), creating and moving files, text processing withgrep,sed,awk, pipes and redirection, permissions, environment variables, and basic bash scripting. - AI hints help you read cryptic shell errors and recover from common mistakes (wrong directory, broken redirects, permission denied) without spoiling the answer.
- Free Linux certificate when you finish. A credible signal for backend, DevOps, data, and infrastructure roles, where comfort in a Linux terminal is a baseline expectation.
Frequently asked questions about learning Linux
How do I learn Linux as a complete beginner?
Start with the command line, not with installing a distribution. Almost everything people mean by 'knowing Linux' is being comfortable in the terminal: moving around the filesystem, reading and editing files, managing permissions, chaining commands with pipes. This course teaches exactly that, one command at a time, in a Linux shell that runs in your browser, so you are typing real commands from the first lesson.
Is Linux hard to learn?
The Linux terminal looks intimidating at first, but the core is small - a couple of dozen commands cover most of what you'll do day-to-day. The course introduces them in small, hands-on steps in a real shell, so muscle memory builds up quickly.
Do I need to install Linux to learn it?
No. The course runs in a browser-based Linux shell, so you can learn Linux from Windows, macOS, a Chromebook, anything with a browser. The same commands work almost identically in the macOS Terminal, in WSL on Windows, and on any Linux server you SSH into later.
What is the difference between Linux, the terminal, and bash?
Linux is the operating system. The terminal is the window you type into. Bash is the shell - the program inside the terminal that reads your commands and runs them. When people say 'learn the Linux terminal' or 'learn the command line', they mean the same skill this course teaches: working with a Linux system through bash.
Why should I learn the Linux command line?
git, debugging deployments. Even on a developer laptop, the command line is usually the fastest way to do batch operations and chain tools together with pipes.How long does it take to learn Linux?
You can learn the core Linux commands - file navigation, file operations, basic text processing - in one to two weeks of daily practice. Becoming comfortable with pipes, redirection, permissions, and basic bash scripting usually takes another two to four weeks. From there, the rest is built up over time as you encounter new tools.
Do I get a Linux certificate?
Yes. Finishing the Linux and command-line course gives you a free certificate of completion - a verifiable signal you can add to your resume or share on LinkedIn alongside any DevOps, scripting, or backend projects you've worked on.