DEV Community

Ibrahim S
Ibrahim S

Posted on

Mastering Linux Administration: From Basics to Advanced

Linux is a powerful and versatile operating system widely used in servers, desktops, and embedded systems worldwide. Mastering Linux is essential for system administrators, DevOps engineers, and power users who want to manage, troubleshoot, and automate systems efficiently.

The topics below are organized to help you build a solid foundation and explore advanced techniques for effective Linux system management.

How do Services Run?

  • systemd (units, targets, service management)
  • service/init.d scripts (legacy compatibility)
  • journalctl (system and service logs)
  • runlevels vs. targets
  • enabling/disabling services (systemctl enable/disable)

How Permissions Work?

  • chmod (change file modes)
  • chown (change ownership)
  • umask (default creation permissions)
  • sticky bit, setuid, setgid (special permissions)
  • acl (Access Control Lists)

How Storage Works?

  • mount & umount (manual and automated mounting)
  • /etc/fstab (persistent mount configuration)
  • df & du (disk usage and free space)
  • LVM (Logical Volume Manager basics)
  • RAID (software RAID configuration)
  • Partitioning (fdisk, parted)
  • Filesystems (ext4, xfs, btrfs, ZFS basics)
  • Swap management

How are Users Managed?

  • useradd, usermod, userdel (user management)
  • passwd (password management)
  • groups, gpasswd (group management)
  • /etc/passwd & /etc/shadow (user data files)
  • sudo, visudo, /etc/sudoers

How to Debug Systems?

  • Logs (system logs, application logs)
  • journalctl (modern logs)
  • ps, top, htop (process info)
  • netstat, ss (network info)
  • lsof (open files)
  • dmesg (kernel messages)
  • strace/ltrace (trace syscalls/library calls)
  • systemctl status
  • checking system boot and shutdown logs

How Linux Operates?

  • Process model (fork, exec, PID, signals, kill)
  • File system hierarchy (/etc, /var, /tmp, /home, /proc, /sys)
  • systemd/logind
  • signals (trap, kill, SIGTERM, SIGKILL)

How to Check Performance?

  • top, htop (interactive monitoring)
  • iostat, vmstat (I/O, virtual memory stats)
  • strace, perf (tracing, performance profiling)
  • sar (system activity reports)
  • free (memory usage)
  • uptime (system load)

How does Networking work?

  • ifconfig, ip (interface management)
  • NetworkManager
  • Ports (ss, netstat)
  • DNS diagnostics (dig, nslookup, /etc/resolv.conf)
  • Routing (ip route, route)
  • Firewalls (iptables, firewalld, ufw)
  • /etc/hosts, /etc/network/interfaces (legacy config)
  • Wi-Fi & VPN basics

How to Use the Command Line?

  • bash, zsh (interpreters)
  • grep, awk, sed (text processing)
  • cut, sort, uniq, tr (other text utilities)
  • pipes, redirects (> >> |)
  • man, info, --help (documentation)

How to Write Automation Scripts?

  • Bash scripting (variables, syntax)
  • cron jobs & at (scheduling)
  • conditionals (if, case)
  • loops (for, while, until)
  • functions and arguments
  • error handling (set -e, trap)
  • Using SSH and SCP for automation

Package Management?

  • apt, yum/dnf, zypper, pacman (package managers)
  • dpkg, rpm for low-level management

System Security?

  • SELinux, AppArmor (security modules)
  • auditd (audit daemon)
  • SSH configuration and key management

Backups & Snapshot?

  • rsync, tar, cp (backup tools)
  • LVM/BTRFS/ZFS snapshots

Containers & Virtualization (optional/advanced)?

  • Docker, podman, LXC
  • KVM, QEMU, VirtualBox

Hardware & Devices?

lspci, lsusb, dmidecode, hwinfo

  • device drivers and kernel modules (lsmod, modprobe, insmod, rmmod)
  • udev rules basics

System Updates & Reboots?

  • Reboot/shutdown sequencing
  • Handling kernel upgrades

Troubleshooting Boot Issues

  • Understanding initramfs & kernel boot sequence
  • Rescue & recovery modes

An overview of essential Linux administration concepts and practical tools. It covers how to manage system services, file permissions, storage, and users, as well as how to debug and troubleshoot systems.

How Linux operates at its core (processes, filesystems, signals); methods for monitoring performance, setting up and troubleshooting networking; using command-line tools efficiently; and writing automation scripts.

Top comments (0)