History of Unix Shell - YoUnix

   There is a man called Ken Thompson...

The history of Unix starts with Ken Thompson

Ken Thompson's foto

1969 - Creation of Unix

  • Ken Thompson at Bell Labs creates Unix as a multi-user, multitasking operating system for the PDP-7.
  • Early versions of Unix had no shell in the modern sense. Instead, commands were typed directly to the system, which interacted through a simple, custom interface.

1971 - Thompson Shell (sh)

  • The first Unix shell, known as the Thompson Shell, is developed by Ken Thompson.
  • This shell allowed users to interact with the Unix system by entering commands via a terminal interface, though it was still primitive compared to what would come later.

1973 - Introduction of the Bourne Shell (sh)

  • Stephen Bourne at Bell Labs develops the Bourne Shell (often called sh), which replaces the Thompson Shell.
  • The Bourne Shell introduced scripting features like variables, control structures (if, loops), and redirection.
  • It became the standard shell in many Unix systems and is still the basis for many modern shells.

1978 - Version 7 Unix

  • Unix Version 7 (V7) is released, becoming a widely adopted version of Unix.
  • The Bourne Shell continues to be the primary shell in Unix systems, with improvements over time.

1980 - C Shell (csh)

  • Bill Joy at UC Berkeley creates the C Shell (csh), which was influenced by the C programming language.
  • csh introduces job control (suspending and backgrounding processes) and history features, making it a more interactive user environment than the Bourne Shell.
  • It also introduces the csh scripting language, which had its own syntax distinct from the Bourne Shell.

1983 - Korn Shell (ksh)

  • David Korn, also at Bell Labs, develops the Korn Shell (ksh), a major enhancement over the Bourne Shell.
  • The Korn Shell combines features from the Bourne Shell and C Shell, adding features like command-line editing, job control, and functions.
  • It became very popular due to its combination of scripting capabilities and interactive features.

1989 - Bash Shell (Bourne Again Shell)

  • Brian Fox writes the Bash Shell (bash), which is intended to be a free and open-source replacement for the Bourne Shell.
  • Bash combines features of the Bourne Shell, C Shell, and Korn Shell, and adds its own improvements such as command-line editing (using Emacs or vi key bindings) and tab completion.
  • Bash quickly becomes the default shell for many Linux distributions and macOS.

1990s - Evolution of Shells in Linux and Other Unix Variants

  • Linux and other Unix variants, such as FreeBSD and NetBSD, popularize Bash as the default shell.
  • Other shells like Zsh (developed in 1990 by Paul Falstad) and Fish (Friendly Interactive Shell) introduce more advanced features, such as improved autocompletion, syntax highlighting, and user-friendly prompts.

2000s - Continued Growth and Customization

  • Unix and Linux-based systems grow in popularity as servers and desktops, and the Bash shell solidifies its position as the most widely used shell.
  • Power users start relying on advanced features such as zsh's plugin system, oh-my-zsh framework, and Fish for its user-friendly syntax and helpful autocompletion features.

2010s - Shells in Modern Development

  • Zsh becomes increasingly popular, especially among developers and sysadmins. It is lauded for its customizability, powerful features, and vibrant plugin ecosystem.
  • Bash continues to be a dominant shell in many environments, though new features in shells like Fish and Zsh start to attract more users.

2020s - Shells in Modern Operating Systems

  • Zsh is adopted as the default shell on macOS (as of macOS Catalina, released in 2019).
  • Fish gains traction for its user-friendly syntax, great autocompletion, and ease of use for newcomers.
  • Development tools such as Oh My Zsh and Prezto help users customize and extend their shell environments, with plugins that streamline development and administration tasks.

To be continued...

  • You can be part of unix history!

^

Page written by Elena Hu