Linux Essentials Objectives V2.0: Difference between revisions

From LPI Wiki
Jump to navigationJump to search
Created page with "__FORCETOC__ ==Introduction== The purpose of the Linux Essentials Certificate is to define the basic knowledge required to competently use a desktop or mobile device using a Linux Operating System. The associated Linux Essentials Program will guide and encourage youth (and those new to Linux and Open Source) to understand the place of Linux and Open Source in the context of the broader IT industry. <br /> ==Candidate Description== This is a description of a candida..."
 
Line 72: Line 72:
==Objectives==
==Objectives==


===''Topic 1: The Linux Community and a Career in Open Source''===
===''Topic 1: The Linux Operating System and Open Source Software''===


====<span style="color:navy">1.1 Linux Evolution and Popular Operating Systems (weight: 2)</span>====
====<span style="color:navy">1.1 Linux Distributions (weight: 2)</span>====


{|
{|
Line 89: Line 89:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Knowledge of Linux development and major distributions.
Candidates should understand commonly used Linux distributions, including their relationship and their major components. This includes various types of releases and support schema.


|}
|}
Line 95: Line 95:
'''Key Knowledge Areas:'''
'''Key Knowledge Areas:'''


* Distributions
* Kernel and userspace
* Embedded Systems
* Linux Distributions
* Linux in the Cloud
* Distribution life cycle management


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* Debian, Ubuntu (LTS)
* Debian-based Distributions (Debian GNU/Linux, Ubuntu, Raspberry Pi OS)
* CentOS, openSUSE, Red Hat, SUSE
* Enterprise Linux-based Distributions (Red Hat Enterprise Linux, AlmaLinux, Rocky Linux, Fedora Linux, CentOS Stream)
* Linux Mint, Scientific Linux
* SUSE-based Distributions (SUSE Linux Enterprise, openSUSE Leap, openSUSE Tumbleweed)
* Raspberry Pi, Raspbian
* Long-Term Support (LTS), stable, testing and unstable releases, and rolling releases
* Android
* Android


Line 124: Line 124:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Awareness of major applications as well as their uses and development.
Candidates should be aware of major open source applications. This includes awareness of the main purpose and key features of the various applications, but no specific details, usage or installation of the applications.


|}
|}
Line 131: Line 131:


* Desktop applications
* Desktop applications
* Web applications
* Server applications
* Server applications
* Development languages
* Programming languages
* Package management tools and repositories
* Package management tools and repositories


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* OpenOffice.org, LibreOffice, Thunderbird, Firefox, GIMP
* LibreOffice, Thunderbird, Firefox, Chromium, VS Code, GIMP, Inkscape, VLC, R
* Nextcloud, ownCloud
* Nextcloud, ownCloud, Kodi, Jitsi, Big Blue Button, Moodle, Git, GitLab, Gitea
* Apache HTTPD, NGINX, MariaDB, MySQL, NFS, Samba
* Apache HTTPD, NGINX, MariaDB, MySQL, NFS, Samba
* C, Java, JavaScript, Perl, shell, Python, PHP
* C, C++, Java, JavaScript, Python, PHP, Rust, Go
* dpkg, apt-get, rpm, yum
* dpkg, apt-get, apt, rpm, dnf, zypper


<br />
<br />
Line 160: Line 161:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Open communities and licensing Open Source Software for business.
Candidates should understand the principle of free and open source software and open content. This includes awareness of the main open source software license types as well as Creative Commons.


|}
|}
Line 167: Line 168:


* Open source philosophy
* Open source philosophy
* Open source licensing
* Open source and open content licensing
* Free Software Foundation (FSF), Open Source Initiative (OSI)


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* Copyleft, Permissive
* Copyleft, Permissive
* GPL, BSD, Creative Commons
* GPL, BSD Licenses
* Free Software, Open Source Software, FOSS, FLOSS
* Creative Commons
* Open source business models
* Free Software, Open Source Software
* Free Software Foundation (FSF)
* Open Source Initiative (OSI)


<br />
<br />


====<span style="color:navy">1.4 ICT Skills and Working in Linux (weight: 2)</span>====
====<span style="color:navy">1.4 Linux Usage (weight: 2)</span>====


{|
{|
Line 194: Line 196:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Basic Information and Communication Technology (ICT) skills and working in Linux.
Candidates should understand major types of computers that are commonly used to run Linux. Candidates should be aware of system administration utilities, including text editors and configuration management tools. The actual usage of editors and configuration management tools is not covered in this objective. Furthermore, candidates should understand fundamental security measures when using computers and network services.


|}
|}
Line 200: Line 202:
'''Key Knowledge Areas:'''
'''Key Knowledge Areas:'''


* Desktop skills
* Understanding types of computers that can run Linux
* Getting to the command line
* Awareness of virtualization, containers and cloud computing
* Industry uses of Linux, cloud computing and virtualization
* Awareness of common text editors
* Awareness of configuration management tools
* Secure handling of credentials
* Secure transfer and storage of data


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* Using a browser, privacy concerns, configuration options, searching the web and saving content
* Desktop computers, laptops and other mobile devices
* Terminal and console
* Server computers, virtual machines and cloud instances
* Password issues
* Embedded systems and HPC clusters
* Privacy issues and tools
* Client and server roles
* Use of common open source applications in presentations and projects
* vi, nano
* Ansible
* Strong password, password managers, multi-factor authentication
* Encryption in network protocols (HTTPS), storage media
* Secure handling of USB devices


<br />
<br />


===''Topic 2: Finding Your Way on a Linux System''===
===''Topic 2: Command Line Basics''===


====<span style="color:navy">2.1 Command Line Basics (weight: 3)</span>====
====<span style="color:navy">2.1 Command Line Usage (weight: 3)</span>====


{|
{|
Line 231: Line 240:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Basics of using the Linux command line.
Candidates should be able to use the Linux command line. This includes using commands, variables and quoting. Candidates should understand the principles of build-in commands and executable files, including common locations for executable files in the Linux file system.


|}
|}
Line 250: Line 259:
* export
* export
* type
* type
* /bin, /usr/bin, /usr/sbin, /sbin


<br />
<br />


====<span style="color:navy">2.2 Using the Command Line to Get Help (weight: 2)</span>====
====<span style="color:navy">2.2 Documentation, Man Pages and Usage Information (weight: 2)</span>====


{|
{|
Line 268: Line 278:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


Running help commands and navigation of the various help systems.
Candidates should be able to leverage documentation provided on a Linux system. This includes using man pages as well as running commands with common parameters to display usage information. Furthermore, candidates should be aware of important file system locations containing documentation and example files.


|}
|}
Line 275: Line 285:


* Man pages
* Man pages
* Info pages
* Common help parameters of command line tools


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* man
* man
* info
* -h, --help
* /usr/share/doc/
* /usr/share/doc/
* locate


<br />
<br />


====<span style="color:navy">2.3 Using Directories and Listing Files (weight: 2)</span>====
====<span style="color:navy">2.3 Files, Directories and Paths (weight: 2)</span>====


{|
{|
Line 301: Line 310:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Navigation of home and system directories and listing files in various locations.
Candidates should understand the Linux filesystem, including commands to navigate to specific directories and list the content of directories. Candidates should understand the concepts of absolute and relative paths, hidden files and directories as well as home directories.


|}
|}
Line 318: Line 327:
* cd  
* cd  
* '''.''' and '''..'''
* '''.''' and '''..'''
* home and ~
* '''/'''
* /home and ~


<br />
<br />


====<span style="color:navy">2.4 Creating, Moving and Deleting Files (weight: 2)</span>====
====<span style="color:navy">2.4 File and Directory Management (weight: 2)</span>====


{|
{|
Line 337: Line 347:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Create, move and delete files and directories under the home directory.
Candidates should be able to create, copy, move and rename files and directories. This includes simple use of wildcards and shell globbing.


|}
|}
Line 354: Line 364:
<br />
<br />


===''Topic 3: The Power of the Command Line''===
===''Topic 3: Data Processing''===


====<span style="color:navy">3.1 Archiving Files on the Command Line (weight: 2)</span>====
====<span style="color:navy">3.1 File Archives and Compression (weight: 2)</span>====


{|
{|
Line 371: Line 381:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Archiving files in the user home directory.
Candidates should be able to create, list and extract file archives in the TAR and ZIP formats. Furthermore, Candidates should be able to compress files, including using compressed file archives.


|}
|}
Line 389: Line 399:
<br />
<br />


====<span style="color:navy">3.2 Searching and Extracting Data from Files (weight: 3)</span>====
====<span style="color:navy">3.2 Redirections and String Processing (weight: 3)</span>====


