Published Nov 10, 2026, 4:00 PM EST Zunaid Ali first became interested in technology after using a computer for the first time in 2006. He's been producing how-to content since 2018, reaching thousands of people in the process. As a kid, Zunaid used to read tech tutorials and troubleshooting guides on popular blogs. That made him want to start his own writing career. After the coronavirus pandemic, he finally decided to jump into the tech writing world. Before joining How-To Geek, he had written for HecticGeek, Distroid, and UbuntuPIT, among others. Zunaid first tried Linux when he wanted to learn Web Development in 2021. Due to his inexperience, he messed up his laptop trying to dual-boot Ubuntu with Windows. Frustrated, he went all-in with Linux and removed Windows completely. And that's when he fell in love with it. He's been actively experimenting with Linux since then. After finding his first writing gig on Linux in April 2022, he decided to specialize in it so he could share his knowledge and insights with fellow open-source enthusiasts. He joined How-To Geek in September 2023 and has been writing as a freelance contributor since then. Zunaid is currently pursuing his Bachelor's degree in Information & Communication Technology. When he's not writing, he's reading tech blogs, coding fun projects, or learning about new technologies. Other than Linux, he also has an interest in Android Development and Cybersecurity. He has experience in C/C++, Java, HTML/CSS/JavaScript, and Python. You can find some of his hobby projects on his GitHub. Being born in the 2000s, I hardly got the chance to use any of the old operating systems many people talk about. As a Linux user, this topic always fascinates me. How old operating systems worked, what they offered, and most importantly, how they shaped modern OSes. You might be surprised to learn that so many of the best ideas you see on Linux are from other systems, some of which are already dead. But their legacy lives on every time you open your Linux terminal and use those features Linux took inspiration from. Multics gave Linux the shell, name, and all Even the "rc" at the end of .bashrc is older than Unix Louis Pouzin, who worked on MIT's CTSS system, wrote a tool called RUNCOM that ran a list of commands from a script. That was back in 1963 and 1964. Later, Pouzin described it as a sort of shell. Interestingly, nobody used that word yet. Then, around the turn of 1965, he wrote a paper on how Multics should handle commands. In that paper, he introduced the word "shell." Unix picked up a lot from Multics. Moreover, Dennis Ritchie, the man behind the C programming language, later wrote that making the shell a user-level program stored in a file instead of being part of the operating system was crucial for Unix. Since the shell is just another program, you can swap Bash for Zsh or Fish without touching the kernel. RUNCOM left behind a souvenir, too. In 1981, Ritchie explained that the "rc" in Unix file names comes from RUNCOM. So if you type ls -a ~ | grep rc in your terminal, you can see all the RUNCOM leftovers in your system. TENEX taught the command line to finish your words The "t" in tcsh still carries TENEX's name BBN built TENEX for DEC's PDP-10 machines. It was a time-sharing system. I found a 1972 paper on TENEX that shows off one of its handiest tricks. You typed the first few letters of a command or file name, then pressed ESC, and the system completed it. If those letters matched more than one thing, it rang the terminal's bell and waited for more. Sounds familiar, right? That's what we Linux users call tab completion now. Of course, it's much more modern and does way better than it could then. A few years later, Ken Greer at Carnegie Mellon started writing "Tenex style" file name completion. His own source notes date that work to September 1975. Greer only got it into the C shell in December 1981. That shell later became tcsh. Its manual even has a section called "The T in tcsh." It says the creator was impressed by TENEX's completion and made a csh that mimicked it. On Linux today, Bash handles this through the GNU Readline library. Type sys and press Tab twice to watch a 1970s idea at work. BSD gave Linux its way of talking to the network BSD gave Linux its way of talking to the network Berkeley's 4.2BSD release back in 1983 was the peak of a DARPA-funded Unix project. Out of that era came sockets, the way a program asks the kernel for a network connection. Linux's own socket(2) manual page still lists 4.2BSD in its history section. Linux's socket(7) page says these BSD-style sockets are how programs talk to the kernel's networking code. This means that network programs on Linux all knock on the same standard door. Try running ss -s for a quick summary of the sockets your system has opened right now. System V Release 4 decided how Linux programs are packaged System V Release 4 decided how Linux programs are packaged Most files you open on your system have a file format. Compiled programs also require a file format that tells the system how to load it. On early Linux, that was the a.out format. At that time, Unix System Laboratories built ELF. Solaris and System V used this format. This paper from Sun on shared libraries explains .so files and a run-time linker called ld.so. Linux's dynamic linker still goes by ld.so today. However, there was a catch. The old format was becoming painful. In April 1995, kernel developer Eric Youngdale explained that Linux's a.out shared libraries couldn't support dlopen(). As a result, building them was cumbersome for big packages like the X Window System. ELF, on the other hand, offered more flexibility. So the GCC and C library developers made it Linux's standard. The last bits of a.out support were removed in Linux 5.18 in 2022. If you want to see for yourself, run file -L /bin/ls to see the ELF label, then ldd /bin/ls to list the shared libraries it needs. Plan 9 gave Linux the trick behind containers Per-process namespaces let each program see its own version of the system Bell Labs built the Plan 9 research system starting in the late 1980s. One of its boldest ideas was giving every process its own view of the system. In Plan 9, the namespace of each process is unique. Ordinary users can rearrange it with mount and bind. In November 2000, kernel developer Al Viro proposed Plan 9-style per-process namespaces for Linux. The first type, the mount namespace, appeared in 2002 with Linux 2.4.19. Over the years, the other types also appeared. Today, this is the very feature Docker uses to build the isolated workspace it calls a container. After all, Docker isn't magic. You can list the namespaces already living on your device by typing lsns. Linux moved to the GPL in early 1992, just months after its first release Richard Stallman announced GNU on September 27, 1983. The plan was a complete Unix-compatible system, given away free to anyone who could use it. Torvalds even name-checked it in his famous August 1991 post. He called his own project a hobby that "won't be big and professional like gnu." What amazes me is that Linux didn't start out under GNU's license. Its early terms said you couldn't sell it for money. Then, the Linux 0.12 release notes announced that the GNU copyleft would take effect from February 1, after people asked Torvalds to drop that rule. GNU's tools stuck around as well. Just run bash --version, and the very first line proudly says GNU bash. The real genius was knowing what to borrow Sometimes, when I use some of these essential Linux features, I feel like I'm living through the generations of operating systems. It's amusing to see this evolution and how one system inspires the other. And this list is only part of the story, as plenty of retro Unix platforms shaped the Linux we know today in their own quiet ways.
6 genius ideas Linux stole from the legendary operating systems that came before it
Full Article
Original Source
Read the full article at Howtogeek →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.