In Linux, shell refers to a user-oriented command interface, which is expressed as an interface that can be entered by the user. This interface can also feed back running information. Shell is an interpreter program in the Linux operating system. It is responsible for receiving commands entered by the user and passing them to the kernel for execution. Bourne Again shell (bash) is the default shell on Linux systems.
linux shell introduction
The shell in Linux refers to a user-oriented command interface, which is expressed in an interface that can be entered by the user. This The interface can also feed back running information;
Shell is an interface that connects the user and the kernel, allowing the user to interact with the system. 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. In Linux systems, the default Shell is Bourne Again Shell (bash).
The existence form of shell in Linux:
Because Linux is different from Windows, Linux is separated from the kernel and the interface. It can run independently without the graphical interface. Similarly It is also possible to run a graphical desktop on top of the kernel.
In this way, in the Linux system, there are two shell manifestations, one is the shell in the terminal operating environment without a graphical interface, and the other is the Windows-like MS running on the desktop. -DOS running window, the former is usually referred to as the terminal, and the latter is generally directly called the shell
Three commonly used shells in Linux
There are many types of shells in Linux, the three most commonly used are bourne shell (sh), c shell (csh), and korn shell (ksh).
1. Bourne shell
Bourne shell is an interactive command interpreter and command programming language.
Bourne shell was once a common tool for managing systems and is the standard shell of UNIX operating systems. Most of the system management command files, such as rc start, stop and shutdown, are Bourne shell command files, and are often used by system administrators when logged in as root in single user mode. Known for its simplicity and efficiency, the Bourne shell was developed by AT&T. The default value for the Bourne shell prompt symbol is $.
2. c shell
c shell is a variant Shell that is more suitable than Bourne Shell. It uses "C-like" syntax, and csh is A shell with C language style, it has 52 internal commands, which is relatively large.
C shell was developed at Berkeley and has added some new features, such as command line history, aliases, built-in arithmetic, filename completion ), and job control. For users who often execute shells in conversation mode, they prefer to use the C shell; but for system administrators, they prefer to use the Bourne shell as the command file because the Bourne shell command file is better than the C shell command file. It comes easy and fast. The default value for the C shell prompt symbol is %.
3. korn shell
korn shell is a Unix shell. David Korn wrote it at Bell Labs in the early 1980s. It is fully upwardly compatible with the Bourne shell and includes many features of the C shell, such as command editing required by Bell Labs users.
Korn shell is a superset of Bourne shell, developed by David Korn of AT&T. It adds some features and is more advanced than the C shell. Features of the Korn shell include editable procedures, aliases, functions, regular expression wildcards, built-in arithmetic, job control, coprocessing, and special exceptions. Wrong function. The Bourne shell is almost completely upward compatible with the Korn shell, so programs developed under the Bourne shell can still be executed on the Korn shell. The default value for the Korn shell prompt symbol is also $. The Korn shell used on Linux systems is called pdksh, which refers to Public Domain Korn Shell.
Three kinds of shells have their own advantages and disadvantages:
Sh is the shell initially used in Unix and can be used on every Unix variant.. Although sh is excellent at shell programming, it is not as good as csh and ksh when it comes to handling interactions with users.
Bash is the default shell of Linux and is fully compatible with sh. bash is placed in bin/bash. It has many features and can provide functions such as command completion, command editing and command history table. It also contains many advantages of csh and ksh, has a flexible and powerful programming interface, and at the same time Has a friendly user interface.
Therefore, we must at least know that both sh and bash are the default shells on Linux, and bash is an upgraded version of sh.
How shell executes user instructions
Shell has two ways to execute instructions. The first method is for the user to write an sh script file in advance, containing the shell script, and then use the shell program to execute the script. This method is commonly called shell programming.
The second form is that the user directly executes the shell command on the shell interface. Due to the shell interface, everyone is accustomed to writing line by line, and rarely writes a complete set of programs to execute together, so it is also Called the command line.
Summary: The shell can be said to be just a bridge between the user and the machine, allowing us to operate and interact with the computer through the shell, so as to achieve the purpose of letting the computer serve us.
The above is the detailed content of What types of linux shells are there?. For more information, please follow other related articles on the PHP Chinese website!