LICM study materials
LICM study resources

LICM flashcards

LICM · Build recall with a focused review session.

33 cards. Read the term and the definition here. The deck at the top of this page is optional.

Linux kernel license
The Linux kernel is released under the GNU General Public License version 2, which is a copyleft license requiring derivative works to be distributed under the same terms.
Free software four freedoms
Run the program for any purpose, study and modify its source, redistribute copies, and distribute modified versions. These freedoms define free software per the Free Software Foundation.
Copyleft vs permissive licenses
Copyleft licenses such as GPLv3 require derivatives to keep the same license. Permissive licenses such as MIT, BSD, and Apache 2.0 allow proprietary redistribution with minimal conditions.
Debian vs Red Hat packaging
Debian-family systems use dpkg and apt with .deb packages. Red Hat-family systems use rpm with dnf or yum and .rpm packages. Both resolve dependencies from configured repositories.
Purpose of a distribution
A distribution combines the Linux kernel with userland tools, a package manager, an installer, and default configuration, producing a complete usable operating system such as Ubuntu or Fedora.
What /etc contains
/etc holds host-specific system configuration files, such as /etc/passwd for accounts, /etc/fstab for mounts, and /etc/hosts for static name resolution. It contains no binaries.
What /var contains
/var stores variable data that changes during operation, including logs in /var/log, mail spools, print queues, databases, and web content in /var/www.
Absolute vs relative path
An absolute path starts at the root directory with a leading slash, such as /usr/bin. A relative path is interpreted from the current working directory, using . and .. components.
cd - behavior
The command cd - switches to the previous working directory and prints its path. Running cd with no argument changes to the current user's home directory instead.
Hard link vs symbolic link
A hard link is another name for the same inode and cannot span filesystems or point to a directory. A symbolic link stores a path to its target and breaks if removed.
locate vs find
find traverses the filesystem live and matches by name, type, size, or time. locate queries a prebuilt database refreshed by updatedb, so results may be stale but arrive quickly.
Man page sections
Manual pages are divided into numbered sections: 1 for user commands, 5 for file formats, and 8 for administrative commands. man -k searches descriptions by keyword.
tail -f use case
tail -f prints the last lines of a file and keeps the file open, displaying new lines as they are appended. It is commonly used to watch log files in real time.
Output redirection operators
The > operator truncates and writes standard output to a file, >> appends, 2> redirects standard error, and < feeds a file to standard input.
Pipe operator meaning
The vertical bar connects the standard output of the left command to the standard input of the right command, allowing small tools to be chained into data-processing pipelines.
Exit status and $?
Every command returns an exit status; zero indicates success and non-zero indicates failure. The shell variable $? holds the status of the most recently completed command.
sed substitution syntax
sed 's/old/new/g' replaces every occurrence of old with new on each line. Without the g flag only the first match per line is replaced.
awk field processing
awk splits each input line into fields accessible as $1, $2, and so on, with $0 the whole line. The -F option sets the field separator, such as -F: for colon.
Shell globbing characters
The asterisk matches any string, the question mark matches exactly one character, square brackets define a character class, and braces expand alternatives such as file{a,b}.
Octal permission values
Read equals 4, write equals 2, and execute equals 1. The digits are summed per class, so rwxr-xr-- becomes 754 and rw-r--r-- becomes 644.
tar create and extract
tar -cvf archive.tar files creates a verbose archive. tar -xvf archive.tar extracts it. Adding z, j, or J compresses with gzip, bzip2, or xz respectively.
PID 1 role
The first process started by the kernel has PID 1 and is responsible for starting and supervising all other user-space processes. On most modern distributions PID 1 is systemd.
systemd target equivalents
Targets group units for a system state. multi-user.target corresponds roughly to runlevel 3 with networking but no GUI, while graphical.target corresponds to runlevel 5 with a display manager.
journalctl basic usage
journalctl reads the systemd journal. Use journalctl -u unit to filter by service, -b for the current boot, -f to follow new entries, and -p to filter by priority.
Linux block device names
/dev/sda names the first SCSI or SATA disk, with /dev/sda1 its first partition. NVMe devices appear as /dev/nvme0n1 with partitions such as /dev/nvme0n1p1.
/etc/fstab purpose
The fstab file lists filesystems to mount at boot, each line giving a device, UUID, or label, the mount point, filesystem type, options, and dump and fsck order.
apt update vs apt upgrade
apt update refreshes the local package index from configured repositories. apt upgrade installs newer versions of already-installed packages but does not remove packages or add new ones.
Initramfs function
The initial RAM filesystem is a temporary root filesystem loaded with the kernel. It supplies drivers and tools needed to locate and mount the real root filesystem during boot.
Setuid bit effect
When set on an executable, the setuid bit makes the program run with the permissions of the file's owner rather than the invoking user. It is shown as s in owner position.
Sticky bit on directories
The sticky bit on a directory restricts deletion so only the file's owner, the directory's owner, or root may remove entries. /tmp typically has mode 1777, combining it with full access.
umask calculation
The umask removes permission bits from defaults: files start at 666 and directories at 777. A umask of 022 yields 644 for files and 755 for directories.
sudo vs su
su switches to another user and requires that account's password. sudo runs a single command with elevated privileges, authorized by the invoking user's password and /etc/sudoers rules.
SSH key authentication
ssh-keygen creates a key pair. The public key is appended to ~/.ssh/authorized_keys on the server, allowing login with the private key instead of a password.