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.