The shell of the Linux system is equivalent to the "one shell" of the operating system, which is the command language interpreter, which provides the user with an interface to use the operating system. It does not belong to the kernel, but is run as a user state outside the kernel. Its basic function is to interpret and execute the various commands that the user has entered to implement the interface between the user and the Linux kernel.
Personal understanding: The shell is a normal user-state program, able to understand user commands. Is the messenger of the user and the system.
After starting the Linux system, the kernel creates a process for each end user to execute the shell interpreter.
The following are personal understandings:
1.shell after checking and preprocessing the command line, use fork or vfork to create the child process.
2. Invoke the Execve execution command in the child process.
3. Wait for the child process to finish processing in this process (for non-background processes) and continue waiting for the user to enter the command.
Linux Shell nature and how it works