github
Unix Magic Poster
7
8
5
2
4
3
1
6

1 su

Command to switch your identity

The su command (short for “substitute user” or “switch user”) is used to start a shell under a different user account. Typically, one of the most common uses of su is switching to the superuser (root) account to gain administrative privileges.

🔝

2 man

Command to get detailed documentation of different unix components, including other cmds.

The man(1) command (short for manual) is used to display online reference manuals (man pages) for commands, system calls, configuration files, and other aspects of the system. man provides detailed documentation on how to use a command, including its options, usage examples, related files, and other pertinent details.

🔝

3 Pipes

Connect cmd outputs to cmd inputs to create complex pipelines

Pipes are a foundational feature in Unix that enable you to combine simple utilities into more powerful workflows. By passing data from one command’s output to another command’s input, pipes allow you to quickly create flexible, efficient, and maintainable solutions directly at the command line. They are denoted in the shell by the vertical bar character (|).

🔝

4 Memory leaks

Improper managing of memory by a computer program

A memory leak occurs when a computer program improperly manages memory allocation, failing to release memory that’s no longer needed. Over time, these un-freed allocations accumulate, reducing the amount of available memory for other processes and potentially leading to slowdowns or crashes.

🔝

5 Legendary figures

Legendary figures in Unix history

In the context of Unix history these three sets of initials refer to legendary figures in the creation and development of Unix:

dmr: Dennis M. Ritchie, co-creator of Unix and creator of the C programming language.

kt: Ken Thompson (often just “ken” in historical Unix references), co-creator of Unix alongside Ritchie.

bwk: Brian W. Kernighan, co-author of several influential Unix programs and books (including “The C Programming Language” and “The UNIX Programming Environment”).

🔝

6 The c programming language

A key programming language in the creation of Unix

C is deeply intertwined with the history and development of the Unix operating system. Created by Dennis M. Ritchie at Bell Labs in the early 1970s, C was used to rewrite Unix from low-level assembly into a higher-level language. This shift made Unix significantly more portable across different hardware platforms, fueling its rapid adoption in academia and industry. Over time, C evolved into one of the most influential and widely used programming languages in history.

🔝

7 Backpressure

Tell producers to stop sending data because the consumer cannot keep up

When two processes communicate over a pipe, the process sending data is the producer, and the process receiving data is the consumer. The OS maintains a buffer to temporarily store data if the producer sends data faster than the consumer can process it. However, if the buffer becomes full, the OS will block the producer until space is available.

Was that the intention of the artist? You decide—is the wheel in the pipes a clever reference to UNIX back pressure, or is that a stretch?

🔝

8 Daemons

Service processes that run in the background and supervise the system or provide functionality to other processes

Daemons are programs that run in the background and are often started at system boot time. They respond to network requests, hardware activity, or other programs by performing some task. Daemons such as cron may also perform defined tasks at scheduled times.

The term was coined by the programmers at MIT’s Project MAC. It is inspired by Maxwell’s demon and greek mythology, acting as a metaphor for a supernatural being working in the background.

🔝