{|
{|
Line 404: Line 414:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Search and extract data from files in the home directory.
Candidates should be able to use I/O redirection on the command line. This includes writing data to files, reading data from files as well as passing data between commands. Furthermore Candidates should be able to use common text processing tools, including using simple regular expressions to filter and process text files.


|}
|}
Line 420: Line 430:
* cat, head, tail
* cat, head, tail
* sort
* sort
* uniq
* cut
* cut
* wc
* wc
Line 425: Line 436:
<br />
<br />


====<span style="color:navy">3.3 Turning Commands into a Script (weight: 4)</span>====
====<span style="color:navy">3.3 Shell Scripting Basics (weight: 4)</span>====


{|
{|
Line 440: Line 451:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Turning repetitive commands into simple scripts.
Candidates should be able to write simple shell scripts. This includes using setting and displaying variables, conditions to check file existence and variable quality as well as using for loops.


|}
|}
Line 447: Line 458:


* Basic shell scripting
* Basic shell scripting
* Awareness of common text editors (vi and nano)


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''
Line 455: Line 465:
* Variables
* Variables
* Arguments
* Arguments
* for loops
* if conditions (file existence and variable equality)
* for loops (iterate over space separated lists and file glob expressions)
* echo
* echo
* Exit status
* Exit status
Line 461: Line 472:
<br />
<br />


===''Topic 4: The Linux Operating System''===
===''Topic 4: Linux System Administration Basics''===


====<span style="color:navy">4.1 Choosing an Operating System (weight: 1)</span>====
====<span style="color:navy">4.1 Linux Installation and Provisioning (weight: 1)</span>====


{|
{|
Line 478: Line 489:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Knowledge of major operating systems and Linux distributions.
Candidates should understand the installation of Linux on a physical computer, a virtual machine and the provisioing of Linux in cloud instances. This includes awareness of dual boot setups as well as key differentiators to other operating systems and Linux compatibility of other operating systems.


|}
|}
Line 484: Line 495:
'''Key Knowledge Areas:'''
'''Key Knowledge Areas:'''


* Differences between Windows, OS X and Linux
* Differences between Windows, macOS and Linux
* Distribution life cycle management
* Installing Linux on a computer or in a virtual machine
* Using Linux in cloud instances


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* GUI versus command line, desktop configuration
* Installation media, ISO files
* Maintenance cycles, beta and stable
* Operating system images
* Dual boot
* Windows Subsystem for Linux


<br />
<br />


====<span style="color:navy">4.2 Understanding Computer Hardware (weight: 2)</span>====
====<span style="color:navy">4.2 Computer Hardware and Device Access (weight: 2)</span>====


{|
{|
Line 509: Line 523:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Familiarity with the components that go into building desktop and server computers.
Candidates should understand the major components of a computer. Furthermore, candidates should understand how the Linux kernel manages hardware support and how device files are used to access hardware. This includes relevant file system paths as well as important pseudo-devices.


|}
|}
Line 516: Line 530:


* Hardware
* Hardware
* Device files for physical and virtual devices


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* Motherboards, processors, power supplies, optical drives, peripherals
* Motherboards, processors (x86, ARM), memory, power supplies, optical drives, peripherals
* Hard drives, solid state disks and partitions, /dev/sd*
* Network interface cards (Ethernet, WiFi)
* Drivers
* Block storage (Hard drives, solid state disks and partitions, /dev/sd*, /dev/nvme*)
* Raspberry Pi
* Drivers and Kernel Modules
* /dev/, /boot/, /sys/
* /dev/null, /dev/zero, /dev/urandom


<br />
<br />


====<span style="color:navy">4.3 Where Data is Stored (weight: 3)</span>====
====<span style="color:navy">4.3 Processes and Log Messages (weight: 3)</span>====


{|
{|
Line 540: Line 559:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Where various types of information are stored on a Linux system.
Candidates should understand the concepts of processes on Linux. That includes listing running processes and determining resource consumption of processes. Candidates should also be able to start, stop and query systemd service units. Furthermore, Candidates should be able to retrieve log messages from the systemd journal, log files and the kernel ring buffer.


|}
|}
Line 548: Line 567:
* Programs and configuration
* Programs and configuration
* Processes
* Processes
* Memory addresses
* Services
* System messaging
* Logging and systemd Journal
* Logging


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* ps, top, free
* ps, top, free
* syslog, dmesg
* systemctl (start, stop, status)
* /etc/, /var/log/
* journalctl, dmesg
* /boot/, /proc/, /dev/, /sys/
* /etc/
* /var/log/
* /proc/


