What is a Shell?
We Discussed Linux and windows differences and kernels and distros; now, it is time to talk about what is a shell and how to use a terminal? Let us see this figure once again.

Shell is responsible for the interaction between users or applications and the kernel. File management, service management, process management, and running a program need commands. Commands are programs that programmers write in a programming language. When users type commands in the terminal, the shell interprets the command source code to the kernel language, so the kernel executes the command. There are several shells in the Linux world, such as sh, Bash, Dash, Korn Shell, Z Shell, and Tcsh, but Bash is the most common shell used by lots of distros.
Types of Linux Shell
-CLI or Command Line Interface interacts with the kernel through text commands that users or applications enter in CLI. Therefore they do not have Graphical overheads; they are faster and more efficient.
-GUI or Graphical User Interface interacts with the kernel through the graphical elements that correspond with CLI commands. It is easier for beginners and provides CLI access through terminals for super and power users.
How to access a terminal?
-Local access through GUI, by opening terminal using icons
-Remote access through ssh protocol that requires the server IP Address
-Virtual Console to virtual machines in the hypervisor environment or direct connection to the server by keyboard, mouse, and monitor.
Linux distinguishes indirect connections as pts connections stand for Pseudo Terminal Slave and direct connections as tty connection stands for TeleTYpewriter. “ tty” command output will show the type of current connection:
When the Linux operating system installation process begins, the kernel will create seven consoles numbered 1 to 7. As shown in the figure below:
By Alt+Ctrl+Fnumber key Combination, you can reach other terminals and log in using a standard user account. If you installed Centos 7 or 8, it would be 1 and 2 for GUI terminals and 3 to 7 for CLI terminals.
The following post will introduce Linux file system and File structure