What Do I Need to Know to Pass the Linux+ Exam LX0-104?

February 4, 2016

Guest Author

Photo Credit: Linux weeks, books and magazines via library_mistress cc

This blog post goes through the CompTIA Linux+ LX0-104 exam objectives, relevant topics and tools/learning resources to aid your study efforts. Reminder that once you pass both Linux+ exams and earn the certification, you do not have to renew the certification since Linux+ stands as a lifetime certification.

CompTIA Linux+ LX0-104 Exam Objectives

  • Shells, Scripting and Data Management (17%)
  • User Interfaces and Desktops (8%)
  • Administrative Tasks (20%)
  • Essential System Services (17%)
  • Networking Fundamentals (23%)
  • Security (15%)

Shells, Scripting and Data Management (17%)

This exam domain tests knowledge in the following areas. Below each topic are resources related to developing your understanding of them.

Topic 1: Customize and Use the Shell Environment

Download our CompTIA Linux+ LX0-104 Study Guide

This topic focuses on knowledge for setting environment variables and writing BASH functions. The shell environment stores a body of info within each shell session. The data stored contains info, used by programs, to determine facts about configuration. Some programs use configuration files for storing program settings while other programs seek out the values stored in the environment.

Terms, Files, Commands & Utilities:

  • /etc/profile – contains a global configuration script for all users.
  • ~/.bash_profile – used to set up a user’s personal startup file to override the global configuration script for custom settings.
  • ~/.bash_login – used to set user login commands. Contains script that bash shell attempts to read if the ~/.bash_profile not located to read.
  • ~/.profile – used to set global profile variables.
  • ~/.bashrc – used to set shell variables.
  • ~/.bash_logout – used to set logout commands
  • env – command lists all the environment variables within the shell environment.
  • printenv – command prints the output/details of the specific environment variable.
  • set – command displays the shell and environment variables and defined shell functions without options.
  • alias – command creates an alias for a command.
  • export – command exports the current environmnet to executable programs.

Relevant Environment Variables:

Environment VariableExplanation
DISPLAYNames the display if running a graphical environment.
EDITORNames the preferred text editor.
SHELLNames the shell program.
HOMEShows pathname of home directory.
LANGDefines the language character set.
OLD_PWDShows the previous working directory.
PAGERNames the program used for paging output.
PATHProvides a colon separated list of directories you searched for when entering a name of an executable program.
PS1Stands for prompt string 1(PS1) and defines content of your shell prompt.
PWDPrints the current working directory. The pwd command produces the same information.
TERMThe name of the terminal type.
TZThe timezone. Most Unix-like/Linux systems maintain an internal clock set to Coordinated Universal Time (UTC) and displays the local time.
USER Your username
BROWSERContains the path to the web browser
MAILShows the path to the current user’s mailbox.
LS_COLORSDefines color codes used to optionally add color to ls command output.
UIDUser ID of current user.
HOSTNAMEShows computer hostname.
SHELLOPTSShell options set with the set command.
HISTSIZEShows the number of lines of command history permitted for use in memory.
HISTFILESIZEShows the number of lines in command line history.
BASH_VERSIONShows the version of bash shell used.

Topic 2: Write and Customize Simple Scripts

The ability to write and execute shell scripts proves extremely valuable and time effective for admins responsible for repetitive tasks, such as adding, modifying, and removing large groups of users to the system.

To look beyond the basics, read the Advanced Bash-Scripting Guide.

Concepts in this section include:

  • Standard SH syntax
  • chmod for executing scripts
  • Command substitution
  • Sourcing methods (source command and the dot (.))
  • Variables (positional perimeter, user-defined, and environment variables) in scripts
  • Conditional expressions
  • Return value testing
  • Conditional mailing to the superuser
  • Select script interpreter
  • Script management
  • Lists
  • Functions

Refer to these YouTube video tutorials for extra help with learning scripting.

Terms, Files, Commands & Utilities:

  • Common commands used in scripts – ls, mv, cp, rm, grep, find, cut, sed, and echo.
  • Loops
    • for – loop that executes a part of the script for a specific number of times
    • while – loop that enables you to repeat a set of instructions for a fixed number of times while a specific condition is met.
  • test – checks file types and compare values.
  • read – reads script or asks for input from a user.
  • seq – command to print a sequence of numbers of the standard output.
  • exec – BOURNE and POSIX shell command that replaces the current shell process with the command specified after exec.