<br />
<br />


====<span style="color:navy">4.4 Your Computer on the Network (weight: 2)</span>====
====<span style="color:navy">4.4 Network Configuration (weight: 2)</span>====


{|
{|
Line 576: Line 596:
| style="background:#eaeaea" |
| style="background:#eaeaea" |


Querying vital networking configuration and determining the basic requirements for a computer on a Local Area Network (LAN).
Candidates should understand the principles of IP networks, including the Internet, IPv4 and IPv6 addresses, routing and name resolution. Candidates should be able to query the network configuration of a Linux system and have a fundamental understanding of automatic network configuration, as well as basic network troubleshooting competencies.


|}
|}
Line 585: Line 605:
* Querying DNS client configuration
* Querying DNS client configuration
* Querying network configuration
* Querying network configuration
* Automatic network configuration


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* route, ip route show
* ip route show, ip -6 route show
* ifconfig, ip addr show
* ip addr show
* netstat, ss
* ss
* /etc/resolv.conf, /etc/hosts
* /etc/resolv.conf, /etc/hosts, resolvectl
* IPv4, IPv6
* IPv4, IPv6
* DHCP, SLAAC, DHCPv6
* ping
* ping
* host
* host
Line 598: Line 620:
<br />
<br />


===''Topic 5: Security and File Permissions''===
===''Topic 5: Security and File System Permissions''===


====<span style="color:navy">5.1 Basic Security and Identifying User Types (weight: 2)</span>====
====<span style="color:navy">5.1 Remote Logins and Administrative Permissions (weight: 2)</span>====


{|
{|
Line 615: Line 637:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Various types of users on a Linux system.
Candidates should be able to securely log into remote systems for accessing a Linux shell and transferring files using SSH, including using public key authentication. Furthermore, candidates should be able to elevate their privileges in order to perform administrative tasks.


|}
|}
Line 623: Line 645:
* Root and standard users
* Root and standard users
* System users
* System users
* Remote logins using SSH
* SSH key generation and authentication


'''The following is a partial list of the used files, terms and utilities:'''
'''The following is a partial list of the used files, terms and utilities:'''


* /etc/passwd, /etc/shadow, /etc/group
* id, last, who, w
* sudo, su
* sudo, su
* ssh, scp
* ssh-keygen
* ~/.ssh/authorized_keys


<br />
<br />


====<span style="color:navy">5.2 Creating Users and Groups (weight: 2)</span>====
====<span style="color:navy">5.2 User and Group Management (weight: 2)</span>====


{|
{|
Line 647: Line 672:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Creating users and groups on a Linux system.
Candidates should understand the concepts of users and groups in Linux. This includes creating users, changing passwords and querying information about users accounts and user sessions. Furthermore, candidates should understand the files that contain the Linux user database.


|}
|}
Line 659: Line 684:


* /etc/passwd, /etc/shadow, /etc/group, /etc/skel/
* /etc/passwd, /etc/shadow, /etc/group, /etc/skel/
* id, last, who, w
* useradd, groupadd
* useradd, groupadd
* passwd
* passwd
Line 664: Line 690:
<br />
<br />


====<span style="color:navy">5.3 Managing File Permissions and Ownership (weight: 2)</span>====
====<span style="color:navy">5.3 File System Permissions and Ownership (weight: 2)</span>====


{|
{|
Line 679: Line 705:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Understanding and manipulating file permissions and ownership settings.
Candidates should understand ownership and permissions in the Linux file system. This includes querying, interpreting and changing ownership and permissions for files and directories.


|}
|}
Line 709: Line 735:
| style="background:#eaeaea" |  
| style="background:#eaeaea" |  


Special directories and files on a Linux system including special permissions.
Candidates should understand the special properties of temporary directories and symbolic links. This includes the creation, listing and deletion of symbolic links.


|}
|}

Revision as of 19:56, 5 January 2026


Introduction

The purpose of the Linux Essentials Certificate is to define the basic knowledge required to competently use a desktop or mobile device using a Linux Operating System. The associated Linux Essentials Program will guide and encourage youth (and those new to Linux and Open Source) to understand the place of Linux and Open Source in the context of the broader IT industry.


Candidate Description

