Linuxupskillchallenge
Learn the skills required to sysadmin a remote Linux server from the commandline.
Install / Use
/learn @livialima/LinuxupskillchallengeREADME
Linux Upskill Challenge is free and open source — and it always will be. If it helped you and you’d like to support its maintenance, you can do that here: Donate or Sponsor.
All core learning materials are accessible year-round. No subscriptions, no registration required - so costs you nothing but your time!
If you spot any typos or "dead links" simply raise an issue.
- Website of the course
- Full lesson source
- Complementary video playlists
- Monthly lessons on Lemmy
- Monthly lessons on Reddit
- Chat with Discord
READ THIS FIRST!
Table of Contents
- Day 0 - Creating Your Own Server: how to setup your lab in AWS, Azure, Google Cloud, Digital Ocean and on a local server
- Day 1 - Get to know your server: Starting with
ssh-ing in and some simple commands like:ls,uptime,free,df -h,uname -a. Extensions on doing passwordless login with public keys and and ansshconfig file. - Day 2 - Basic navigation: Basic navigation, the "man" pages, file hierarchy
- Day 3 - Power trip!: Working with
sudo,uptime,timezones, changing your hostname - Day 4 - Installing software, exploring the file structure: Using 'apt' to find and install software. Use of
mcto explore the filesystem. Looking at the contents of:/etc/passwd,/etc/ssh/sshd_configand/var/log/auth.log - Day 5 - More or less...: Using
more,lessand navigating in these. Dotfiles, history, tab completion, and using thenanotxt editor - Day 6 - Editing with "vim": Learning
vim, the minimal knowledge, but also viavimtutor - Day 7 - The server and its services: Installing Apache2, stopping and starting, altering the content, reading logs
- Day 8 - The infamous "grep" and other text processors: Hands-on with text tools like
grep,cat,more,less,cut,awkandtail- and piping of course. (and a wave toawkandsed) - Day 9 - Diving into networking: Looking at open ports with
ss, and a nod tonetstat, installnmapand test. Installufw, set up, enable and test etc. Discuss security resonsibilities as the sysadmin. - Day 10 - Scheduling tasks: Covering
cron,at, and systemd timers - Day 11 - Finding things...: Finding things with:
locate,find,grep,which - Day 12 - Transferring files: SFTP, the technology, clients, and copying up and down
- Day 13 - Users and Groups: Using
adduser,visudoto setup up a restricted "helper" to manage our host - Day 14 - Who has permission?: Permissions, users, groups, (ACLS and SELinux in the Extension)
- Day 15 - Deeper into repositories...: Repositories in more detail, how to enable "Multiverse", the role of PPAs in Ubuntu, enabling and installing from them
- Day 16 - Archiving and compressing: Understanding and using
tarandgzip - Day 17 - Build from the source: Installing from source. Discussion, using
wgetto get a tarball,tarto extract and then configure, make and install. Discussion of security, maintenance issues. - Day 18 - Logs, monitoring and troubleshooting: Log management and rotation,
logrotate - Day 19 - Inodes, symlinks and other shortcuts: Inodes, hard links symlinks and
stat - Day 20 - Scripting: Understanding how scripting work in Linux, the shebang, permissions and $PATH. A couple of simple sample scripts based on the filtering of logs we've been doing. Resources to explore further.
- Day 21 - What's next?: Closing the course with some suggestions.
Thank you for being part of this community and happy Linuxing!
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