Topic 3: SQL Data Management

Structured Query Language (SQL) enables admins to access, manage, and manipulate data from relational databases. You should understand basic SQL commands and be capable of performing basic data manipulation. Also, know about the different SQL products for SQL, such as MySQL, PostgreSQL, and SQLite. You should have familiarity with:

  • Creating databases and tables
  • Entering, storing, and extracting data from a database
  • Data types
  • SQL fundamental commands

Watch this video for an overview relevant for SQL on the Linux+ (older version LX0-102) exam.

Basic SQL Commands:

  • SQL IN
  • SQL Wildcard
  • SQL AS

Common SQL Data Type Names:

  • INTEGER – 4-byte integer value
  • SMALLINT – 2-byte integer value
  • DECIMAL – storage of decimal values
  • NUMERIC – storage of decimal values
  • FLOAT – floating-point number
  • DOUBLE PRECISION – floating-point number stored twice with FLOAT
  • DATETIME – date and time
  • DATE – date
  • TIME – time
  • CHAR – one or multiple characters
  • VARCHAR – variable of characters
  • ENUM – enumerated list
  • SET – data with zero or more values

User Interfaces and Desktops (18%)

This domain of the exam tests for knowledge in the following areas. Below each topic are resources related to developing your understanding of them.

Topic 1: Install and Configure X11

Learn how to install and configure X11 in Linux using the oversimplified Wikihow guide or The Linux Foundation’s documentation of The X Window System. Focus areas for this topic entail:

  • Ensure that the monitor and video card are supported by an X server
  • X font server awareness
  • Understanding of X Window configuration file

Terms, Files, Commands & Utilities:

  • xhost – server access control program for X.
    • xhost + hostname: Adds hostname to X server access control list.
    • xhost – hostname: Removes hostname from X server access control list.
    • xhost + : Turns off access control (all remote hosts will have access to X server)
    • xhost – : Turns access control back on.
  • xwininfo – displays information about windows.
  • xdpyinfo displays information about an X server.

Topic 2: Setup Display Manager

LightDM is the display manager that runs in Ubuntu. Here is the LightDM guide from the Ubuntu wiki. Learn about the different display managers for various GUIs, such as KDM, GDM, XDM, LightDM, SDDM, LXDM, MDM, and SLiM. Understand how to install and configure a display manager, including the enabling or disabling of the display manager services to access the desktop environment. Remember, in Linux having different GUIs on one system is possible, but display managers control different GUIs. So if you run into issues, check to ensure you’re using the correct display manager.

Even though Arch Linux isn’t a distribution to know for the Linux+ exam, the commands are similar to other distributions. Refer to the step for starting the display manager in the full Arch Linux installation guide.

Also, know that there’s a difference between a display manager (also referred to as a login manager) and window manager (i.e. Awesome).

Topic 3: Accessibility

W3C promotes best practices and tips for checking accessibility for development and design of web pages. For Linux admins, who will encounter end-users with possible disabilities and preferences, accessibility shouldn’t be overlooked. Even though you may deem this section as insignificant, prepare for and know this material. You never know when this knowledge will become useful. Even venture further in your studies and read this article about why people with disabilities should use Linux. Why stop there? Read about specific Linux distributions designed for people with disabilities, such as Sonar, Vinux, and Knoppix ADRIANE.

Understand these topics:

  • Keyboard accessiblity settings through AccessX
  • Assistive Technology (ATs)
  • Mouse keys, sticky keys, and bounce keys
  • Screen reader
  • Magnifier
  • High-contrast mode
  • Visual alerts
  • Gestures
  • On-screen keyboard
  • High-contrast and large print desktop themes

This video explains relevant accessibility options for the exam.

Administrative Tasks (20%)

Pay attention to this objective. Other than Networking Fundamentals, this section makes up a large percentage of the exam.

Topic 1: User and Group Management