This is a description of a candidate that is just barely qualified to pass the Linux Essentials exam. This hypothetical person is called the Minimally Qualified Candidate (MQC). Standards on the Linux Essentials exam should be set so that this person (and anyone more able) would pass but anyone less able would not pass.

The MQC has an understanding of the Linux and Open Source industry and knowledge of the most popular Open Source applications. The candidate should understand the major components of the Linux operating system, and have the technical proficiency to work on the Linux command line. The MQC has a basic understanding of security and administration related topics such as user/group management, working on the command line and permissions. The Linux Essentials certificate holder is most likely the end user of a mostly managed system.

The Linux Essentials MQC should have rudimentary skills or knowledge in the following topics:

  • Free and Open Source Software, the various communities and licenses
  • Processes, programs and the components of an operating system
  • Computer hardware
  • System security, users/groups and file permissions for public and private directories
  • Make the system accessible and able to connect to other computers on a Local Area Network (LAN)
  • Open Source Applications in the workplace as they relate to closed source equivalents
  • File system browsers on a Linux Desktop
  • Where to go for help
  • Work on the command line and with files
  • Make and restore simple backups and archives
  • Use a basic command line editor
  • File compression
  • Create and run simple shell scripts


Version Information

These objectives are DRAFT version 2.0.

This is also a summary and detailed information on the changes from version 1.6 to 2.0 of the objectives.

The version 1.6 objectives can be found here.


Translations of Objectives

The following translations of the objectives are available on this wiki:


Exams and Requirements

The Linux Essentials certificate is awarded after passing this exam:

  • 010 (40 questions in 60 minutes)

There is no requirement to posses another certificate.


Objectives

Topic 1: The Linux Operating System and Open Source Software

1.1 Linux Distributions (weight: 2)

Weight

2

Description

Candidates should understand commonly used Linux distributions, including their relationship and their major components. This includes various types of releases and support schema.

Key Knowledge Areas:

  • Kernel and userspace
  • Linux Distributions
  • Distribution life cycle management

The following is a partial list of the used files, terms and utilities:

  • Debian-based Distributions (Debian GNU/Linux, Ubuntu, Raspberry Pi OS)
  • Enterprise Linux-based Distributions (Red Hat Enterprise Linux, AlmaLinux, Rocky Linux, Fedora Linux, CentOS Stream)
  • SUSE-based Distributions (SUSE Linux Enterprise, openSUSE Leap, openSUSE Tumbleweed)
  • Long-Term Support (LTS), stable, testing and unstable releases, and rolling releases
  • Android


1.2 Major Open Source Applications (weight: 2)

Weight

2

Description

Candidates should be aware of major open source applications. This includes awareness of the main purpose and key features of the various applications, but no specific details, usage or installation of the applications.

Key Knowledge Areas:

  • Desktop applications
  • Web applications
  • Server applications
  • Programming languages
  • Package management tools and repositories

The following is a partial list of the used files, terms and utilities:

  • LibreOffice, Thunderbird, Firefox, Chromium, VS Code, GIMP, Inkscape, VLC, R
  • Nextcloud, ownCloud, Kodi, Jitsi, Big Blue Button, Moodle, Git, GitLab, Gitea
  • Apache HTTPD, NGINX, MariaDB, MySQL, NFS, Samba
  • C, C++, Java, JavaScript, Python, PHP, Rust, Go
  • dpkg, apt-get, apt, rpm, dnf, zypper


1.3 Open Source Software and Licensing (weight: 1)

Weight

1

Description

Candidates should understand the principle of free and open source software and open content. This includes awareness of the main open source software license types as well as Creative Commons.

Key Knowledge Areas:

  • Open source philosophy
  • Open source and open content licensing

The following is a partial list of the used files, terms and utilities:

  • Copyleft, Permissive
  • GPL, BSD Licenses
  • Creative Commons
  • Free Software, Open Source Software
  • Free Software Foundation (FSF)
  • Open Source Initiative (OSI)


1.4 Linux Usage (weight: 2)

Weight

2

Description

Candidates should understand major types of computers that are commonly used to run Linux. Candidates should be aware of system administration utilities, including text editors and configuration management tools. The actual usage of editors and configuration management tools is not covered in this objective. Furthermore, candidates should understand fundamental security measures when using computers and network services.

Key Knowledge Areas:

  • Understanding types of computers that can run Linux
  • Awareness of virtualization, containers and cloud computing
  • Awareness of common text editors
  • Awareness of configuration management tools
  • Secure handling of credentials
  • Secure transfer and storage of data

