A estrutura do sistema operacional pode ser dividida em três níveis:
- O kernel;
- O Shell (terminal virtual, console) e as;
- Ferramentas e aplicativos.
Atualmente quando falamos em interface de usuário pensamos logo em tela gráfica com botões, ícones, barras e links para interagirmos com o computador, mas o verdadeiro poder de uso de um sistema operacional é em modo texto e no
Linux isso é uma verdade e frequentemente uma necessidade se a pessoa quer saber realmente como as coisas funcionam.
Finalmente, no Linux o Shell é a interface mais simples entre o ser humano e o computador, tecnicamente falando o shell é o interpretador de comandos. O trabalho dele é analisar o texto digitado, os comandos digitados, e executá-los produzindo algum tipo de resultado. É a ferramenta que nos possibilita comunicar com o kernel (núcleo) do sistema operacional.
Outra detalhe importante é saber identificar quando se está como root ou usuário comum no shell. Fazemos isso observando os caracteres:
- $ - significa que você está como usuário comum (com privilégios limitados, mas suficientes para tarefas comuns, rotineiras e sem condições de danificar o sistema);
- # - significa que você está como root (que é o administrador todo-poderoso, podendo até destruir o sistema inteiro, porque tem-se acesso a todos os arquivos críticos do sistema com ampla permissão de leitura, escrita e execução).
Outro detalhe igualmente interessante de saber é o que significa os caracteres que aparecem antes do cursor, o formato do prompt de comandos padrão do Bash, que tem a seguinte sintaxe:
\u@\h:\w\$
Sendo,
O \u é para o nome do usuário, o \h é para o nome do sistema (hostname), o \w é o diretório atual. Por exemplo:
usuário@ubuntu:~$ (o til representa o diretório /home)
É possível alterar o nome do hostname, existe um comando para fazer isso, chamado de hostname, sua sintaxe é:
hostname [nome]
Onde [nome] é o nome a ser atribuído ao host local, preferencialmente em letras minúsculas e evitando usar os caracteres especiais(você foi avisado!). Caso omitido e nenhuma opção passada hostname retornará o nome do host tal qual obtido pela função gethostname(). Para saber quais as opções disponíveis para o comando hostname digite:
$ info hostname
Outra coisa interessante é saber qual shell está instalado e que fica disponível logo que o usuário faz o login, para saber digite no terminal:
$ echo $SHELL
Caso seja o bash a resposta será:
/bin/bash