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.
39,660+ codders enrolled
225 lessons191 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 sectionStartExpandCollapseMaster the command line with essential tools and core skillsIntroduction
3 lessons217Navigation
6 lessons640Files
6 lessons641Directories
5 lessons534Organize Photos Project
Project4 lessons1Wildcards And Patterns
5 lessons533File Content
7 lessons753Redirection
6 lessons640Piping
5 lessons534Log Analyzer Project
Project5 lessons1Permissions
6 lessons541Environment
7 lessons748Shell Scripting Basics
8 lessons859Backup Script Project
Project6 lessons1Final Challenges
3 lessons3Section 2
Version ControlDedicated page
Start sectionStartExpandCollapseTrack 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
Project5 lessons137Branching
6 lessons640Merging
6 lessons640Undoing Changes
6 lessons641Remotes
4 lessons324Feature Branch Project
Project6 lessons142Final Challenges
3 lessons3Section 3
Introduction to DockerDedicated page
Start sectionStartExpandCollapseLearn 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
Project5 lessons17Final Challenges
3 lessons3Section 4
Introduction to KubernetesDedicated page
Start sectionStartExpandCollapseLearn 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
Project5 lessons16Final 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?
Is Linux hard to learn?
Do I need to install Linux to learn it?
What is the difference between Linux, the terminal, and 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.