Essential Linux Fundamentals: GNU, GPL, Distributions, Filesystem, RAID & More
This article provides a concise overview of core Linux concepts, covering the GNU project and GPL license, common distributions, swap partitions, GRUB bootloader, buffer vs cache, TCP three-way handshake, filesystem hierarchy, hard and symbolic links, and an introduction to RAID levels and their characteristics.
GNU Project and GPL License
The GNU Project, launched by Richard Stallman in 1983, aims to create a completely free operating system; the GPL (GNU General Public License) ensures that software can be freely used, copied, studied, modified, and redistributed, while requiring source code distribution.
Linux Distributions
A typical Linux distribution combines the Linux kernel with GNU libraries and tools, a command‑line shell, the X Window System and a desktop environment such as KDE or GNOME, plus thousands of applications ranging from office suites to compilers and scientific tools.
Major distributions include Red Hat Enterprise Linux, CentOS, SUSE, Ubuntu, Debian, Fedora and Gentoo.
Unix and Linux Relationship
Linux is a Unix‑like operating system that supports multiple users, multitasking, multithreading, and various CPU architectures, inheriting Unix’s network‑centric design for stable multi‑user network services.
Swap Partition
Swap provides virtual memory by using disk space when physical RAM is insufficient; it should be at least as large as the RAM, not smaller than 64 MiB, and typically no more than twice the RAM size.
GRUB Bootloader
GRUB (GRand Unified Bootloader) is a GNU‑origin boot manager that can load multiple operating systems, select kernels, and pass boot parameters such as entering single‑user mode.
Buffer vs Cache
Cache is a fast, small storage between CPU and RAM that speeds up data access by holding frequently used data; larger caches improve CPU performance. Buffer temporarily stores data destined for disk I/O, accelerating disk reads and writes. Buffers hold data to be written, while caches hold data read from disk.
TCP Three‑Way Handshake
Client sends a SYN packet and waits for a response.
Server replies with SYN‑ACK (incremented sequence) and its ACK.
Client acknowledges with an ACK, establishing the TCP connection.
Linux Filesystem Hierarchy
The Linux filesystem is a single‑rooted tree where “/” is the top directory. Key directories include:
/ – root of the hierarchy.
/boot – kernel and bootloader files (e.g., GRUB).
/bin – essential user commands.
/sbin – system administration commands (root only).
/etc – system configuration files.
/dev – device nodes.
/var – variable data such as logs and mail.
/home – users’ home directories.
/opt – third‑party software.
/lib – shared libraries and kernel modules.
Hard and Symbolic Links
Hard links point to the same inode, allowing multiple filenames for a single file; they cannot link directories or cross filesystems. Symbolic (soft) links store a pathname and can reference files or directories across filesystems.
Examples:
ln source new-link # hard link ln -s source new-link # symbolic linkRAID Overview
RAID (Redundant Array of Independent Disks) combines multiple disks into a logical unit for improved performance, redundancy, or both. Common levels:
RAID 0 – striping for speed, no redundancy; failure of any disk loses all data.
RAID 1 – mirroring for redundancy; read performance improves, write slower; supports hot‑swap.
RAID 0+1 (RAID 10) – striping plus mirroring; requires at least four disks, tolerates a single disk failure per mirrored pair.
RAID 5 – block-level striping with distributed parity; needs minimum three disks, offers a balance of performance, storage efficiency, and fault tolerance.
Original source: http://7424593.blog.51cto.com/7414593/1744358
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
