1/81
Looks like no tags are added yet.
UNIX Creation Year & Origin
1969 - Created by AT&T Bell Telephone Laboratories.
Unix-like Definition
Operating systems introduced in the 1970s/80s characterized by the absence of proprietary UNIX source code.
Linux Origin & Creator
Created and trademarked in 1991 by Linus Torvalds as a Free Open-Source (FOS) Operating System.
*NIX / nix Meaning
A collective shorthand term used to refer to all UNIX, Unix-like, and Linux operating systems.
UNIX / Unix OS Examples
Mac OS (Apple), Solaris (Sun, later Oracle), AIX (IBM), HP-UX (HP), and BSD (Berkeley).
Department of the Air Force (DAF) Unix Systems
Theater Battle Management Core Systems (TBMCS) and Global Command and Control Systems (GCCS).
Linux Distro Examples
RedHat (CentOS), Debian (Ubuntu, Kali), SUSE, and Arch.
Core Linux OS Basics / Services
Runs programs and applications, provides a User Interface (UI), handles Input/Output (I/O) operations, and handles filesystem manipulation and management.
Linux Characteristic: Flexibility
Many ways to accomplish a task using various commands and options.
Linux Characteristic: Multitasking
Can perform multiple tasks in parallel.
Linux Characteristic: Multi-User
Not limited to a single user log-on session.
Linux Characteristic: Portable
Runs on many different types of hardware.
Linux Characteristic: Case Sensitivity
Unlike Windows, letter casing matters (e.g., Downloads vs. downloads are distinct).
Linux User Interface (UI) Definition
Known as the SHELL; the mechanism through which a user interacts with the Operating System (originally CLI only; modern Linux also offers GUI).
Linux Kernel Definition & Interaction Path
The core of the Operating System that interacts between Software (shell) and physical Hardware (User
Linux Shell Core Functions
Acts as a command interpreter (translates user commands into SYSCALLS to the Kernel), performs I/O redirection, manages the environment, and performs variable and filename substitution.
Bourne Shell (sh)
A rewrite of the original UNIX shell.
Bourne Again Shell (bash)
An upgrade to the original Bourne Shell (sh); common default Linux shell.
Z Shell (zsh)
An upgrade to Bash that is modern and theme-able.
C Shell (csh)
A shell with syntax similar to the C programming language.
Korn Shell (ksh)
A shell combining features from Bash and C Shell.
Almquist Shell (ash)
A lightweight shell used primarily in limited-resource environments.
Linux Kernel Core Functions
Manages Processes (creation, scheduling, termination), manages Memory (allocation, deallocation), manages the Filesystem, and manages System I/O and Error Handling.
Linux Boot Process (Overview of 5 Steps in Order)
1. BIOS / UEFI -> 2. Bootloader -> 3. Linux Kernel -> 4. Init Process -> 5. Operating Mode.
Boot Step 1: BIOS vs. UEFI
BIOS (Basic Input/Output System) is legacy firmware; UEFI (Unified Extensible Firmware Interface) is modern firmware. Both run POST and initial hardware setup.
Power-On Self-Test (POST)
Hardware integrity test executed by BIOS/UEFI during initial power-on.
Master Boot Record (MBR)
The 1st sector of a bootable disk (512 bytes) where BIOS finds and executes the bootloader.
Bootloader Definition
Software that loads an operating system into RAM and runs it.
GRUB (Full Name & Purpose)
Grand Unified Bootloader; common Linux bootloader responsible for loading the kernel.
GRUB Stage 1
Found on the Master Boot Record (MBR); its primary goal is to locate and load Stage 2.
GRUB Stage 2 Functions
Presents the kernel selection menu, loads the Initial RAM Disk (initrd) into memory to build the root filesystem framework, and loads the Kernel into memory.
Initial RAM Disk (initrd)
A temporary filesystem loaded into memory by GRUB Stage 2 to build the framework for mounting the real root filesystem.
Boot Step 3: Linux Kernel Actions
Initializes and configures memory and hardware, loads necessary drivers and modules, mounts the root filesystem, and executes the Init process (/sbin/init).
Boot Step 4: Init Process (/sbin/init)
The first program launched by the Kernel (usually PID 1); starts and manages all system services.
SysV (System V) Init
Legacy init system (/sbin/init) that manages startup services using startup scripts known as Run Levels.
SystemD Init
Modern init system (/sbin/systemd) that manages startup services using units known as Targets (in modern systems, /sbin/init points to systemd).
Boot Step 5: Operating Mode Overview
The Init process selects one of 7 total operating modes/configurations before presenting the "User Logon" prompt (boot complete).
Operating Mode: Single-User
Mode with limited services intended for system recovery and troubleshooting.
Operating Mode: Full Multi-User
Standard operational mode with networking and full system services running (text-based CLI).
Operating Mode: X11
Full multi-user mode with Graphical User Interface (GUI) support enabled.
Loadable Kernel Modules (LKM)
Code modules that add or remove functionality to/from the kernel dynamically while the system is up and running (e.g., device drivers, filesystem, network protocols).
Device Drivers in Linux
Software that allows software to communicate with hardware and peripheral devices. Most are LKMs (some built into kernel); all device control operations are performed by a driver.
Absolute Path
The complete path specified from the root directory (/) to a file or folder (e.g., /home/student/file.txt).
Relative Path
A path specified based on the current/present working directory.
Current Working Directory (CWD)
The directory a user is currently working inside.
Parent Directory
The directory one level above the current/referenced directory (represented by ..).
Child Directory (Subdirectory)
A directory located one level below the current/referenced directory.
Root Directory ( / ) vs. Root Home ( /root )
/ is the top of the entire directory tree; /root is the personal home directory of the root superuser.
Root User Definition
The superuser account with total administrative control of the system.
Home Directory ( /home ) & Tilde ( ~ )
Standard directory holding user account folders (/home/username); the tilde symbol (~) references the current user's home directory.
Linux Binary Files & $PATH
Files containing compiled executable code (most commands are binaries). The $PATH variable lists directories searched by the shell to find commands.
Standard User Binary Directories
/bin, /usr/bin, /usr/local/bin (contain executables accessible to standard users).
Superuser / System Binary Directories
/sbin, /usr/sbin, /usr/local/sbin (contain essential administrative executables for superusers).
/boot Directory Purpose
Contains boot files such as the bootloader (GRUB) and the Linux kernel.
/etc Directory Purpose
Contains system-wide configuration files.
/dev Directory Purpose
Contains device files or special files representing attached physical and virtual devices.
/lib Directory Purpose
Stores all essential shared standard libraries needed by the system and binaries.
/mnt Directory Purpose
Intended to be used as a temporary mount point for storage devices or filesystems.
/opt Directory Purpose
Reserved for add-on packages and third-party software.
/var Directory Purpose
Stores system-generated variable files such as logs, cache, and print/mail spools.
/usr Directory Purpose
Contains system-wide read-only files, user utilities, libraries, and documentation.
/tmp Directory Purpose
Stores temporary files created by applications and users.
/proc Virtual Filesystem Characteristics
A virtual filesystem that lives only in RAM memory; created on bootup, removed on shutdown, requires root permissions for most tasks, and reports kernel/system status.
Key /proc Informational Files
/proc/cpuinfo (CPU/arch), /proc/meminfo (memory/swap), /proc/cmdline (kernel start options), /proc/filesystems (supported filesystems), /proc/modules (active LKMs), /proc/mounts (mounted devices), /proc/uptime (up:idle time), /proc/net (network info), /proc/version (kernel/Linux version).
/proc/PID Directory Lifecycle
Named after a running Process ID (PID); created when the process launches and automatically disappears as soon as that process terminates.
Files inside /proc/PID
cmdline (command/args that invoked process), environ (environment variables), cwd (link to working directory), exe (link to executable binary), stat (process status info), fd (folder containing file descriptors like STDIN, STDOUT, STDERR).
Linux Filename Conventions & Special Characters
Letters, numbers, and certain punctuation are allowed. Avoid characters with shell meaning: ? , ( ) | { } [ ] ~ ` . Special characters and spaces must be escaped with a backslash (\) or quoted (" " or ' ').
User vs. Root Privileges & 'su'
Standard users can affect files with appropriate permissions; root has all privileges and can switch to any user with the 'su' command without entering a password.
File Permissions: Read, Write, Execute
Read (r): required to read/copy a file. Write (w): required to alter file contents. Execute (x): required to run the file as a program.
Directory Permissions: Read, Write, Execute
Read (r): required to see/list inside ('ls' fails without it). Write (w): required to add/remove files or subdirectories (ONLY works if Execute is also set). Execute (x): required to 'cd' into the directory.
Permission Mode Categories & Triad Order
User (owner), Group (owning group), Others (everyone else). Represented in triplets: rwx rwx rwx.
Octal Permission Values (0 to 7)
0=--- (000), 1=--x (001), 2=-w- (010), 3=-wx (011), 4=r-- (100), 5=r-x (101), 6=rw- (110), 7=rwx (111).
/etc/passwd Purpose & 7 Fields in Order
Stores user accounts: 1. Username, 2. Password placeholder ('x'), 3. User ID (UID), 4. Group ID (GID), 5. Note / Display Name (GECOS), 6. Home Directory path, 7. Primary Login Shell.
/etc/group Purpose & 4 Fields in Order
Stores supplementary group information: 1. Group Name, 2. Password placeholder ('x'), 3. Group ID (GID), 4. Users in group (comma-separated member list).
/etc/shadow Purpose & Field 1 and 2 Structure
Stores secure user password data. Field 1: Username. Field 2 has 3 subfields: Subfield 1 = Hash method ID (6 = SHA-512), Subfield 2 = Password salt, Subfield 3 = Hashed password.
/etc/shadow Fields 3 through 8
Stores password aging metadata (last password change date, min/max days between changes, warning period, inactivity, expiration).
Android OS Definition & Origins
An Open-Source Operating System based on the Linux kernel. Developed in 2003 by Android Inc. (founded by an ex-Apple engineer who also created Danger/Sidekick).
Android Acquisition & Open Handset Alliance (OHA)
Acquired by Google in 2005. Maintained since 2007 by the Open Handset Alliance (OHA, led by Google). First version released in 2008.
Android Purpose & Ecosystem
Freely available for manufacturers to adapt and customize; runs on phones, tablets, TVs, automotive systems, and wearables; backed by the Google Play Store application ecosystem.
Android Hardware Design & Processor Choice
Designed to run primarily on ARM-based processors to optimize power efficiency in mobile devices.
Android Layered Architecture (3 Layers)
1. Operating System (Linux Kernel base) -> 2. Middleware for Managing Functions -> 3. User Interface for user interaction.
Android Device Startup Behavior
When powered on, Android boots the essential services and launches the User Interface.