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. The shell receives the commands entered by the user and sends them to the kernel for execution. It is an interpreter program between the Linux kernel and the user. The default shell under Linux is the Bourne Again shell (bash).
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
Linux shell introduction
The shell in Linux refers to a user-oriented command interface, which is expressed in the form of a command that can be entered by the user. Interface, this interface can also feed back running information;
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. The default shell under Linux 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 forms of shell expression, 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 referred to as the shell
Three commonly used Linux Kinds of shell
There are many types of shells in Linux, the three most commonly used ones 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 is a standard UNIX shell, which was often used to manage 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. Bourne shell was developed by AT&T and is famous for its simplicity and speed. 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. It was written by David Korn 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.
The three shells have their own advantages and disadvantages:
sh is the original shell used by Unix and can be used on every Unix. sh is quite good at shell programming, but it is not as good as csh and ksh in handling interaction with the user.
The default shell of Linux is bourne again shell (bash), which is fully backward 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 in advance. The file contains a shell script, and then the shell program is used 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.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What does linux shell mean?. For more information, please follow other related articles on the PHP Chinese website!