Search Pass4Sure

CompTIA Linux+ XK0-005 Study Guide 2025

Complete CompTIA Linux+ XK0-005 study guide covering system management, security, bash scripting, Docker containers, and Linux troubleshooting commands for 2025.

CompTIA Linux+ XK0-005 Study Guide 2025

What does the CompTIA Linux+ exam cover?

The CompTIA Linux+ XK0-005 exam covers system management, security, scripting and containers, and troubleshooting for Linux environments. It validates skills in managing Linux systems, configuring services, securing systems, writing shell scripts, and working with containers. The exam costs $369 USD with a passing score of 720 out of 900 and requires approximately 12 months of Linux administration experience.


The CompTIA Linux+ XK0-005 is the industry-recognized Linux administration certification that validates the skills required to manage Linux systems across enterprise environments. Linux powers the majority of the world's servers, cloud infrastructure, and containerized workloads, making Linux administration skills essential for system administrators, DevOps engineers, and cloud professionals.

Unlike Red Hat's RHCSA/RHCE which focus on RHEL, Linux+ is distribution-neutral and covers concepts applicable across Debian/Ubuntu, Red Hat/CentOS/AlmaLinux, SUSE, and other major distributions. The exam costs $369 USD and requires a passing score of 720 out of 900.


Exam Overview

Detail Information
Exam Code XK0-005
Full Name CompTIA Linux+
Number of Questions Maximum 90
Time Limit 90 minutes
Passing Score 720/900
Cost $369 USD
Prerequisites 12 months Linux admin experience recommended
Validity 3 years

The exam covers four domains:

  1. System management (32%)
  2. Security (21%)
  3. Scripting, containers, and automation (19%)
  4. Troubleshooting (28%)

"Linux+ tests whether you can actually administer Linux systems, not just recite commands. The performance-based questions put you in a live terminal and ask you to accomplish specific tasks -- configure a service, troubleshoot a network issue, write a script. Candidates who have used Linux daily will find these questions straightforward; candidates who have only studied from books will struggle." -- Linux+ certified administrator community


Domain 1: System Management (32%)

Linux File System Hierarchy

The Linux Filesystem Hierarchy Standard (FHS) defines key directories:

Directory Contents
/ Root of the filesystem
/bin, /sbin Essential user and system binaries
/etc System configuration files
/home User home directories
/var Variable data (logs, spools, databases)
/tmp Temporary files (cleared on reboot)
/proc Virtual filesystem exposing kernel data
/dev Device files
/mnt, /media Mount points for filesystems
/usr Secondary hierarchy for user programs

Package Management

Debian/Ubuntu package management (APT):

apt update                    # Update package index
apt install nginx             # Install package
apt remove nginx              # Remove package
apt upgrade                   # Upgrade all installed packages
dpkg -l                       # List installed packages
dpkg -i package.deb           # Install local .deb file

Red Hat/CentOS package management (DNF/YUM):

dnf install httpd             # Install package
dnf remove httpd              # Remove package
dnf update                    # Update all packages
rpm -qa                       # List all installed RPMs
rpm -ivh package.rpm          # Install local .rpm file

Process Management

ps aux                        # List all processes
top / htop                    # Real-time process monitoring
kill -9 <PID>                 # Force kill process
nice -n 10 <command>          # Start process with lower priority
renice 10 -p <PID>            # Change priority of running process
systemctl status nginx        # Check service status
systemctl start/stop/restart nginx  # Manage service
systemctl enable nginx        # Enable service at boot
journalctl -u nginx           # View service logs

Storage Management

Disk partitioning and filesystems:

fdisk /dev/sdb                # Partition disk (MBR)
gdisk /dev/sdb                # Partition disk (GPT/GUID)
mkfs.ext4 /dev/sdb1           # Create ext4 filesystem
mkfs.xfs /dev/sdb2            # Create XFS filesystem
mount /dev/sdb1 /mnt/data     # Mount filesystem
umount /mnt/data              # Unmount filesystem
df -h                         # Show disk space usage
du -sh /var/log               # Show directory size

/etc/fstab: Configuration file defining filesystems to mount at boot. Each line specifies device, mount point, filesystem type, options, dump, and fsck order.

LVM (Logical Volume Manager): Provides flexible storage management with thin provisioning, snapshots, and online resizing.


Domain 2: Security (21%)

User and Group Management

useradd -m -s /bin/bash username  # Create user with home directory
usermod -aG sudo username          # Add user to sudo group
passwd username                    # Set user password
userdel -r username                # Delete user and home directory
groupadd developers                # Create group
id username                        # Show user ID and group membership

File Permissions

Permission notation:

  • r = read (4), w = write (2), x = execute (1)
  • -rwxr-xr-- = owner rwx, group r-x, others r--
  • Numeric: 754 means owner=7(rwx), group=5(r-x), others=4(r--)

chmod and chown:

chmod 644 file.txt             # Set permissions numerically
chmod u+x script.sh            # Add execute for owner symbolically
chown user:group file.txt      # Change owner and group
chown -R user:group /directory # Recursive ownership change