Understand how to add, delete, modify, and set settings for users and groups. Understand the importance of setting permissions and access levels to shared files and directories for users and groups.

Although this topic falls outside of the security exam objective, user and group management rely on setting and enforcing permissions. Well organized and controlled users and groups contribute to a maintaining a secure environment. It’s imperative to know how to set and modify read (r), write (w), and execute (x) permissions for users and groups within the main Linux distributions. Also, you must know how to set and change passwords via the command line. This includes setting password aging limits and knowing where the password files are stored.

Compare Linux+ with RHCSA and RHCE to See Which One Could Actually Help You

Here are resources to learn about user/group management and permissions:

Commands and files to know:

  • adduser
  • deluser
  • usermod
  • passwd
  • groupadd
  • groupdel
  • groupmod
  • /etc/passwd
  • /etc/shadow
  • /etc/group
  • /etc/shadow

Here’s a YouTube video from Eli the Computer Guy on users and groups.

Topic 2: Automation of System Administrative Tasks with Scheduling Jobs

Do you have a familiar grasp on cron, at jobs, and anacron configuration? Sysadmins must not only understand what they need to do on a daily and monthly basis (including the admin tools they need to carry out those duties), but they should work towards optimal efficiency. Savvy sysadmins know how to get the job done through automation.

Due to their diverse job and time constraints, they can’t possibly do everything in the time allotted in an average work week. Automation saves the day. Excellent admins know what and how to automate jobs with cron.

Cron files to note:

  • /etc/crontab
  • /etc/cron.allow
  • /etc/cron/daily, hourly, weekly, or monthly
  • /etc/anacrontab

Cron commands:

  • Crontab
  • at
  • atrm
  • anacron
  • atq

Watch this great video by Joe Collins on automation.

Topic 3: Localisation (i10n) and Internationalization (i18n)

Can you explain the difference between localisation and internationalization? For this section, know how to configure locale and timezone settings.

Terms, Files, Commands & Utilities:

  • /etc/localtime
  • /etc/timezone
  • /usr/bin/locale
  • /usr/share/zoneinfo
  • tzconfig
  • tzselect
  • date
  • iconv
  • LC_ALL
  • LANG
  • TZ
  • LC_*
  • Unicode
  • UTF-8
  • ISO-8859

Essential System Services (17%)

Topic 1: Maintain System Time

This builds off the localisation and internationalization section. Know how to set the system date and time, the hardware clock to correspond to correct UTC time, configure time-zones, configure NTP, and understand the purpose and usage of the ntpq command.

Terms, Files, Commands & Utilities:

  • /usr/share/zoneinfo
  • /etc/timezone
  • /etc/localtime
  • /etc/ntp.conf
  • date
  • hwclock
  • ntpd
  • ntpd
  • ntpdate
  • pool.ntp.org

Topic 2: System Logging

Know how to configure the syslog daemon and logrotate. Understand the purpose of ryslog and syslog-ng, standard facilities, priorties, and actions with system logging. Refer to Red Hat’s Viewing and Managing Logs documentation and watch the video below for an overview.

Commands and Tools:

  • logger
  • klogd
  • syslogd
  • logrotate
  • journalctl


  • syslog.conf
  • /var/log/
  • /etc/logrotate.conf
  • /etc/logrotate.d/
  • /etc/systemd/journald/conf
  • /var/log/journal/

Topic 3: Mail Transfer Agent (MTA)

Know how to create email aliases, configure email forwarding, and understand MTA progams, such as sendmail, qmail, exim, and postfix. Read this guide on MTA differences.

Terms, Files, Commands & Utilities:

  • exim
  • qmail
  • mailq
  • mail
  • postfix
  • sendmail
  • sendmail emulation layer commands
  • newaliases
  • ~/.forward

Topic 4: Printing and Printer Management

Know how to configure CUPs for local and remote printers, manage user print queues, troubleshoot printing issues,  and add/remove jobs in the printing queues. Configuring and troubleshooting printing in Linux isn’t always as straightforward as you may think. Read about what you need to know about printing for the CompTIA Linux+ exam.

Terms, Files, Commands & Utilities:

  • /etc/cups
  • lpr, lprm, lpq
  • CUPS configuration files and tools

