Linux command line: free course
The terminal skills every developer, server admin and network engineer needs: files, permissions, processes, packages, SSH and scripts.
Start lesson 1 Open the interactive course Printable course notes
Lessons
- 1 Why Linux and the terminal: what Linux is, who uses it, distributions and how to start practising
- 2 Navigating and managing files: the Linux file system, paths, ls, cd, mkdir, cp, mv, rm, find and wildcards
- 3 Viewing, searching and editing text files (cat, less, grep, nano)
- 4 Pipes and redirection: combining commands
- 5 File permissions: reading rwx, chmod (symbolic and numeric), chown, umask and special permissions
- 6 Users, groups and sudo
- 7 Processes and installing software: ps, top, kill, jobs, apt, snap and keeping a system updated
- 8 Services, scheduled jobs (cron) and logs
- 9 Archives, disks and network tools: tar, zip, df, du, mount, curl, wget, ip and ss
- 10 SSH and managing a server: connecting, keys, copying files, config, hardening and firewalls
- 11 Bash scripting: variables, input, conditions, loops, functions, error handling and real automation scripts
- 12 Project: set up a Linux web server from scratch (Nginx, PHP, MySQL, HTTPS, backups)