01 / UNIX
Philosophy
UNIX was designed around a small set of powerful ideas: keep programs simple, make each program
do one thing well, and provide standard interfaces that allow those programs to work together.
Files, processes, streams and devices are exposed through consistent interfaces, allowing
administrators and developers to compose complex operations from relatively small tools. This
philosophy is one of the foundations of modern Unix-like operating systems, including Linux,
FreeBSD and macOS.
02 / UNIX
History
UNIX has a rich history that spans several decades. It was originally developed in the late 1960s
and early 1970s at Bell Labs by Ken Thompson and Dennis Ritchie. The system was designed to be
portable, efficient, and easy to use, which made it popular among researchers and developers.
03 / UNIX
Processes
A process is a running instance of a program together with its own execution state, memory
mappings, file descriptors and associated resources. Unix-like systems create processes through
mechanisms such as `fork()` and `exec()`, allowing one process to create another and then load a
different executable. Processes have unique process IDs (PIDs), parent-child relationships and
defined states, and administrators can inspect and control them using tools such as `ps`, `top`,
`kill` and `wait`.
04 / UNIX
Filesystems
Unix-like operating systems present storage through a hierarchical filesystem beginning at the
root directory, /. Directories contain names that reference files, directories and other
filesystem objects, while devices and other resources can also be exposed through the filesystem
namespace. Filesystems can be mounted at arbitrary directory locations, allowing separate disks,
partitions, network filesystems and virtual filesystems to appear as part of one unified
directory tree.
05 / UNIX
Permissions
Unix filesystem permissions control access to objects through three primary classes: the owner,
the group and everyone else. Each class can have read, write and execute permissions,
traditionally represented by the familiar rwx notation. Ownership and permissions can be managed
with commands such as chown, chgrp and chmod, while mechanisms including setuid, setgid and the
sticky bit provide additional control over how files and directories are accessed and executed.
06 / UNIX
Shell
The shell is both a command interpreter and a programming environment through which users
interact with a Unix-like operating system. It locates and executes programs, expands variables
and wildcards, redirects input and output, connects commands with pipelines and provides
scripting capabilities. Common shells include sh, bash, ksh, zsh and fish, with POSIX shell
conventions forming the foundation for many portable Unix administration scripts.
07 / UNIX
Pipes & Filters
Unix pipelines allow the standard output of one program to become the standard input of another.
This simple mechanism makes it possible to combine small utilities into larger processing
workflows without requiring every tool to understand the others. Commands such as grep, sort,
awk, sed, cut, head and tail act as filters, transforming or selecting data as it passes through
a pipeline. This compositional model remains one of the defining characteristics of Unix
administration.
08 / UNIX
cron
cron is a Unix scheduling mechanism used to execute commands and scripts automatically at
specified times or intervals. Scheduled jobs are defined using crontab entries containing five
time fields representing minute, hour, day of month, month and day of week, followed by the
command to execute. Cron is commonly used for recurring maintenance tasks such as backups, log
processing, report generation and system housekeeping, while modern Linux distributions may also
use systemd timers for scheduled workloads.