Interpretadores de comandos mais utilizados
6) Interpretadores de comandos mais utilizados
Resumo:
Os interpretadores de comando, conhecidos também como shells, são os programas responsáveis em interpretar as instruções enviadas pelo usuário ao sistema operacional(Kernel). É no shell que é executado os comandos lidos por um dispositivo de entrada padrão, como o teclado e os arquivos executáveis. Tenha em mente que o shell é a principal ligação entre o usuário, programas e o kernel.
O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles são: bash, ash, csh, tcsh, sh, etc. O mais usado é o bash.
Os comandos podem ser enviados de dois modos para o interpretador, de modo interativo e não-interativo.
Modo interativo
No modo interativo, os comandos são digitados pelo usuário em uma interface de linha de comando(como o terminal), e cada comando é inserido e enviado ao interpretador um por um, e o interpretador responde imediatamente após a execução de cada comando.
Por exemplo, comandos como cd que entrar e sai de diretórios, cp que copia arquivos, ls que lista arquivos/diretórios são comandos que podem ser executados de movo interativo se executados um a um no terminal.
Modo não interativo (ou modo script)
Já nesse modo os comandos são armazenados em um arquivo script (como .sh, de shell) criado pelo usuário. O arquivo de script irá conter uma lista de comandos que serão executados na ordem em que vão estar listado no arquivo. Nesse modo o computador vai lê e executar cada comando do arquivo de script, sem a necessidade de intervenção do usuário para digitar cada comando.
Por exemplo, você pode criar um arquivo chamado backup.sh que contém comandos como cp para copiar arquivos para um diretório backup. Para executar o arquivo é só usar ./backup.sh no terminal.
Sobre os tipos de interpretadores mais utilizados:
sh: Foi o primeiro shell desenvolvido para sistemas UNIX pelo Stephen Bourne. É um shell nível básico, que contém poucos recursos de comandos, mesmo assim ainda é amplamente utilizado.
ksh: Também conhecido como Korn Shell, criado pelo David Korn como uma alternativa ao sh. Inclui expressões aritméticas e manipulação de strings.
csh: Também conhecido como C Shell, foi desenvolvido pela Universidade de Berkeley. Ele possui uma sintaxe diferenciada parecido com a linguagem C.
tcsh: É uma extensão do C Shell, oferece recursos adicionais. É popular entre alguns usuário que preferem uma interface mais amigável.
bash: O shell padrão do GNU e evolução do sh. Ele oferece um amplo recursos de comandos, é altamente configurável e suporta scripts de shell, permitindo a automação de tarefas.
Algumas observações
1- O Linux é case-sensitive, ou seja, tem diferença entre digitar um comando em maiúsculo e minúsculo.
2- No Linux tipo GNU, utilizado nas aulas, o shell padrão é o bash.
3- No diretório /etc, que está localizado na pasta raiz do sistema (use cd/ para ir para pasta raiz), contém o arquivo shells. Dê uma olhada utilizando o comando ls -l etc/shells
.
O arquivo /etc/shells é um arquivo de texto simples que lista os interpretadores de comandos (shells) disponíveis no sistema, o usuário pode optar por mudar o tipo do shell entre os listados, utilizando o comando chsh:
Quando você usa o chsh para alterar o shell, ele atualiza o campo "Shell" no arquivo /etc/passwd com o caminho completo para o novo shell escolhido pelo usuário. Por exemplo, ao executar o chsh -s /bin/dash
o campo "Shell" no arquivo /etc/passwd para esse usuário será atualizado para /bin/dash.
O arquivo /etc/passwd
é um arquivo de texto que armazena informações sobre as contas de usuário no sistema Linux, como o nome do usuário, senhas criptografadas, diretório inicial do usuário, o shell padrão do usuário e etc.
Exemplo:
No meu sistema o shell padrão do root é o bash.
4 - Você pode temporariamente utilizar outro tipo de shell diferente do seu usuário digitando o nome do shell e retornar para o shell padrão utilizando ctrl+d
.
5- Para saber qual o tipo de shell está sendo utilizado use o seguinte comando: echo $SHELL
.
6 - Você pode utilizar mais de um comando de uma vez se utilizar && , || , ;.
6.1) Encadeamento de comandos
; - executa os comandos um após o outro, de forma independente.
&& - o segundo comando só vai ser executado se o primeiro comando funcionar.
|| - o primeiro comando só vai ser executado se o primeiro comando falhar.
Extra: Alguns comandos utilizados durante a aula
Last updated