Mas afinal, o que é o shell? O
shell é uma parte que compõe o sistema operacional, responsável por interagir ou popularmente falando (conversar), com o usuário. Além disso ele é o interpretador de comandos do
GNU/Linux, também conhecido como prompt de comandos, que lê os comandos digitados por nós usuários, interpreta e executa o que foi digitado.
O shell de uma maneira mais fácil, é como se fosse um interprete entre o usuário e o computador e vice versa. Abaixo temos uma imagem que explica o contexto do shell e as camadas de software.
Essa imagem representa as camadas de software que integram ou compõem um sistema operacional. Na parte baixa temos o hardware, e mais acima o kernel, que é responsável por interagir com o hardware. Subindo mais um pouco temos outra camada de software, o shell, que como já foi dito, interpreta tudo o que é digitado e faz as solicitações para o kernel, que consulta o hardware.
E depois o hardware carrega o que foi pedido em um endereço de memória, manda para o kernel, que devolve para o shell, que traz a resposta do que foi pedido para o usuário.
Veja essa essa outra imagem.
Prompt do shell: o prompt é representado pelo simbolo "$" cifrão, onde pode variar algumas informações contidas como, o usuário, nome do computador, diretório corrente.
Essa simbologia nos dá informações que são muito importantes de se saber, ela mostra qual usuário que esta utilizando o sistema no momento, que neste caso é um usuário comum onde está usando a máquina, veja o símbolo "$". Já se o simbolo for uma "#" (cerquilha), diz que se trata do superusuário, mais conhecido como usuário (root).
Superusuário: Ele é o administrador do sistema GNU/Linux, é muito especial, pois pode fazer tudo no sistema, alterar qualquer arquivo, excluir usuários, fazer configurações etc.