Programming · Beginner
The Command Line
Stop clicking through folders. The terminal is a language, and it is smaller than you think.
- Lessons
- 27 lessons
- Total runtime
- 27 hours of video
- Modules
- 8 modules
- Optional lessons
- 20 optional
Free. No account.

About this course
The terminal looks like a relic and behaves like one of the best-designed tools ever built. Its central idea is that small programs which each do one thing can be piped into each other, so a problem nobody anticipated gets solved by combining three things somebody wrote in 1975. Once that clicks, tasks that would take an afternoon of clicking take one line.
The barrier is not difficulty, it is discoverability. A graphical program shows you what it can do; a shell prompt shows you nothing at all and waits. So this course front-loads vocabulary. Traversy's crash course gets you moving around within the hour, and the freeCodeCamp course after it is a working tour of the fifty commands that account for nearly everything anyone types.
After that it goes in two directions that are worth taking together. Vim, because sooner or later you will edit a file on a machine that has no graphical anything, and the moment you cannot exit the editor is a bad moment to learn. Then bash scripting, which is where the terminal stops being somewhere you type commands and becomes somewhere you write them down and stop typing them.
About nine hours on the required path and around twenty-seven in total, and it is a reference course as much as a linear one — the fifty-commands lesson especially is worth returning to. Everything here works identically on Linux and macOS, and on Windows through WSL or Git Bash. Type along; nobody has ever learned the shell by watching.
What you'll be able to do
- Navigate and manipulate a filesystem faster than you could with a mouse
- Combine commands with pipes and redirection to answer questions about your own files
- Understand the Linux directory layout and where things actually live
- Edit a file in Vim, including leaving it
- Write a bash script with variables, conditionals and loops, and run it on a schedule
- Connect to a remote machine over SSH and work on it as comfortably as your own
Curriculum
27 lessons · 27 hours
What It Is
2 lessons · 6m
- 01CompletedLinux in 100 SecondsFireshipVideoKernel, distribution, shell — three words that get used interchangeably and mean quite different things. Two minutes to stop conflating them.2m
- 02CompletedLinux Directories Explained in 100 SecondsFireshipVideoWhat /etc, /var, /usr and /opt are for. The layout looks arbitrary until somebody tells you the rule, and almost nobody does.4m
Moving Around
6 lessons · 9h 59m
- 03CompletedCommand Line Crash Course For BeginnersTraversy MediaVideoEnough to stop being stranded: moving between directories, creating and deleting things, and reading what a command is telling you. Half an hour before the long reference lesson.35m
- 04CompletedThe 50 Most Popular Linux & Terminal CommandsfreeCodeCamp.orgVideoThe spine of the course, and the one to keep returning to. Five hours covering the commands that account for almost everything anyone types — including grep, find and the pipe, which is where the terminal starts being genuinely powerful rather than merely fast.5h 15m
- 05Completed20% of Linux Commands You'll Use 80% of the TimeOptionalTechWorld with NanaVideoThe short list that covers nearly everything you will actually type. Take it before the fifty-commands course to know which parts of that one to pay attention to.25m
- 06Completed60 Linux Commands You Need to KnowOptionalNetworkChuckVideoTen minutes, very fast, as a checklist rather than a lesson. Anything here you do not recognise is worth looking up.11m
- 07CompletedLinux Command Line for BeginnersOptionalKeep On CodingVideoAn hour aimed specifically at developers rather than sysadmins, so the examples are about projects and git rather than about servers.59m
- 08CompletedLearn Linux — The Full CourseOptionalBoot devVideoTwo and a half hours covering the system rather than just the commands — processes, packages, users and the filesystem. The best single item here if you want to understand the machine.2h 34m
Permissions and the Filesystem
3 lessons · 1h 3m
- 09CompletedUnderstanding File and Directory PermissionsOptionalLearn Linux TVVideoPermission denied is the first wall everyone hits, and chmod 777 is the wrong way through it. This explains the octal notation properly so you can grant exactly what is needed.36m
- 10CompletedLinux File Permissions in 5 MinutesOptionalTravis MediaVideoThe same thing compressed to five minutes, for revision or for when you only need to fix one file right now.6m
- 11CompletedThe Linux File System ExplainedOptionalNetworkChuckVideoWhy there is a /usr and a /var and an /etc, and what belongs in each. Once the layout has a reason, finding things stops being guesswork.21m
Processing Text
5 lessons · 1h 53m
- 12CompletedThe grep CommandOptionalLearn Linux TVVideoSearching inside files rather than for them. grep is the single highest-value command on this page and fifteen minutes is enough to use it well.15m
- 13CompletedLearn Regular Expressions In 20 MinutesOptionalWeb Dev SimplifiedVideogrep, sed and awk all take patterns, and so does nearly every editor and language you will ever use. This is the one lesson here that pays off outside the terminal.21m
- 14CompletedThe sed CommandOptionalLearn Linux TVVideoFind and replace across a thousand files without opening any of them. The obvious next step once grep can find them.15m
- 15CompletedEveryone Needs to Learn a Little Bit of AWKOptionalGary ExplainsVideoColumn-oriented text processing, which turns log files and CSVs into something you can answer questions about without writing a script.16m
- 16CompletedLearn Regular Expressions — Crash CourseOptionalfreeCodeCamp.orgVideoThe longer treatment, including groups, lookahead and the parts that are genuinely hard. Reference material rather than a first pass.46m
Editing Files Where They Live
1 lesson · 1h 5m
Writing It Down Instead
4 lessons · 10h 10m
- 18CompletedBash Scripting Tutorial for BeginnersfreeCodeCamp.orgVideoThe point of the whole course. A command you typed once is convenience; a command you saved is a tool, and a saved command that runs on a schedule is infrastructure.1h 10m
- 19CompletedShell Scripting Crash CourseOptionalTraversy MediaVideoA shorter first script than the lesson above, if an hour feels like too much for something you are not yet sure you need.32m
- 20CompletedBash Scripting Tutorial for BeginnersOptionalTechWorld with NanaVideoA second pass with more attention to arguments, conditionals and exit codes — the parts that decide whether a script is reusable or a one-off.1h 6m
- 21CompletedThe Complete Bash Scripting CourseOptionalYou Suck at ProgrammingVideoSeven hours, and genuinely complete — arrays, traps, process substitution, the lot. Reference depth for when a script has outgrown being a list of commands.7h 22m
Other People's Machines
3 lessons · 1h 15m
- 22CompletedSSH Crash Course | With Some DevOpsTraversy MediaVideoKeys, config and connecting to a server as comfortably as to your own machine. Also the reason the terminal skills above matter — a remote server has no other interface to offer you.50m
- 23CompletedSSH Key Authentication — How to Create SSH Key PairsOptionalAkamai DevelopersVideoKeys rather than passwords, which is how you should be connecting to anything and how GitHub expects you to authenticate. Twenty minutes that removes a password prompt forever.19m
- 24CompletedLearn SSH In 6 MinutesOptionalCode With BubbVideoThe shortest possible orientation, if you want the concept before the longer lesson.6m
Living in the Terminal
3 lessons · 1h 8m
- 25CompletedLearn tmux in 20 MinutesOptionalbugswriterVideoSeveral terminals in one window, and sessions that survive a dropped SSH connection. The second of those is the reason to bother.20m
- 26CompletedTmux — Complete GuideOptionalAdib HannaVideoThe fuller version including configuration, which is where tmux stops feeling hostile and starts feeling like yours.28m
- 27CompletedMy Daily Driver Terminal SetupOptionalLearn Linux TVVideoHow the pieces of this course fit together for someone who works in the terminal all day. Useful as a picture of where this is going, not as instructions to copy.20m
Credits
Every lesson in this course was made by one of these channels. Tubeversity sequenced them; it did not make them. If a course is useful to you, the people below are the ones who earned it.