Networking Fundamentals (23%)

Topic 1: Internet Protocols

This section requires an understanding of private and public IP addresses, TCP and UDP ports, IPv4 and IPv6 address differences, network masks, CIDR notation, and other relevant networking topics and tools.

Terms, Files, Commands & Utilities:

  • IPv4
  • IPv6
  • Subnetting
  • /etc/services

Here’s a helpful overview from Eli the Computer Guy again.

Topic 2: Network Configuration

Sysadmins should have familiarity and experience with most of this info for network configuration in Linux. Know how to manually and automatically configure network interfaces and devices, setup default routes, and configure TCP/IP hosts.


  • /etc/hosts
  • /etc/hostname
  • /etc/nsswitch.conf


  • ping
  • route
  • ip
  • ifconfig
  • ifup
  • ifdown

Topic 3: Network Troubleshooting

Know how to manually and automatically configure routing tables for different options for network interfaces. Understand how to debug network configuration issues and amend bad routing tables.


  • dig
  • route
  • host
  • hostname
  • netstate
  • ping
  • ping6
  • ifconfig
  • traceroute
  • traceroute6
  • tracepath
  • netcat
  • arp
  • nslookup

Topic 4: Configure Client Side DNS

Know how to query remote DNS servers, configure local name resolutions and use remote DNS servers, edit name resolution order. Read this guide on DNS configuration and administration for review.


  • /etc/hosts
  • /etc/resolv.conf
  • /etc/nsswitch.conf


  • Dig
  • getent
  • host

Security (15%)

Topic 1: Security Administration Tasks

You should understand the importance of and the steps necessary to audit Linux systems with suid/sgid bit set. Can you explain the importance of password management and setting aging password limits to encourage password updates (mentioned earlier in user and group management)? Know how to monitor the infrastructure for open ports and vulnerabilities with nmap, netstat, and other system scanning tools.

Do you know how to set limits on processes, memory usage, and user login credentials? This proves essential for monitoring systems for abnormalities.

Also, know the difference between su and sudo, the benefits of sudo, and how to edit the sudoers file.


  • nmap
  • find
  • passwd
  • fuser
  • chage
  • netstat
  • lsof
  • su
  • sudo
  • usermod
  • ulimit
  • who
  • last


  • /etc/sudoers

Topic 3: Host Security Setup

Host security is a critical topic in system security. You can protect the network perimeter with firewalls and NAT routers to obscure and hide host IP addresses, but advanced persistent attacks necessitate further host security measures. Know the fundamental concepts and practices, including shadow passwords, TCP wrappers, and enabling/disabling necessary network services.

Files to note:

  • /etc/nologin
  • /etc/passwd
  • /etc/shadow
  • /etc/xinetd.d*/
  • /etc/xinetd.conf
  • /etc/inetd.conf
  • /etc/inittab
  • /etc/hosts.allow
  • /etc/hosts.deny
  • /etc/init.d/*

Topic 4: Data Encryption

Proficiency with OpenSSH, GnuPG, and SSH port tunnels is vital to have. Understand how to configure and use these tools for encrypting data.


  • ssh
  • ssh-keygen
  • ssh-agent
  • gpg


  • ~/.ssh/id_rsa and id_rsa.pub
  • ~/.ssh/id_dsa and id_dsa.pub
  • /etc/ssh/ssh_host_rsa_key and ssh_host_rsa_key.pub
  • /etc/ssh/ssh_host_dsa_key and ssh_host_dsa_key.pub
  • ~/.ssh/authorized_keys
  • /etc/ssh_known_hosts
  • ~/.gnupg/*

Concluding Statement: This blog serves as a starting point for further learning and studies. The outline, based on the official CompTIA Linux+ exam objectives, does not encompass all possible exam material.  If you haven’t taken or passed the first exam, read this blog post on what you need to know to pass the Linux+ LX0-103 exam.

Also, remember you may encounter questions not covered in an official CompTIA Linux+ book, study guide, practice exam, or training course. Prepare for everything and don’t rely on memorization.

subscribe by email

Stay Ahead

Phoenix TS needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at anytime. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, check out our Privacy Policy.