openskills.info
Course Preview

Unix Fundamentals

Unix is a family of operating systems built around a small set of principles: everything is a file, programs do one thing well and compose through text streams, and the shell is the user interface to a tree of processes. Linux, macOS, and BSDs all descend from this lineage.

itOperating systems

Don't Panic: Unix Fundamentals

Unix is a family resemblance, not a single boxed product. The shared habit is to treat a computer as a place where small programs do narrow jobs and pass useful bytes to one another. It has survived impressively well, partly because it avoids asking every program to know everything, and partly because computers enjoy making that alternative everyone else's problem.

The central character is the process, a running program with an identity, a current working directory, an environment, and some open channels. Those channels are file descriptors, numbered handles for input and output. Zero normally reads input. One normally carries results. Two normally carries complaints. This numbering looks like a filing system designed by somebody who had misplaced the labels, but it lets unrelated programs cooperate without agreeing on much else.

The shell is the switchboard. It reads command text, decides which words and operators mean what, starts programs, and collects their exit status. A pipe sends one program's ordinary output to the next program's ordinary input. Redirection changes where a channel goes. That is the trick behind a surprising amount of Unix work: do one thing, pass the result along, and keep error messages out of the data stream so the next tool does not mistake a complaint for a record.

The filesystem supplies the map. A pathname beginning with slash starts from the root. A relative one starts from the current directory. Directories map names to objects, while regular files hold bytes and symbolic links name another path. The small surprise is that a directory is not a folder-shaped regular file. Its permissions control listing names, creating names, and moving through it during lookup. That distinction explains several moments when a path appears to exist but remains unusable.

Then there is POSIX, the shared floor rather than a universal ceiling. It describes portable shell, utility, and interface behavior. Bash, GNU tools, Linux, BSD systems, and macOS add their own details. So a command is a contract to check locally, not a spell that works everywhere because it worked once on a laptop.

Read the intro for the complete map of processes, files, permissions, and signals. Use the slides when the wiring needs a picture. Keep the cheatsheet nearby for descriptors, quoting, operators, and portability anchors. The practice reference turns those pieces into visible files and streams. After that, local manuals are where the pleasant theory meets the machine actually in front of you.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources