Scoring Rubric - Linux & DevOps CLI¶
Score 0-1¶
- Haven't used a Linux command line
- Don't know basic file navigation (cd, ls, cat)
Score 2-3¶
- Can navigate the filesystem, read/create files
- Know basic commands: ls, cd, cat, grep, find, ps, top
- Can install packages with apt/yum
- Need to look up syntax frequently
- Don't understand file permissions, processes, or services
Score 4-5¶
- Understand file permissions (rwx, chmod, chown)
- Can manage services (systemctl start/stop/status/enable)
- Can write basic bash scripts (variables, loops, conditionals)
- Can use pipes and redirection effectively
- Know how to read logs (journalctl, /var/log/)
- Understand processes, signals, and job control
- "You are here if you can": write a bash script that checks disk usage and sends an alert, manage systemd services, and explain file permission octals
Score 6-7¶
- Can troubleshoot boot failures, service failures, and performance issues
- Understand package management, kernel modules, and system tuning
- Can use strace, lsof, and perf for debugging
- Know how to manage storage (LVM, mounts, fstab)
- Can configure networking (ip, nmcli, firewall)
- Can write non-trivial shell scripts with error handling
- Know modern CLI tools (rg, fd, fzf, jq, bat)
- "You are here if you can": troubleshoot a server that won't boot, use strace to debug a failing process, configure LVM storage, and build jq pipelines for JSON processing
Score 8¶
- Can do performance analysis (CPU, memory, I/O, network)
- Understand cgroups, namespaces, and how containers use them
- Can build and customize kernel modules or initramfs
- Can set up complex multi-service environments from scratch
- Expert at log analysis and pattern recognition
- "You are here if you can": diagnose a performance issue using /proc, understand container isolation at the kernel level, and automate complex operational tasks
Score 9¶
- Deep kernel understanding (scheduling, memory management, I/O subsystem)
- Can write and debug eBPF programs
- Can recover from catastrophic system failures
- Contribute to or maintain system-level tooling