For getting comfortable at the terminal
6 chapters · 25 lessonsAbout 3.5 h
A free advanced course covering shells, processes, permissions, and SSH. Practice real system administration commands in your browser.
This course continues from Terminal Basics
Go beyond just using the terminal and truly understand how it works. This course covers what Terminal Introduction and Terminal Basics didn't: how shells work, what processes are, and how to customize your environment.
Streamline your workflow with aliases and environment variables, reduce typing with globs and brace expansion, and learn server administration fundamentals including permissions, user management, and SSH. Six chapters and 25 lessons of in-depth content.
After this course, you won't just "use" the terminal. You'll understand it. A solid foundation for careers in infrastructure, DevOps, or backend development.
Understand shells and processes, then build your own efficient environment with config files, aliases, and environment variables.
Master globs, brace expansion, and escaping to accomplish more with fewer keystrokes.
Learn permissions, user management, process control, cron, and SSH: practical Linux admin skills.

Every command from the three terminal courses on three A4 pages. The PDF is free and prints as is.
Go from "it kinda works" to truly understanding how things work under the hood.
Aliases and environment variables will make your daily work noticeably smoother.
Permissions, process management, SSH: practical skills that directly apply to real work.
echo $SHELLsource ~/.zshrcalias rm="rm -i"alias\rm notes.txtecho 'alias rm="rm -i"' >> ~/.zshrcPS1=">> "export EDITOR=vimprintenv EDITORecho $PATH*?[abc]ls report_?.txtls report_[abc].txt{1..5}touch log_{1..5}.txtcat "project/my notes.txt"!!ls -lchmod 755 deploy.shchmod 644 index.htmlchmod 600 id_rsasudo cat /etc/hostnameidsudo useradd alicesudo usermod -aG developers alicegroups alicesudo userdel alicesudo apt updateapt search nginxsudo apt install nginxsudo apt remove treesudo apt upgradeapt list --installeduname -adf -hdu -sh /var/logfree -hps auxps aux | grep python3kill 3456lsof -i :80systemctl status nginxsudo systemctl start nginxsudo systemctl enable nginxjournalctl -u nginxcrontab -lcrontab backup-cron.txtcrontab -rhostnameip addrip routeping -c 3 webterm.appcurl https://example.comcurl -I https://example.comcurl -O https://example.com/data.jsoncurl -X POST -H 'Content-Type: application/json' -d '{"name":"carol"}' https://api.example.com/usersssh-keygen -t ed25519cat ~/.ssh/id_ed25519.pubssh-copy-id user@server.example.comssh user@server.example.comexitJoin thousands of developers who've mastered the terminal. Your first lesson awaits.
Get Started →