These 5 Unix ideas from the 1970s are why Linux still works so well


While people think of Linux as a modern operating system, it embodies ideas that are more than 50 years old. Here are some of the oldest ideas and why they stick around in modern Linux distros.

Directory structure

The tree of files

You might not think too hard about the directory structure, but this was one of the things that astounded computer scientists when the paper, “The Unix Time-Sharing System,” was published in the computer science journal Communications of the ACM in 1974. The file system was hierarchical, which was a groundbreaking concept at the time, even though it’s routine now.

The directory structure still characterizes Unix-like systems, including Linux, today. The directories fan out from the central root or “https://www.howtogeek.com/” directory the way tree branches extend from a central trunk. Unlike in DOS or Windows, there are no drive letters. This means that a directory tree can span multiple devices, such as a physical hard drive or SSD, or a fixed drive and a USB stick, or an SSD or an optical disc. This gives the file system a lot of flexibility.

Processes

You can run different processes at the same time from the command line

Listing and sorting Linux processes by memory usage using the ps command.

One thing Unix has always had is the ability to multitask, while other systems like MS-DOS were single-tasking. The ability to multitask made things like job control possible.

You can put a job into the background, which is handy for things that you know will take a long time:

some_long_process &

That command will let you have control of your shell by putting some_long_process into the background. Otherwise, you wouldn’t be able to do anything while it ran.

If you started a process in the shell and it’s taking a long time, you can press Ctrl+z to suspend it and get your shell back. You can put the suspended process into the background with the “bg” command:

bg

Job control was originally written in an era when text-only terminals were more common. It’s become less used when windowing systems like X11 are ubiquitous, but they still come in handy when you want to make use of a terminal window.

Pipelines

Redirect input and output in ways you never thought possible

The notion of a “pipeline” might be Unix’s most enduring influence on Linux. Unix programs allow their input and output to be redirected in the shell.

A program can send its output to a file, such as the ps program listing all processes on the system:

ps aux > allprocs

And redirect input from a file, such as running a shell script:

sh > command_list.sh

But the pipeline might be the most important. It sends the output of one command to the input of another. One of my favorites is a fun one, turning the output from the fortune command into rainbow-colored text:

fortune | lolcat

You can see Brian Kernighan, one of the creators of the C language, whip up a spell checker from existing command-line programs in a Bell Labs promotional film from 1982.

Open source code in C

C is the key to running on more than one machine

While Unix itself was not open-source, the universities that got it from Bell Labs often did get access to the source code. One thing that made Unix different from other operating systems is that major components were written in a high-level language, the C language created by Dennis Ritchie and popularized by the first edition of The C Programming Language, by Brian Kernighan and Dennis Ritchie, abbreviated to “K&R.”

Previously, operating systems were written in assembly language. While assembly programs are fast, it’s tedious to program and programs are tied to a particular machine or architecture. Since C was a compiled language, to get a program written in C to run on another machine, all you had to do was write a compiler for that machine.

The portability was more in theory. While it was relatively easy to compile a C program written on one machine to run on another, since most people wrote C programs on Unix machines early on, they tended to take things about Unix for granted. This would cause these programs to not work on a different operating system. One way around this was to move the environment to a new machine. In other words, port Unix to that machine. Since C was a high-level language, it was possible to do this by only changing the machine-dependent parts.

User support

You can get by on Linux with a little help from your friends

Ask Ubuntu user support forum.

When Unix was developed, Bell Labs’ parent company, AT&T, was under a consent decree in exchange for a virtual monopoly on phone service in the US. The practical result was that AT&T couldn’t market any other product than phone service. This means that they couldn’t legally sell Unix as a commercial product. AT&T, under its subsidiary, Western Electric, provided Unix to universities and research labs for little more than the cost of sending tapes.

This also meant that AT&T wouldn’t provide support. Unix users would have to support themselves with fixes and upgrades. Users formed user groups, including the famous Usenix, which has grown into a major computer science conference on its own. Computer science undergrads and grad students found themselves up to the task. One offshoot was BSD, or Berkeley Software Distribution, founded at UC Berkeley in the late 1970s.

You can still find in-person support through user groups, forums, and subreddits today.

Making use of low-powered hardware

Dig out an old machine, though maybe not a PDP-7

One point of pride of Linux users is their ability to run Linux distributions on older hardware, such as an old laptop, but this tradition also runs to Unix itself. When Ken Thompson and Dennis Ritchie started working on Unix, it was in the aftermath of Bell Labs pulling out of the MULTICS project, which could be the Windows Vista of its day. It was an ambitious project that was intended to create what we would now call “cloud computing,” creating the equivalent of a computing utility that would be as accessible as electric power or running water, and just as reliable (in America, at least).

MULTICS went over-budget and was delayed, though it would emerge on mainframes in the 1970s. Thompson and Ritchie had access to less powerful hardware. They commandeered a Digitial Equipment Corporation PDP-7. This was similar to repurposing an old PC today.


Continuing the Unix tradition

From a hierarchical directory tree to portable C code, Linux carries on a lot of traditions pioneered in Unix. It’s built on the best of the past while looking to the future.



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


My phone is full of life-tracking apps, but it became increasingly apparent that they don’t talk to each other. So, I decided to try logging my sleep, spending, routines, food, and work in Excel for a week to see whether consolidating everything would make the data easier to understand. By Sunday, patterns had started to emerge that I wasn’t previously aware of.

