Shell do Linux para Iniciantes
Um termo que gera muito questionamento entre os iniciantes é o Shell do Linux. É verdade que o universo Linux conta com um vocabulário muito amplo e diversificado, mas entender cada nomenclatura não é impossível.
Para entender todos os pontos relacionados ao Shell do Linux, desde o que são os Shells gráficos, de texto e scripting, basta continuar a leitura deste artigo. Acompanhe!
O que é o Shell do Linux?
De modo simples, Shell nada mais é do que o prompt ou intérprete de comandos que une o usuário ao kernel, ou sistema operacional.
Sua função é ler e interpretar as linhas de comando e dar uma resposta ao usuário através das saídas do sistema operacional.
O nome Shell não foi escolhido ao acaso: semelhante a palavra “concha” em inglês, nos sistemas operacionais o shell não apenas protege o kernel de erros de usuário como também executa funções de modo seletivo.
Todos os usuários podem acessar o Shell e escrever comandos para serem executados. A partir disso, a interface de comando retornará ao usuário um feedback conforme o que foi encontrado.
A seguir, você entenderá quais são os Shells mais comuns e cada um deles funciona, respectivamente.
Shells de texto (CLI)
Os Shells de texto, conhecidos pela sigla CLI (Command Line Interface, do inglês), como o próprio nome sugere, se baseiam em linhas de comando, que são representadas por ordens em texto.
Shells gráficos
Em contrapartida, os Shells Gráficos, representados pela sigla GUI (Graphical User Interface, do inglês), consistem em interfaces gráficas, que não demandam comandos em texto, digitados.
Essa versão de Shell é a mais comum aos iniciantes, já que pode ser vista em outros sistemas operacionais, como Windows, em ocasiões em que é necessário mover, renomear ou copiar arquivos, por exemplo.
Shell Scripting: entenda a programação em Shell
Essa modalidade de programação em Shell facilita muito a rotina de grandes empresas, que tem servidores repletos de arquivos, pastas e diretórios.
A partir do Shell Scripting, você pode automatizar processos através de um conjunto de comandos (como um código de programação).
Assim como em linguagem C, por exemplo, é possível personalizar os comandos com condições, repetições e estruturas lógicas.
Essa é uma boa opção para quem deseja resultados mais completos do Shell, já que os scripts proporcionam uma estrutura muito mais sólida do que simples linhas de comando em texto.
Vantagens e Desvantagens
Como você pôde notar, existem muitas vantagens em escolher o Shell Scripting para os seus dispositivos ou servidores.
A principal delas é a otimização de tempo e obtenção de resultados mais profundos, completos e confiáveis.
Além disso, é com o scripting que a atividade dos usuários pode ser controlada e monitorada de modo mais fácil e eficiente. Existem blocos de comando específicos para verificar quais usuários enviaram mais e-mails no dia, por exemplo.
Em contrapartida, existe a desvantagem de ser um pouco complexo para iniciantes na área que não tenham conhecimento prévio de programação.
Mas, não se preocupe: existem diversos modelos de shell disponíveis para utilização, você não precisará criar um do zero.
Processo básico de criação do Shell Script
Para criar um Shell Script, é necessário reservar um local para escrever as linhas de código. Você pode fazer isso criando um novo documento tanto via terminal, quanto opção gráfica.
Feito isso, sempre se lembre de alterar as permissões do arquivo criado, adicionando a permissão de editor, caso contrário só será possível ler o documento (o que não faz sentido, já que ele estaria em branco).
Logo após, decida qual comando deseja executar. Para essa ação, basta considerar qual a maior necessidade na rotina da sua organização.
Com o código do comando em mãos, selecione o intérprete de arquivos a ser utilizado. O mais comum é o bash.
Esse elemento permite ao shell interpretar e “entender” o que você deseja executar.
Com o código escrito, é necessário salvá-lo e sair da interface de comando. Para executá-lo, basta selecionar o diretório do seu arquivo e colá-lo no prompt de comando e as informações serão retornadas.
Este é apenas um passo a passo simples, introdutório, sobre tudo o que o Shell do Linux pode fazer por você.
Mas, entenda que assim como qualquer linguagem de programação, existem muitas etapas de conhecimento envolvidas, para você dominar com maestria o Shell do Linux.
Para ilustrar, existem estruturas de execução condicionais em shell, utilizando a estrutura “if and then”, comum em outras linguagens.
Por isso, o melhor caminho é se profissionalizar e buscar informações completas, que façam sentido lógico, para facilitar a sua curva de aprendizado.
Existem muitos cursos de Linux excelentes, totalmente bem estruturados que nós, da Certificação Linux oferecemos para te ajudar.
Shell para Iniciantes: trabalhando com eficácia, na prática!
O Shell do Linux parece misterioso. Trabalhar com ele pode ser assustador no início, mas você pode aprender como trabalhar com eficácia no Shell.
Quebrar a barreira inicial do “medo dos códigos” é o primeiro passo para ser bem-sucedido no universo Shell do Linux.
É importante ter em mente quais são as principais características e utilizações dessa ferramenta e, então, entender as linhas de comando e praticar.
Assim como em muitas outras áreas, TI também exige muita prática após entender o básico da teoria. O segredo está em entender e aplicar, até encontrar os resultados esperados.
Portanto, entenda que entrar com comandos no shell é mais do que simplesmente digitá-los.
Primeiro, o comando precisa ser válido e estar nos diretórios listados na variável PATH ou com sua localização explícita.
O comando também pode requerer opções, geralmente precedidos pelo símbolo “-” ou “–” e por argumentos.
O importante é saber que cada comando tem sua sintaxe única e pode haver variações dependendo da distribuição do Linux.
$ ls
Este comando lista os arquivos no diretório corrente. Ele não requer nenhuma opção ou argumento para ser executado. O argumento –l pode ser acrescentado para gerar uma lista de arquivos detalhada:
$ ls –l
Podemos ainda colocar mais opções para o comando ls:
$ ls –l –a –t
Ou
$ ls –lta
No caso do comando ls, as opções podem ser usadas separadamente ou combinadas. A opção –a mostra todos os arquivos, incluindo os ocultos.
A opção –t mostra os arquivos ordenados pela última data de modificação. A ordem das opções não é importante para o ls.
Se quiser ocultar um arquivo no Linux, o seu nome deve necessariamente começar com o símbolo “.” (ponto). Ex: .bash_history
Para alguns comandos as opções têm de ser precedidas com dois traços “–” ao invés de um traço.
Ainda, alguns comandos oferecem formas alternativas de indicar uma mesma opção. No caso do ls, as opções –a e –all produzem o mesmo efeito.
O detalhe é que opções que são chamadas com dois traços não podem ser combinadas.
$ ls –lt –all
E não:
$ ls –lalllt
Alguns comandos podem aceitar argumentos como opcional. Para outros comandos os argumentos são necessários.
Os argumentos são os parâmetros que os comandos aceitam ou necessitam. Vejamos o comando ls:
$ ls –l *.txt
No exemplo acima o comando ls recebeu a opção –l e o argumento *.txt que filtra os arquivos terminados com a extensão .txt.
Outra variação possível são os comandos que precisam obrigatoriamente de uma opção para executar uma tarefa que geralmente não é precedida pelo traço.
É comum para esse tipo de comando que suas opções sejam sucedidas por argumentos. Veja como exemplo o comando dd:
$ dd if=bootdisk.img of=/dev/fd0
O comando dd copia e converte arquivos de acordo com as opções passadas.
No exemplo, o comando irá ler uma imagem de um disco de boot (opção if=bootdisk.img) e irá gravar esta imagem no drive a: (opção of=/dev/fd0).
Quase todos os comandos aceitam a opção –-help que mostra uma ajuda simples das opções e argumentos aceitos pelo comando.
Você está no caminho (path) certo?
É importante que você tenha em mente que o Linux somente vai executar os comandos que sejam internos do interpretador, ou comandos cuja localização esteja na variável PATH ou comandos chamados com o seu caminho explícito.
$ ls
Ou
$ /bin/ls
No exame é muito importante que você esteja bem familiarizado com os comandos listados neste capítulo e sua sintaxe.
Portanto, você precisa saber quando o comando aceita opções com um traço, dois traços ou nenhum traço.
O Bash também permite que você entre com uma sequência de comandos em uma mesma linha. Para isso você deve separar os comandos com o símbolo ; (ponto e vírgula).
$ echo $PS1; echo $PS2
O Bash escreve em um arquivo chamado .bash_history localizado no diretório home de cada usuário o histórico de todos os comandos digitados pelos usuários.
A possibilidade de recuperar os comandos digitados é fabulosa. Isto pode ser bastante útil para fins de auditoria, relembrar a memória ou simplesmente economizar os dedos.
Você poderá ver os comandos que digitou visualizando o conteúdo do arquivo .bash_history.
$ cat ~/.bash_history
O comando cat, dentre outras coisas, serve para visualizar o conteúdo dos arquivos.
A seguir temos uma tabela detalhada dos atalhos no Linux para você poder fazer uso rápido dos comandos armazenados no arquivo .bash_history.
O símbolo “~” faz referência ao diretório home do usuário logado.
TABELA – Uso rápido dos comandos armazenados no arquivo .bash_history.
Atalho | Descrição |
!! | Executa o último comando digitado |
!n | Executa o comando na linha n no arquivo .bash_history |
!texto | Executa o comando mais recente que inicia com o texto |
!?texto | Executa o comando mais recente que contém o texto |
^texto1^texto2 | Executa o último comando substituindo o texto1 pelo texto2 |
Alt M < | Vai para o início do arquivo .bash_history |
Alt M > | Vai para o fim do arquivo .bash_history |
Ctrl p | Recupera os comandos armazenados no arquivo .bash_history de trás para frente |
Ctrl n | Recupera os comandos já listados de frente para trás |
Ctrl b | Volta um caractere nos comandos já recuperados |
Ctrl f | Anda um caractere para frente nos comandos já recuperados |
Ctrl a | Volta para o início da linha nos comandos já recuperados |
Ctrl e | Vai para o fim da linha nos comandos já recuperados |
Ctrl l | Limpa a tela |
Ctrl d | Apaga caracteres do texto do cursor até o fim da linha |
Ctrl k | Apaga o texto do cursor até o fim da linha de uma só vez |
Ctrl y | Cola o texto apagado pelo comando anterior na tela |
Ctrl rtexto | Procura comandos que contenham o texto do último comando para o primeiro |
Ctrl stexto | Procura comandos que contenham o texto do primeiro comando para o último |
Essa tabela é um ótimo guia para ter em mãos ao utilizar o Shell do Linux.
Você pode salvar essa página como favorita em seu navegador, ou compartilhar com um amigo, para sempre ter acesso fácil para consulta!
Conclusão
Percebeu como existem inúmeras possibilidades de utilização do Shell para o seu sistema Linux?
Entender os comandos pode parecer complicado, mas com um pouco de atenção e prática, os recursos se tornam mais amigáveis e simples de mexer.
Basta ter bem claro em mente todos os princípios que levam à execução do comando: path, estruturas lógicas, funções e retorno esperado.
Nesse caso, sempre busque as informações em fontes confiáveis, publicadas por profissionais que realmente conhecem o ramo e já atuaram nele por muito tempo.
Um bom modo de encontrar informações confiáveis, simples de entender, acompanhadas de aplicações práticas e instruções corretas, é através dos Livros Certificação Linux, publicados pelo professor Uirá Ribeiro.
Existem também cursos didáticos e práticos sobre o universo Linux, que o ajudarão a entender e aplicar todos os conceitos aprendidos. Vale a pena conferir!
Tag:argumentos, atalhos, bash_history, iniciantes, opções, path, shell