Let's face it, Linux commands are weird. Cat, mv, ls, pwd, they're all so short. Why is that? The answer lies, as with many things on Linux, in its Unix origins.

The Origin of Linux Commands

In the 1960s, when Unix was first being developed, the main way to communicate with computers interactively was through Teletype machines. These devices were essentially typewriters that could receive signals from other machines. Back in time, teletypes machines were responsible for remote communications and telegraphy.

You can see one in action in this video:

These machines took up a lot of space, were noisy, and were quite slow. This last issue was particularly annoying if you were interacting with a computer. One way to make typing faster was to make the commands shorter.

These teletype machines were also known as TTYs and are the reason Unix terminal devices are known as /dev/ttyX today.

Related: Unix vs. Linux: The Differences Between and Why It Matters

Teletypes and Linux Today

While we don't use teletypes with computers these days, they still linger in the design of Unix and Linux systems in modern times.

In the 1970s, teletypes started to give way to video terminals that displayed text on the screen instead of rolls of paper. Then in the 1980s, graphical interfaces like those on the X Window System started to become popular.

A lot of older programs used the terminal for interacting with the system. But in this age of windows managers and GUI, how do these programs still work? The answer is pseudo-terminal. This is system software that emulates the capabilities of a terminal in software. As far as command-line programs are considered, they think they're talking to a teletype.

Modern Linux systems carry this design forward. The Linux filesystem lists pseudo-terminal devices as /dev/ptyX.

Linux Carries On the Unix Tradition

The moral of the story is that if you think some aspects of Linux are odd, Linux, as modern as it is, embodies ideas that are over 50 years old.

The ability of Unix-like systems to adapt to technological changes while maintaining compatibility with older software is one reason why technical users have relied on them for so long, and Linux is no exception. While Linux commands might be short, you can make them even shorter with shell aliases.

Image Credit: Arnold Reinhold/Wikimedia Commons