450 lines
13 KiB
Markdown
450 lines
13 KiB
Markdown
# Topic 1: The Linux Community and a Career in Open Source
|
|
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=4854c0ef-49cb-40e1-b6c6-e9a8c38c0b9c)
|
|
|
|
## 1.1 Linux Evolution and Popular Operating Systems
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/1/1.1/1.1_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=b6ffeb56-2e4f-4584-8259-282bc5f1843f)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Knowledge of [Linux](https://www.kernel.org/doc/html/latest/) development and major [distributions](https://en.wikipedia.org/wiki/Linux_distribution).
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Distributions
|
|
Embedded Systems
|
|
Linux in the Cloud
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
Debian, Ubuntu (LTS)
|
|
CentOS, openSUSE, Red Hat, SUSE
|
|
Linux Mint, Scientific Linux
|
|
Raspberry Pi, Raspbian
|
|
Android
|
|
|
|
|
|
## 1.2 Major Open Source Applications
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/1/1.2/1.2_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=9efdc7de-99c2-4d5e-8675-70c57f34b70f)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Awareness of major applications as well as their uses and development.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Desktop applications
|
|
Server applications
|
|
Development languages
|
|
Package management tools and repositories
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
OpenOffice.org, LibreOffice, Thunderbird, Firefox, GIMP
|
|
Nextcloud, ownCloud
|
|
Apache HTTPD, NGINX, MariaDB, MySQL, NFS, Samba
|
|
C, Java, JavaScript, Perl, shell, Python, PHP
|
|
dpkg, apt-get, rpm, yum
|
|
|
|
|
|
## 1.3 Open Source Software and Licensing
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/1/1.3/1.3_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=ee9322d3-b49a-43d3-a257-db9f6c19c735)
|
|
|
|
**Weight:** 1
|
|
|
|
Description: Open communities and licensing Open Source Software for business.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Open source philosophy
|
|
Open source licensing
|
|
Free Software Foundation (FSF), Open Source Initiative (OSI)
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
Copyleft, Permissive
|
|
GPL, BSD, Creative Commons
|
|
Free Software, Open Source Software, FOSS, FLOSS
|
|
Open source business models
|
|
|
|
|
|
## 1.4 ICT Skills and Working in Linux
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/1/1.4/1.4_01/)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Basic Information and Communication Technology (ICT) skills and working in Linux.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Desktop skills
|
|
Getting to the command line
|
|
Industry uses of Linux, cloud computing and virtualization
|
|
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
|
|
Terminal and console
|
|
Password issues
|
|
Privacy issues and tools
|
|
Use of common open source applications in presentations and projects
|
|
|
|
# Topic 2: Finding Your Way on a Linux System
|
|
|
|
* [Debian handbook basic commands](https://debian-handbook.info/browse/stable/short-remedial-course.html#sect.shell-and-basic-commands)
|
|
|
|
## 2.1 Command Line Basics
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/2/2.1/2.1_01/)
|
|
* [LPI lesson 2](https://learning.lpi.org/en/learning-materials/010-160/2/2.1/2.1_02/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=bed83199-d8dd-489a-ab34-3c0b5589059b)
|
|
* [Ryan's tutorials commandline](https://ryanstutorials.net/linuxtutorial/commandline.php)
|
|
|
|
**Weight:** 3
|
|
|
|
Description: Basics of using the Linux command line.
|
|
|
|
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
|
|
|
|
## 2.2 Using the Command Line to Get Help
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/2/2.2/2.2_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=2ff984f9-3a6a-41f7-adaa-36147a11dbeb)
|
|
* [Ryan's tutorials manpages](https://ryanstutorials.net/linuxtutorial/manual.php)
|
|
* [Debian handbook documentation](https://debian-handbook.info/browse/stable/solving-problems.html#sect.documentation-sources)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Running help commands and navigation of the various help systems.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Man pages
|
|
Info pages
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
man
|
|
info
|
|
/usr/share/doc/
|
|
locate
|
|
|
|
|
|
## 2.3 Using Directories and Listing Files
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/2/2.3/2.3_01/)
|
|
* [LPI lesson 2](https://learning.lpi.org/en/learning-materials/010-160/2/2.3/2.3_02/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=34cc6f20-36f0-46c3-bb98-482ab5b8f824)
|
|
* [Ryan's tutorials navigation](https://ryanstutorials.net/linuxtutorial/navigation.php)
|
|
* [Ryan's tutorials aboutfiles](https://ryanstutorials.net/linuxtutorial/aboutfiles.php)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Navigation of home and system directories and listing files in various locations.
|
|
|
|
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 Creating, Moving and Deleting Files
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/2/2.4/2.4_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=80a46137-3b0c-4b68-810f-06311f6df018)
|
|
* [Ryan's tutorials filemanipulation](https://ryanstutorials.net/linuxtutorial/filemanipulation.php)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Create, move and delete files and directories under the home directory.
|
|
|
|
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: The Power of the Command Line
|
|
|
|
## 3.1 Archiving Files on the Command Line
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/3/3.1/3.1_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=abdaab05-e3c3-4f46-b5a4-57d106d8b670)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Archiving files in the user home directory.
|
|
|
|
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 Searching and Extracting Data from Files
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/3/3.2/3.2_01/)
|
|
* [LPI lesson 2](https://learning.lpi.org/en/learning-materials/010-160/3/3.2/3.2_02/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=dd1ac618-59e1-4d73-9092-58c4ab3d2379)
|
|
* [Ryan's tutorials filters](https://ryanstutorials.net/linuxtutorial/filters.php)
|
|
* [Ryan's tutorials grep](https://ryanstutorials.net/linuxtutorial/grep.php)
|
|
* [Ryan's tutorials piping](https://ryanstutorials.net/linuxtutorial/piping.php)
|
|
|
|
**Weight:** 3
|
|
|
|
Description: Search and extract data from files in the home directory.
|
|
|
|
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
|
|
cut
|
|
wc
|
|
|
|
|
|
## 3.3 Turning Commands into a Script
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/3/3.3/3.3_01/)
|
|
* [LPI lesson 2](https://learning.lpi.org/en/learning-materials/010-160/3/3.3/3.3_02/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=d241975f-00b3-4a14-bc1c-5ef92fed7ca0)
|
|
* [Ryan's tutorials scripting](https://ryanstutorials.net/linuxtutorial/scripting.php)
|
|
* [Ryan's tutorials vi](https://ryanstutorials.net/linuxtutorial/vi.php)
|
|
* [Daniel Miessler vim primer](https://danielmiessler.com/study/vim/)
|
|
* [Ryan's tutorials bash script](https://ryanstutorials.net/bash-scripting-tutorial/bash-script.php)
|
|
* [Ryan's tutorials bash variables](https://ryanstutorials.net/bash-scripting-tutorial/bash-variables.php)
|
|
* [Ryan's tutorials loops](https://ryanstutorials.net/bash-scripting-tutorial/bash-loops.php)
|
|
|
|
**Weight:** 4
|
|
|
|
Description: Turning repetitive commands into simple scripts.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Basic shell scripting
|
|
Awareness of common text editors (vi and nano)
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
```
|
|
#! (shebang)
|
|
/bin/bash
|
|
Variables
|
|
Arguments
|
|
for loops
|
|
echo
|
|
Exit status
|
|
```
|
|
|
|
# Topic 4: The Linux Operating System
|
|
|
|
## 4.1 Choosing an Operating System
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/4/4.1/4.1_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=31d82d8e-1dd3-42e8-b522-2dbd76863e47)
|
|
|
|
**Weight:** 1
|
|
|
|
Description: Knowledge of major operating systems and Linux distributions.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Differences between Windows, OS X and Linux
|
|
Distribution life cycle management
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
GUI versus command line, desktop configuration
|
|
Maintenance cycles, beta and stable
|
|
|
|
|
|
## 4.2 Understanding Computer Hardware
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/4/4.2/4.2_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=5437f9c7-3afb-414f-9908-83ae3d2afaf9)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Familiarity with the components that go into building desktop and server computers.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Hardware
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
Motherboards, processors, power supplies, optical drives, peripherals
|
|
Hard drives, solid state disks and partitions, /dev/sd\*
|
|
Drivers
|
|
|
|
|
|
## 4.3 Where Data is Stored
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/4/4.3/4.3_01/)
|
|
* [LPI lesson 2](https://learning.lpi.org/en/learning-materials/010-160/4/4.3/4.3_02/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=1e4a4910-fb24-4d1c-bda5-4ec07dd8cfb8)
|
|
* [Ryan's tutorials processes](https://ryanstutorials.net/linuxtutorial/processes.php)
|
|
* [Debian handbook filesystem hierarchy](https://debian-handbook.info/browse/stable/sect.filesystem-hierarchy.html)
|
|
|
|
**Weight:** 3
|
|
|
|
Description: Where various types of information are stored on a Linux system.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Programs and configuration
|
|
Processes
|
|
Memory addresses
|
|
System messaging
|
|
Logging
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
ps, top, free
|
|
syslog, dmesg
|
|
/etc/, /var/log/
|
|
/boot/, /proc/, /dev/, /sys/
|
|
|
|
|
|
## 4.4 Your Computer on the Network
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/4/4.4/4.4_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=c5b8d8ba-4680-4fd1-9b27-e426a230e0f7)
|
|
* [Debian handbook network config](https://debian-handbook.info/browse/stable/sect.network-config.html)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Querying vital networking configuration and determining the basic requirements for a computer on a Local Area Network (LAN).
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Internet, network, routers
|
|
Querying DNS client configuration
|
|
Querying network configuration
|
|
The following is a partial list of the used files, terms and utilities:
|
|
|
|
route, ip route show
|
|
ifconfig, ip addr show
|
|
netstat, ss
|
|
/etc/resolv.conf, /etc/hosts
|
|
IPv4, IPv6
|
|
ping
|
|
host
|
|
|
|
# Topic 5: Security and File Permissions
|
|
|
|
## 5.1 Basic Security and Identifying User Types
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/5/5.1/5.1_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=294772a4-dc99-42b7-991c-a00ac41802d6)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Various types of users on a Linux system.
|
|
|
|
Key Knowledge Areas:
|
|
|
|
Root and standard users
|
|
System users
|
|
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
|
|
|
|
|
|
## 5.2 Creating Users and Groups
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/5/5.2/5.2_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=061ecee0-6982-4f8a-bc0e-fb90237ef961)
|
|
* [Debian handbook users and groups](https://debian-handbook.info/browse/stable/sect.user-group-databases.html)
|
|
* [Debian handbook creating accounts](https://debian-handbook.info/browse/stable/sect.creating-accounts.html)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Creating users and groups on a Linux system.
|
|
|
|
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/
|
|
useradd, groupadd
|
|
passwd
|
|
|
|
|
|
## 5.3 Managing File Permissions and Ownership
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/5/5.3/5.3_01/)
|
|
* [pluralsight](https://app.pluralsight.com/course-player?clipId=050fb3e8-8fce-480a-9de0-b5d2c20003d2)
|
|
* [Ryan's tutorials permissions](https://ryanstutorials.net/linuxtutorial/permissions.php)
|
|
* [Debian handbook rights management](https://debian-handbook.info/browse/stable/sect.rights-management.html)
|
|
|
|
**Weight:** 2
|
|
|
|
Description: Understanding and manipulating file permissions and ownership settings.
|
|
|
|
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
|
|
|
|
* [LPI lesson 1](https://learning.lpi.org/en/learning-materials/010-160/5/5.4/5.4_01/)
|
|
|
|
**Weight:** 1
|
|
|
|
Description: Special directories and files on a Linux system including special permissions.
|
|
|
|
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
|