The following is a partial list of the used files, terms and utilities:

  • Desktop computers, laptops and other mobile devices
  • Server computers, virtual machines and cloud instances
  • Embedded systems and HPC clusters
  • Client and server roles
  • vi, nano
  • Ansible
  • Strong password, password managers, multi-factor authentication
  • Encryption in network protocols (HTTPS), storage media
  • Secure handling of USB devices


Topic 2: Command Line Basics

2.1 Command Line Usage (weight: 3)

Weight

3

Description

Candidates should be able to use the Linux command line. This includes using commands, variables and quoting. Candidates should understand the principles of build-in commands and executable files, including common locations for executable files in the Linux file system.

Key Knowledge Areas:

  • Basic shell
  • Command line syntax
  • Variables
  • Quoting

The following is a partial list of the used files, terms and utilities:

  • Bash
  • echo
  • history
  • PATH environment variable
  • export
  • type
  • /bin, /usr/bin, /usr/sbin, /sbin


2.2 Documentation, Man Pages and Usage Information (weight: 2)

Weight

2

Description

Candidates should be able to leverage documentation provided on a Linux system. This includes using man pages as well as running commands with common parameters to display usage information. Furthermore, candidates should be aware of important file system locations containing documentation and example files.

Key Knowledge Areas:

  • Man pages
  • Common help parameters of command line tools

The following is a partial list of the used files, terms and utilities:

  • man
  • -h, --help
  • /usr/share/doc/


2.3 Files, Directories and Paths (weight: 2)

Weight

2

Description

Candidates should understand the Linux filesystem, including commands to navigate to specific directories and list the content of directories. Candidates should understand the concepts of absolute and relative paths, hidden files and directories as well as home directories.

Key Knowledge Areas:

  • Files, directories
  • Hidden files and directories
  • Home directories
  • Absolute and relative paths

The following is a partial list of the used files, terms and utilities:

  • Common options for ls
  • Recursive listings
  • cd
  • . and ..
  • /
  • /home and ~


2.4 File and Directory Management (weight: 2)

Weight

2

Description

Candidates should be able to create, copy, move and rename files and directories. This includes simple use of wildcards and shell globbing.

Key Knowledge Areas:

  • Files and directories
  • Case sensitivity
  • Simple globbing

The following is a partial list of the used files, terms and utilities:

  • mv, cp, rm, touch
  • mkdir, rmdir


Topic 3: Data Processing

3.1 File Archives and Compression (weight: 2)

Weight

2

Description

Candidates should be able to create, list and extract file archives in the TAR and ZIP formats. Furthermore, Candidates should be able to compress files, including using compressed file archives.

Key Knowledge Areas:

  • Files, directories
  • Archives, compression

The following is a partial list of the used files, terms and utilities:

  • tar
  • Common tar options
  • gzip, bzip2, xz
  • zip, unzip


3.2 Redirections and String Processing (weight: 3)

Weight

3

Description

Candidates should be able to use I/O redirection on the command line. This includes writing data to files, reading data from files as well as passing data between commands. Furthermore Candidates should be able to use common text processing tools, including using simple regular expressions to filter and process text files.

Key Knowledge Areas:

  • Command line pipes
  • I/O redirection
  • Basic Regular Expressions using ., [ ], *, and ?

The following is a partial list of the used files, terms and utilities:

  • grep
  • less
  • cat, head, tail
  • sort
  • uniq
  • cut
  • wc


3.3 Shell Scripting Basics (weight: 4)

Weight

4

Description

Candidates should be able to write simple shell scripts. This includes using setting and displaying variables, conditions to check file existence and variable quality as well as using for loops.

Key Knowledge Areas:

  • Basic shell scripting

The following is a partial list of the used files, terms and utilities:

  • #! (shebang)
  • /bin/bash
  • Variables
  • Arguments
  • if conditions (file existence and variable equality)
  • for loops (iterate over space separated lists and file glob expressions)
  • echo
  • Exit status


Topic 4: Linux System Administration Basics

4.1 Linux Installation and Provisioning (weight: 1)

Weight

1

Description

Candidates should understand the installation of Linux on a physical computer, a virtual machine and the provisioing of Linux in cloud instances. This includes awareness of dual boot setups as well as key differentiators to other operating systems and Linux compatibility of other operating systems.

