Linux shells include: 1. Bourne Shell; 2. C Shell; 3. Korn Shell; 4. Bourne Again Shell; 5. Almquish shell; 6. Z Shell; 7. Fish, etc.
The operating environment of this tutorial: Ubuntu 16.04 system, Dell G3 computer.
What is Linux Shell?
Shell is the user interface of the system, providing an interface for users to interact with the kernel. It receives commands entered by the user and sends them to the kernel for execution. It is an interpreter program between the Linux kernel and users. Now Linux usually refers to the /bin/bash interpreter, which is responsible for translating and conveying user/program instructions to the kernel. The shell is equivalent to the "shell" of the operating system
Linux systems provide a variety of different Shells to choose from.
Bourne Shell
Bourne Shell (referred to as sh) was developed by Steven Bourne of AT&T Bell Labs for AT&T Unix. It is the default Shell of Unix and other Shell development foundation. Bourne Shell is quite good at programming, but it is not as good as other shells in handling interaction with users.
C Shelll
C Shell (csh for short) was developed for BSD Unix by Bill Joy of the University of California, Berkeley. Unlike sh, its syntax is very similar to the C language. resemblance. It provides user interaction features that Bourne Shell cannot handle, such as command completion, command aliases, historical command replacement, etc.
However, C Shell is not compatible with Bourne Shell.
Korn Shell
Korn Shell (ksh for short) was developed by David Korn of AT&T Bell Labs. It combines the advantages of C Shell and Bourne Shell and is compatible with Bourne Shell is fully backwards compatible. Korn Shell is very efficient, and its command interaction interface and programming interaction interface are both very good.
Bourne Again Shell
The most commonly used shell is the Bourne Again Shell, or bash. It was designed for the GNU Project as an open source alternative to Bourne Shell, a popular shell used on UNIX systems. Bash also takes inspiration from a number of other UNIX shells, such as the C shell (csh) and KornShell (ksh). Each of the major UNIX shell features is different: the Bourne Shell is suitable for writing scripts, and although scripting with the C shell requires knowledge of the C programming language, it does provide some convenient tools that make it more suitable for interactive use. Bash combines this improved interactivity with the ease of scripting of the Bourne Shell. While bash became the default shell on Linux systems (and still is for most distributions today), it does not prevent projects from using alternative shells if they can be improved.
Almquish shell
Almquish shell, or ash is such a shell. This shell is designed to be compatible with the Bourne shell and to be lightweight. But at the same time, it also lacks the improvements that some shells such as bash, ksh, and csh have. Its small size and low resource utilization mean that it is often used in embedded systems, such as those using BusyBox systems. BusyBox is commonly used as a shell for Android devices and as part of the Linux installation and boot process. This means that if you have problems installing or starting your Linux system, it may be because you are using the Almquish shell in BusyBox. There is also a port called dash (Debian Almquish shell) from which ash is ported to Debian Linux. Dash is the default shell for the /bin/sh command on Debian and Ubuntu systems.
Z Shell
Z shell, or zsh, is another shell based on the Bourne shell. It also adds some features from bash, ksh, and csh. In addition, it has a complete Command line completion, which recognizes not only command names but also options and arguments, as well as spelling corrections. It can also be extended with themes and plugins, and can run in compatibility mode, allowing it to be used like some other shells such as Bourne shell). When it comes to plugins and themes, there is a handy tool that helps find and install them from the command line, making setup very easy. With these features, the Z shell has become a popular alternative to bash.
Fish
A friendly interactive shell. As the name suggests, it is designed to make the command line a more friendly place. Therefore, fish has many features that can be used in commands Working on the line is easier with things like syntax highlighting and error checking, making use of colors to make work easier. There are also some auto-suggestions to complete commands as you type them. The downside is that it is not compatible with the Bourne shell, so although it is not suitable for beginners It's a great start for academics, but there are many non-transferable elements when migrating to another shell, such as it using its own scripting language.
Related recommendations: "Linux Video Tutorial》
The above is the detailed content of What are the linux shells?. For more information, please follow other related articles on the PHP Chinese website!