LICM key terms
LICM · Get comfortable with the vocabulary.
- GPL (GNU General Public License)
- Related: Copyleft, Open Source Initiative, Upstream
A software license that guarantees users the freedom to run, study, modify, and redistribute a program, provided derivative works are released under the same terms. It is the most common license for Linux kernel and many community projects.
- Copyleft
- Related: GPL (GNU General Public License), Open Source Initiative
A licensing principle that uses copyright law to require that modified or extended versions of a work keep the same freedoms. Unlike permissive licenses, it restricts relicensing under more closed terms.
- Open Source Initiative (OSI)
- Related: GPL (GNU General Public License), Copyleft
A non-profit organization that maintains the Open Source Definition and approves licenses that meet it. Its approval mark helps candidates and companies judge whether a license grants genuine software freedoms.
- Upstream
- Related: Fork, Patch, Maintainer
The original project and maintainers from which a distribution or fork takes its code. Contributing upstream means sending patches to that origin rather than only to a local package or vendor copy.
- Fork
- Related: Upstream, Maintainer
A copy of a project's source code that is developed independently from the original. Forks may later be merged back or may diverge permanently, and they keep their own maintainers and release cycle.
- Maintainer
- Related: Upstream, Patch
A person or small group responsible for reviewing contributions, deciding project direction, and releasing versions of a piece of software. Maintainers are usually volunteers or employees sponsored to work on the project.
- Patch
- Related: Upstream, Maintainer
A textual diff describing changes to source files, usually submitted for review and applied with tools such as git apply or patch. Patches are the standard unit of contribution in many open source projects.
- Distribution (distro)
- Related: Package Manager, Repository
A complete operating system built from the Linux kernel plus libraries, package management, installer, and curated software. Examples include Debian, Fedora, and Ubuntu, each with its own release and support policy.
- Package Manager
- Related: Repository, Distribution (distro), Dependency
A tool that installs, upgrades, and removes software packages while resolving dependencies. Examples are apt on Debian-based systems and dnf on Fedora-based systems; it tracks installed files and versions.
- Repository
- Related: Package Manager, Dependency
A curated collection of software packages plus metadata that a package manager reads to find, verify, and download software. Repositories may be local, on the internet, or on removable media.
- Dependency
- Related: Package Manager, Repository
Another package or library that a program requires in order to run or build correctly. Package managers resolve dependencies automatically so users do not have to install each required component by hand.
- Filesystem Hierarchy Standard (FHS)
- Related: Mount Point, Absolute Path
A convention describing where files should live on a Linux system, such as /etc for configuration, /var for variable data, and /usr for user programs. Distributions follow it so software behaves predictably.
- Absolute path
- Related: Relative path, Filesystem Hierarchy Standard (FHS)
A path that starts at the root directory with a leading slash, such as /etc/hosts, and therefore names the same file regardless of the current working directory. Relative paths are interpreted from the current directory instead.
- Relative path
- Related: Absolute path, pwd
A path interpreted from the current working directory rather than from the root, such as docs/readme.txt or ../bin. It is shorter to type but depends on where the shell currently is.
- pwd
- Related: Relative path, Absolute path
A shell command that prints the absolute path of the current working directory. It is often used before relative-path operations to confirm where commands will take effect.
- Mount point
- Related: Filesystem Hierarchy Standard (FHS), fstab
A directory where a filesystem is attached to the main directory tree, such as /home or /mnt/usb. After mounting, the contents of that filesystem appear under that directory.
- fstab
- Related: Mount point
The /etc/fstab file lists filesystems and their mount options so they can be mounted automatically at boot. Errors in it can prevent a system from starting normally.
- Standard input/output (stdin, stdout, stderr)
- Related: Redirection, Pipe, Exit status
Three default data streams every process inherits: stdin for input, stdout for normal output, and stderr for error messages. Shell redirection and pipes operate on these streams by number or name.
- Redirection
- Related: Standard input/output (stdin, stdout, stderr), Pipe
Shell syntax that sends a command's input or output to a file or another stream, using operators such as >, >>, <, and 2>. It changes where data flows without changing the command itself.
- Pipe
- Related: Standard input/output (stdin, stdout, stderr), grep, Redirection
The | operator that connects the stdout of one command to the stdin of the next, forming a processing chain. Pipes let small single-purpose tools be combined to solve larger tasks.
- grep
- Related: Regular expression, Pipe
A command that searches input line by line for text matching a pattern, often a regular expression, and prints matching lines. Options such as -i, -r, and -v adjust case, recursion, and inversion.
- Regular expression
- Related: grep, sed
A pattern language for describing text, using anchors, character classes, quantifiers, and groups. Tools such as grep, sed, and awk use it to match and transform content.
- sed
- Related: Regular expression, awk, Pipe
A stream editor that applies scripted text transformations, such as substitution with s/old/new/, to input line by line. It is commonly used in pipelines and shell scripts for automated editing.
- awk
- Related: sed, Pipe
A text-processing language and command that works on records and fields, making it easy to filter and reformat tabular data. It supports variables, conditions, and arithmetic inside programs.
- Exit status
- Related: Standard input/output (stdin, stdout, stderr), Shell script
A numeric value a process returns to its parent when it finishes; zero conventionally means success and non-zero means failure. Shells expose the last value through $? and use it in conditional logic.
- Shell script
- Related: Exit status, Environment variable
A text file of shell commands, usually starting with a shebang line naming the interpreter, made executable to run as a program. Scripts automate repetitive tasks and can accept arguments and use variables.
- Environment variable
- Related: Shell script, PATH
A named value stored in a process's environment and inherited by child processes, such as PATH or HOME. Programs read them to adjust behavior without changing their code.
- Kernel
- Related: System call, Distribution (distro), Loadable kernel module
The core program that manages CPU scheduling, memory, devices, and system calls, mediating between hardware and user programs. Linux strictly refers to this component, while a distribution adds everything else.
- System call
- Related: Kernel, Process
A controlled entry point through which user programs ask the kernel to perform privileged operations such as reading files or creating processes. Libraries usually wrap them in friendlier functions.
- Process
- Related: System call, Signal, PID
A running instance of a program with its own memory space, identifiers, and state. The kernel schedules processes and tracks them with a PID, parent PID, and priority.
- PID
- Related: Process, Signal
The process identifier, a number the kernel assigns to each running process. Tools such as ps and kill use it to inspect or signal a specific process.
- Signal
- Related: Process, PID
An asynchronous notification the kernel delivers to a process, such as SIGTERM asking it to terminate or SIGKILL forcing it to stop. Programs may catch some signals and define their own handling.
- Loadable kernel module
- Related: Kernel
Code that can be inserted into or removed from a running kernel to add device drivers or features without rebooting. Tools such as lsmod, modprobe, and rmmod manage them.
- systemd unit
- Related: journald, Process
A configuration file describing something systemd manages, such as a service, socket, timer, or mount. Units declare dependencies and are started, stopped, and enabled with systemctl.
- journald
- Related: systemd unit
The systemd component that collects and stores log messages from the kernel, services, and applications in a structured binary journal. It is queried with journalctl and can forward logs to other systems.
- File permission bits
- Related: chmod, umask, SUID bit
The read, write, and execute settings assigned separately to a file's owner, group, and others. They are shown by ls -l and changed with chmod using symbolic or octal notation.
- chmod
- Related: File permission bits, umask, SUID bit
A command that changes a file's permission bits, either symbolically (u+x) or numerically (755). Only the owner or a privileged user may normally change permissions on a file.
- umask
- Related: File permission bits, chmod
A value that masks permission bits when new files and directories are created, subtracting rights from a default. A umask of 022 typically yields 644 for files and 755 for directories.
- SUID bit
- Related: File permission bits, chmod
A special permission that makes a program run with the file owner's user ID rather than the caller's. It is powerful and risky, so it is limited to carefully written programs such as passwd.
- sudo
- Related: root, File permission bits
A program that lets permitted users run commands as another user, usually root, after authentication. Its rules live in /etc/sudoers, and it is preferred over sharing the root password.
- root
- Related: sudo, File permission bits
The superuser account with user ID 0, able to bypass ordinary permission checks and change any part of the system. Routine work should avoid it because mistakes have system-wide effect.