If you want to try the same experiment, download a blank copy of this workbook template for free. After you click the link, you’ll find the download button in the top-right corner of your screen.

What my daily tracking actually looked like

Several apps, one disconnected routine

A frustrated woman holds her head and screams while surrounded by smartphones and multiple notification bell icons. Credit: Lucas Gouveia/How-To Geek | Prostock-studio/Shutterstock

On paper, my routine wasn’t complicated. But in practice, it meant jumping between apps throughout the day. Sleep, workouts, food, spending, and work all lived in different places, and while each one worked fine in isolation, none of them shared context. A bad night of sleep never showed up next to too much screen time, and I never explicitly linked a stretch of low-energy habits to a slow day at my desk.

That separation is what prompted me to try using Excel. I set up a single workbook with five named tabs: Sleep, Habits, Food & Drink, Work, and Spending, plus another Dashboard worksheet that brought all metrics together. Nothing complex—just a shared structure where everything could exist in the same format instead of being scattered across apps.

OS

Windows, macOS, iPhone, iPad, Android

Free trial

1 month

Microsoft 365 includes access to Office apps like Word, Excel, and PowerPoint on up to five devices, 1 TB of OneDrive storage, and more.


The structure that made the experiment work

Building a system simple enough to survive a week

Each tab stayed intentionally lightweight so that I would actually keep using it.

Sleep went into a named table (T_Sleep), where I logged bedtime and wake time in hh:mm format. Hours slept were calculated automatically using:

=MOD([@[Wake Time]]-[@Bedtime], 1)*24


Illustration of puzzle pieces connected, showing a problem linked to the =MOD function in Excel, with a connection leading to the solution and Excel icons around.


How to Use Excel’s MOD Function to Solve Real-World Problems

MOD is more versatile than you might think.

Instead of overengineering the setup, I recorded screen time manually on a scale from 1 (low) to 3 (high) based on how much time I had spent on my phone before bed. Conditional formatting handled the feedback, with lower sleep values turning red and better nights shifting green.

Habit tracking lived in T_Habits, with one row per habit per day and a simple checkbox for completion. From there, I built T_HabitComp, which counted completed habits per day using:

=COUNTIFS(T_Habits[Day], [@Day], T_Habits[Completed], TRUE)

That fed directly into the dashboard, alongside a split between general habits and movement-focused ones like workouts and walks.

Food and drink sat in T_FoodDrink, structured as three entries per day for meals. Coffee was logged at the top of each day’s entry, and takeouts were flagged with checkboxes. It gave a rough sense of how each day played out, even if I wasn’t labeling it that way while logging it.

Work went into T_Work, where I logged hours worked and a productivity score (out of 10) based entirely on instinct. Some days felt focused, others felt scattered, and I reflected that directly in the score. Conditional formatting helped those differences stand out visually without needing extra analysis.

Spending lived in T_Spending, and I treated it differently from the rest. It was more of a separate contextual layer than part of the same routine loop. Data validation drop-down categories like groceries, takeout, coffee, impulse purchases, subscriptions, and transport helped me see where money was going, and I used a separate PivotTable to break down spending by category.

If you add new rows, remember to right-click the PivotTable and click Refresh to reflect those changes.

One small detail kept the whole system manageable: Excel tables automatically expand as new rows are added. That meant I never had to fix ranges or adjust formulas mid-week—structured references meant that everything scaled as I went.

The dashboard turned separate logs into one picture

Everything finally came together

A life-tracking dashboard in Excel, with summary cards at the top and trend charts beneath.

Once I started logging data, the dashboard quickly became the only part of the workbook I cared about.

At the top, I created summary cards: Average Sleep, Total Spending, Habit Completion, Average Productivity, Exercise Sessions, and Takeout Orders. Each one pulled directly from the underlying tables and updated automatically as I logged entries.

Below that, Excel charts showed how the week unfolded. Sleep appeared as a line over time; habits, coffee consumption, and screen time moved in columns; and work productivity sat alongside as its own timeline. Finally, I used a PivotChart to visualize spending over the week. Then, I removed the Y-axis from all the charts, as the point here was to emphasize relative movement and patterns, not exact values.


3D illustration of the Microsoft Excel logo in front of an empty spreadsheet.


I use these 3 Excel formulas to organize my daily life

I refuse to let anyone tell me that Microsoft Excel is only for accountants.

That’s where the system started to make sense. Sleep, habits, and productivity formed the clearest loop. When I stayed up late scrolling, I could see it the next morning in lower sleep totals, and those days tended to feel less structured overall. When I kept habits consistent—especially workouts and walks—the rest of the day followed a more stable rhythm.

Spending didn’t follow the same pattern as the rest, and I stopped trying to force it into one. Instead, I noticed something else: on less structured days, takeout and impulse purchases showed up more often. Coffee tended to cluster on busier, slightly chaotic workdays, but it didn’t drive anything on its own—it just appeared alongside those stretches.

Individually, none of this was surprising, but seeing it layered together is what made it noticeable.


What I’ll take away from a week in Excel

For that week, everything lived in one workbook instead of separate apps. When I wanted the full picture, glancing at the dashboard made the connections in my routine much easier to notice. It felt like a useful reset—something I’ll probably return to when things feel too scattered.

That said, it didn’t replace the convenience of dedicated apps. Sleep trackers are still better at collecting data automatically, and spending apps still do a better job of capturing transactions without effort. But the experiment did change how I think about tracking in general—not as separate tools, but as one system where everything sits in the same frame.



Source link