ITN 170
Fall 2024
Final Exam Study Guide
Linux History and OS Fundamentals (Module 1)
● Open Source software
● Creator of Linux
● UNIX
● Operating Systems
● Hardware vs Software
● Memory
● Storage
● Hard Drives
● Kernel
● Server
○ Examples of different types of servers
● GNU
● Distributions
○ Examples of Linux distributions
● GUI
● Package Manager
● IP Address
Linux Installation (Module 2, 5 & 6)
● Virtualization
○ Virtual Machine
○ Hypervisor
○ Host
○ Guest
○ KVM
○ Thick vs Thin provisioning
● Bare Metal
● ISO
● BIOS
● SCSI
● RAID
○ Fault Tolerance
○ Parity
○ Difference between RAID levels
● ZFS, BTFS
● Partitions
● Logical Drives
● Logical Volume Manager
● Swap memory
● Terminal
● Shell
● BASH
● Using Devices
○ Device Files
○ Mounting Devices
■ Know the commands associated with this (fuser, mount, lsblk)
○ /dev directory
○ fuser command
● Disk space commands
○ df ○ du
Linux Filesystem and Permissions (Modules 3 & 4)
● Directory structure
○ Subdirectories, Root Directory, Home directory
● Absolute vs Relative pathnames
● Commands, Options and Arguments
○ Examples of each
● Navigation Commands
○ ls
○ cd ○ pwd ○ ../ ○.
● Directory Commands
○ mkdir, rmdir, cp -r
● File commands
○ cp, mv, touch
● File display commands
○ cat, more, head, tail
● man command
● Permissions
○ User
○ Group
○ Other
○ Read, Write, Execute
● chmod
○ Examples of each
○ Shorthand (e.g chmod 777, chmod 641)
● Links
○ Soft Links vs Hard Links
○ ln
Text Operations & Bash Scripting (Module 7)
● Text operations
○ grep command
■ egrep
○ awk
○ cut
○ wc
○ uniq
○ Sort
● Pipe operator and chaining commands
● Bash Script Creation
○ Creating a script
○ Granting execute permissions
○ Running a script
● Variables
● Environment Variables
● Bash Scripting
○ Comments
○ Input (Read)
○ If statements
○ Else statements ○ &&
○ ||
○ Conditionals
■ -eq, -gt, -lt, !=, = ● Version Control and Git
○ Git commands
■
Git init
Git add
command
Git commit
Git status
○ Working Directory
○ Staging Area
○ Repository
Processes, Daemons and Logging (Modules 8, 9, and 10)
● Processes
○ Process ID
○ Parent Process ID
● Daemons
○ init
○ systemd initiliazation process
○ systemctl
● ps command
○ Options for ps
● Terminating processes ○ kill
○ pkill
○ killall
● top command
● Background processes
○ Why would you want to run a process in the background?
○ jobs command
○ Background job ID
○ fg command
● Cron
○ What is cron used for?
○ Cron syntax (scheduling a job)
○ crontab
■ Options for crontab
● Logging
○ Why are logs important?
○ /var/log directory
○ Rotating logs
○ Rsyslog configuration
■ Priority ■ Facility
Linux Users (Module 2 and 10)
● User related commands ○ whoami
○ who
○ Finger ○ su
● User identifier (UID)
● Group identifier (GID)
● Administering users
○ useradd ○ usermod ○ passwd ○ userdel
● Administering groups ○ groupadd
■ -g option ○ groupmod
○ groupdel
● Password Files
○ /etc/passwd
○ /etc/shadow
● File ownership
○ chown ○ chgrp
Compression and Package Managers (Module 11)
● Compression
○ What is it? Why is it important?
○ Examples of compress command on Linux
■ compress, gzip, bzip2, zip, tar
● wget command
● curl command
● Package Managers
○ What are they used for?
○ Software mirrors
○ Debian Package Manager
○ Redhat Package Manager
○ Interfaces
yum
apt
■
What is the difference between these two?
● yum commands
○ yum install
○ yum remove
○ yum info
Networking and Network Services (Modules 12 and 13)
● IP Address
○ IPv4 vs IPv6
○ Network ID
○ Host ID
● Subnet Mask
● ifconfig command
○ How to find IPv4, IPv6, and Subnet Mask
○ How to set an IP Address
○ Network Interfaces
■ lshw command
● Traceroute command
● Ping command
● Telnet vs SSH
● Encryption Keys
● DHCP
● DNS
● Types of Network Services that can be installed on LInux
○ Web Servers, Database Servers, NFS Servers, FTP Servers
○ Know what these are, do not need to know the specific commands and steps
to
install them
● Containers
○ What is Docker? ● Continuous Deployment
○ What is it? Why is it used?