SUID, SGID, and Sticky Bit:

  • SUID (4000): Execute file with owner's permissions (e.g., passwd runs as root)
  • SGID (2000): Files created in directory inherit directory's group
  • Sticky bit (1000): Only file owner can delete file in shared directory (e.g., /tmp)

SSH Security

ssh-keygen -t ed25519          # Generate SSH key pair
ssh-copy-id user@server        # Copy public key to server
ssh -i ~/.ssh/id_ed25519 user@server  # Connect using specific key

sshd_config security settings:

  • PermitRootLogin no: Prevent direct root login
  • PasswordAuthentication no: Require key-based authentication
  • AllowUsers user1 user2: Restrict which users can SSH
  • Port 2222: Non-standard port to reduce automated scanning

Firewall Management

iptables (traditional):

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables -L -v                 # List rules with counters

firewalld (Red Hat/CentOS):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

ufw (Ubuntu):

ufw allow 22/tcp
ufw enable
ufw status verbose

Domain 3: Scripting, Containers, and Automation (19%)

Bash Scripting

Essential bash scripting concepts for Linux+:

#!/bin/bash
# Variables
NAME="World"
echo "Hello, $NAME"

# Conditionals
if [ -f "/etc/hosts" ]; then
    echo "File exists"
elif [ -d "/tmp" ]; then
    echo "Directory exists"
else
    echo "Neither"
fi

# Loops
for service in nginx apache mysql; do
    systemctl status $service
done

# Functions
backup_directory() {
    local DIR=$1
    tar -czf "${DIR}_backup.tar.gz" "$DIR"
    echo "Backed up $DIR"
}
backup_directory /var/www

Docker and Container Management

docker pull nginx              # Download image
docker run -d -p 80:80 nginx   # Run container
docker ps                      # List running containers
docker exec -it <id> bash      # Shell into container
docker build -t myapp:1.0 .    # Build image from Dockerfile
docker stop <id>               # Stop container
docker rm <id>                 # Remove container

Dockerfile basics:

FROM ubuntu:22.04
RUN apt update && apt install -y nginx
COPY index.html /var/www/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Domain 4: Troubleshooting (28%)

Network Troubleshooting

ip addr show                   # Show interface IP addresses
ip route show                  # Show routing table
ss -tuln                       # Show listening ports
ping -c 4 8.8.8.8              # Test ICMP connectivity
traceroute 8.8.8.8             # Trace network path
curl -I https://example.com    # Test HTTP connectivity
dig example.com                # DNS lookup
nslookup example.com           # Alternative DNS lookup
netstat -tuln                  # Legacy: show listening sockets
tcpdump -i eth0 port 80        # Capture network traffic

Log Analysis

cat /var/log/syslog            # System log (Debian/Ubuntu)
cat /var/log/messages          # System log (Red Hat)
journalctl -f                  # Follow system journal in real time
journalctl --since "1 hour ago"  # Recent journal entries
tail -f /var/log/nginx/error.log  # Follow application log
grep "ERROR" /var/log/app.log  # Filter log for errors

Common Troubleshooting Scenarios

Symptom Investigation Step Common Cause
Service not starting systemctl status service then journalctl -u service Configuration error or port conflict
Cannot connect to service `ss -tuln grep port` and check firewall
Disk full df -h and du -sh /* Log files grown; temp files accumulated
High CPU top then ps aux --sort=-%cpu Runaway process or resource contention
Permission denied ls -la file/directory and check user context Wrong permissions or SELinux/AppArmor

Frequently Asked Questions

How does Linux+ compare to RHCSA? Linux+ is vendor-neutral and multiple-choice/performance based, testing general Linux concepts across distributions. RHCSA (Red Hat Certified System Administrator) is entirely hands-on, requiring you to complete administrative tasks in a live RHEL environment. RHCSA is more respected in Red Hat enterprise environments. Linux+ is more appropriate for multi-distribution environments and for candidates who do not primarily work with RHEL.

What Linux distribution should I use to study for Linux+? Any modern Linux distribution is appropriate for Linux+ study. Ubuntu is the most beginner-friendly and widely documented. AlmaLinux or Rocky Linux (RHEL-compatible free alternatives) expose you to RPM-based systems. Using both an Ubuntu VM and an AlmaLinux VM covers the major package management differences tested in the exam.

How much command-line experience is needed for Linux+? Linux+ requires practical command-line ability, not just theoretical knowledge. You should be comfortable navigating the filesystem, managing files and directories, editing configuration files with vim or nano, managing services with systemctl, and writing simple bash scripts. Candidates who have used Linux only through graphical interfaces typically need additional command-line practice before taking the exam.

References

  1. CompTIA. (2025). CompTIA Linux+ XK0-005 Exam Objectives. https://www.comptia.org/certifications/linux
  2. Rothwell, R. (2023). CompTIA Linux+ Study Guide. Sybex.
  3. Nemeth, E., Snyder, G., & Hein, T. (2017). UNIX and Linux System Administration Handbook (5th ed.). Pearson.
  4. The Linux Documentation Project. (2025). Linux Filesystem Hierarchy Standard. https://www.pathname.com/fhs/
  5. Ubuntu Documentation. (2025). Ubuntu Server Guide. https://ubuntu.com/server/docs
  6. Red Hat. (2025). RHEL 9 System Administrator's Guide. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/