Linux
The operating system powering virtually all servers, cloud infrastructure, and containerized workloads.
Linux command-line proficiency is a foundational requirement for backend engineers, DevOps engineers, and anyone who manages or interacts with servers. From navigating the file system and managing processes to writing shell scripts and configuring services, Linux skills underlie everything in cloud infrastructure and server-side development.
Typical time to job-readiness: ~2 months.
Learning Linux
Beginner
Navigate the filesystem, manage files and permissions, and use core commands: grep, find, ps, top, ssh, and basic shell scripting.
Intermediate
Process and service management (systemd), user and permission administration, networking tools (netstat, ss, curl), and writing effective bash scripts.
Advanced
Performance analysis with strace, perf, and tcpdump; cgroups and namespaces (the Linux primitives underlying containers); and troubleshooting production incidents purely from the command line.
Key concepts
- Everything is a file — devices, sockets, and processes are all accessed via the file system
- Permissions: user/group/other with read/write/execute; chmod and chown to change
- Process management: ps to list, kill to signal, top/htop for live resource usage
- Package managers: apt (Debian/Ubuntu), yum/dnf (RHEL/CentOS) for installing software
- Shell scripting: bash scripts automate repetitive tasks with variables, loops, and conditionals
- SSH for remote access — key-based auth is more secure than passwords
Common interview topics
- How do Linux file permissions work — explain rwx for user, group, and other
- What is a process and how do you kill a runaway process
- How would you find which process is consuming the most CPU or memory
- Explain the difference between a hard link and a symbolic link
- How would you diagnose a server that is suddenly slow