Key Knowledge Areas:

  • Differences between Windows, macOS and Linux
  • Installing Linux on a computer or in a virtual machine
  • Using Linux in cloud instances

The following is a partial list of the used files, terms and utilities:

  • Installation media, ISO files
  • Operating system images
  • Dual boot
  • Windows Subsystem for Linux


4.2 Computer Hardware and Device Access (weight: 2)

Weight

2

Description

Candidates should understand the major components of a computer. Furthermore, candidates should understand how the Linux kernel manages hardware support and how device files are used to access hardware. This includes relevant file system paths as well as important pseudo-devices.

Key Knowledge Areas:

  • Hardware
  • Device files for physical and virtual devices

The following is a partial list of the used files, terms and utilities:

  • Motherboards, processors (x86, ARM), memory, power supplies, optical drives, peripherals
  • Network interface cards (Ethernet, WiFi)
  • Block storage (Hard drives, solid state disks and partitions, /dev/sd*, /dev/nvme*)
  • Raspberry Pi
  • Drivers and Kernel Modules
  • /dev/, /boot/, /sys/
  • /dev/null, /dev/zero, /dev/urandom


4.3 Processes and Log Messages (weight: 3)

Weight

3

Description

Candidates should understand the concepts of processes on Linux. That includes listing running processes and determining resource consumption of processes. Candidates should also be able to start, stop and query systemd service units. Furthermore, Candidates should be able to retrieve log messages from the systemd journal, log files and the kernel ring buffer.

Key Knowledge Areas:

  • Programs and configuration
  • Processes
  • Services
  • Logging and systemd Journal

The following is a partial list of the used files, terms and utilities:

  • ps, top, free
  • systemctl (start, stop, status)
  • journalctl, dmesg
  • /etc/
  • /var/log/
  • /proc/


4.4 Network Configuration (weight: 2)

Weight

2

Description

Candidates should understand the principles of IP networks, including the Internet, IPv4 and IPv6 addresses, routing and name resolution. Candidates should be able to query the network configuration of a Linux system and have a fundamental understanding of automatic network configuration, as well as basic network troubleshooting competencies.

Key Knowledge Areas:

  • Internet, network, routers
  • Querying DNS client configuration
  • Querying network configuration
  • Automatic network configuration

The following is a partial list of the used files, terms and utilities:

  • ip route show, ip -6 route show
  • ip addr show
  • ss
  • /etc/resolv.conf, /etc/hosts, resolvectl
  • IPv4, IPv6
  • DHCP, SLAAC, DHCPv6
  • ping
  • host


Topic 5: Security and File System Permissions

5.1 Remote Logins and Administrative Permissions (weight: 2)

Weight

2

Description

Candidates should be able to securely log into remote systems for accessing a Linux shell and transferring files using SSH, including using public key authentication. Furthermore, candidates should be able to elevate their privileges in order to perform administrative tasks.

Key Knowledge Areas:

  • Root and standard users
  • System users
  • Remote logins using SSH
  • SSH key generation and authentication

The following is a partial list of the used files, terms and utilities:

  • sudo, su
  • ssh, scp
  • ssh-keygen
  • ~/.ssh/authorized_keys


5.2 User and Group Management (weight: 2)

Weight

2

Description

Candidates should understand the concepts of users and groups in Linux. This includes creating users, changing passwords and querying information about users accounts and user sessions. Furthermore, candidates should understand the files that contain the Linux user database.

Key Knowledge Areas:

  • User and group commands
  • User IDs

The following is a partial list of the used files, terms and utilities:

  • /etc/passwd, /etc/shadow, /etc/group, /etc/skel/
  • id, last, who, w
  • useradd, groupadd
  • passwd


5.3 File System Permissions and Ownership (weight: 2)

Weight

2

Description

Candidates should understand ownership and permissions in the Linux file system. This includes querying, interpreting and changing ownership and permissions for files and directories.

Key Knowledge Areas:

  • File and directory permissions and ownership

The following is a partial list of the used files, terms and utilities:

  • ls -l, ls -a
  • chmod, chown


5.4 Special Directories and Files (weight: 1)

Weight

1

Description

Candidates should understand the special properties of temporary directories and symbolic links. This includes the creation, listing and deletion of symbolic links.

Key Knowledge Areas:

  • Using temporary files and directories
  • Symbolic links

The following is a partial list of the used files, terms and utilities:

  • /tmp/, /var/tmp/ and Sticky Bit
  • ls -d
  • ln -s