Olá! Boas-vindas a este curso de Linux!
Meu nome é Gabi Ribeiro e serei a instrutora deste curso.
Audiodescrição: Gabi é uma mulher parda, com cabelo rosa. Atrás dela, há uma parede iluminada com as cores vermelho e azul.
Se você tem interesse em utilizar o Linux no seu dia a dia como pessoa desenvolvedora ou DevOps, este curso é para você.
Neste curso, nós vamos aprender a criar scripts no Linux e gerenciar permissões e grupos. Também aprenderemos a realizar buscas, usar filtros em arquivos, ordenar, remover duplicatas e comparar informações de arquivos. Além disso, vamos extrair dados de arquivos de texto utilizando a contagem de letras e palavras, e concatenar arquivos.
Por fim, aprenderemos a compactar e descompactar arquivos e a realizar o agendamento de tarefas no Linux. Estudaremos tudo isso através da criação de um script que realizará o processamento de arquivos de logs de uma aplicação.
Para aproveitar melhor o conteúdo deste curso, é muito importante que você tenha concluído o curso anterior desta formação.
Não se esqueça de aproveitar os recursos da plataforma. Além dos vídeos, nós temos as atividades, o apoio do fórum e da comunidade do Discord.
Bons estudos e até o próximo vídeo.
Nós temos os arquivos de log de uma aplicação, que trazem registros importantes sobre atividades, erros e eventos que ocorrem dentro da nossa aplicação.
Esses arquivos foram disponibilizados na atividade de preparação do ambiente, com o passo a passo de como baixá-los e salvá-los no diretório correto em nosso computador.
Como os arquivos de log contêm informações relevantes sobre o estado e a saúde da aplicação, é interessante monitorá-los. No Linux, existem comandos úteis para processar esses logs, extraindo informações como erros e dados sensíveis que possam ter vazado, permitindo solucionar problemas na aplicação.
Esse processamento de logs segue uma série de instruções e comandos repetitivos. Em vez de digitar esses comandos manualmente no terminal toda vez que quisermos processar um arquivo de log, podemos consumir essas instruções de forma automática.
No Linux, há um recurso interessante para isso: os scripts. Vamos criar um script para monitorar nossos logs.
Com o terminal do WSL aberto, primeiramente, criaremos uma pasta para armazenar nosso script. Executamos o seguinte comando:
mkdir scripts-linux
Em seguida, vamos entra na pasta, com o seguinte comando:
cd scripts-linux
Precisamos de um editor de texto para criar o script.
No curso anterior, aprendemos a usar o Nano no Linux, mas ele não é a única opção disponível. É interessante conhecer diversos editores de texto, pois cada um possui recursos diferentes, pontos positivos e negativos dependendo da situação.
Caso não haja um motivo específico para usar determinado editor, podemos escolher de acordo com nossas preferências. Neste curso, utilizaremos o Vim, outro editor de texto disponível nos sistemas Linux.
Para criar um arquivo e nosso script com o Vim, digitamos no terminal o comando vim
seguido do nome do arquivo, que será nosso script. A .sh
indicará que se trata de um script Bash, um script de Shell do Linux:
vim monitoramento-logs.sh
Para abrir o editor de texto e criar o arquivo, basta pressionar a tecla "Enter". O arquivo vazio será aberto.
Para habilitar a edição de texto no Vim, pressionamos a tecla "I" do teclado, entrando no modo de inserção (insert mode), indicado pela palavra "INSERT" na parte inferior esquerda do editor.
Um script é um tipo de código. Utilizaremos o script do tipo Bash, que oferece funcionalidades básicas de programação e suporte a comandos Linux executados no terminal.
Um script Bash possui uma estrutura. Além da extensão .sh
, precisamos especificar algumas informações para indicar que se trata de um script.
A primeira linha que adicionamos é chamada de shebang, começando com #!
, seguido do caminho para o interpretador que executará o código. Como é um script Bash, utilizaremos o Bash como interpretador, logo:
#!/bin/bash
Os scripts podem ser escritos em diversas linguagens, como Python. Dependendo da linguagem escolhida, muda-se o caminho para o interpretador utilizado.
Agora que configuramos o necessário, podemos pular uma linha e começar a escrever nosso script e adicionar funcionalidades para processar e monitorar os arquivos de log.
A primeira ação no script é criar uma variável que armazenará o diretório onde estão nossos logs. Uma variável é um recurso no código para armazenar informações. Neste caso, o diretório de logs.
A variável será chamada LOG_DIR
. Para atribuir um valor, usamos o sinal de igual. O valor deve ser escrito entre aspas duplas:
LOG_DIR=" "
Começamos o caminho com ..
, que indica que vamos sair da pasta atual. Em seguida, /my_app/logs
, que é a pasta criada na atividade de preparação do ambiente:
LOG_DIR="../myapp/logs"
As aspas duplas são opcionais ao atribuir valores a uma variável, mas é uma boa prática usá-las para evitar problemas com caracteres especiais.
Outra funcionalidade do script é exibir uma mensagem na tela. Para isso, usamos o comando echo
do Linux, que nos permite escrever uma mensagem entre aspas duplas.
Vamos escrever "Verificando logs no diretório" e, em seguida, queremos indicar qual é esse diretório. Como já temos o diretório salvo na variável LOG_DIR
, utilizaremos o valor armazenado nela. No script Bash, chamamos a variável usando o sinal de dólar ($) seguido do nome da variável, portanto:
echo "Verificando logs no diretorio $LOG_DIR"
Assim, essa mensagem será exibida na tela, quando o script for executado.
Para salvar as alterações no arquivo usando o Vim, é preciso sair do modo de inserção pressionando a tecla "Esc". Assim, entramos no modo de comando.
Agora, ao digitar, o texto aparecerá no canto inferior esquerdo, onde antes estava escrito "INSERT". Para salvar, digitamos :w
e pressionamos "Enter".
A letra W vem da palavra "write", que significa "escrever" em inglês.
A mensagem "written" indica que as alterações foram salvas. Para sair do editor de texto, digitamos :q
e pressionamos Enter, retornando ao terminal do Linux.
A letra Q vem da palavra "quit", que significa "sair" em inglês.
Já entendemos o que é um script e criamos as primeiras linhas de código. Na sequência, aprenderemos como executar nosso script.
Já criamos nosso script com a estrutura inicial e agora queremos executá-lo para verificar se está tudo funcionando conforme o esperado. Porém, no Linux, sempre que desejamos executar um script Bash pela primeira vez, precisamos conceder permissão de execução para ele.
Com o terminal aberto na pasta onde está o script, vamos rodar o seguinte comando:
chmod 755 monitoramento-logs.sh
Após pressionar "Enter", já teremos aplicado a permissão de execução.
O comando chmod
no Linux é utilizado para gerenciar permissões, adicionando ou removendo permissões em arquivos e diretórios. Mas o que significam os números que utilizamos? Como sabemos quais números usar para adicionar e remover essas permissões? Vamos entender em detalhes como funciona essa gestão de permissões no Linux.
É importante compreender esses detalhes de gerenciamento de permissões, pois são fundamentais para a segurança e administração do sistema. Existem diferentes tipos de permissões que podemos conceder ou retirar de arquivos e diretórios.
A primeira é a permissão de leitura, representada pela letra r (read, em inglês), que permite acessar o conteúdo de um arquivo ou listar arquivos de um diretório.
A segunda é a permissão de escrita, representada pela letra w (de write, em inglês), que permite modificar arquivos ou o conteúdo de um diretório.
Por fim, temos a permissão de execução, representada pela letra x (de execute, em inglês), que permite executar códigos, scripts e acessar diretórios.
Além das permissões, existem classes de usuários no Linux.
A primeira classe é o proprietário, representado pela letra u, que é o dono do arquivo. No nosso script, somos os proprietários.
Em seguida, temos o grupo, representado pela letra g, que é um grupo de usuários que não são os donos do arquivo, mas podem ter acesso a ele. Por exemplo, em uma instituição, é interessante que o time de desenvolvimento tenha acesso ao script. Então, podemos colocar essas pessoas em um grupo e conceder acesso ao grupo.
Por fim, temos outros, representados pela letra o, que são todos os usuários que não são nem o proprietário, nem parte de um grupo. Trata-se de pessoas de outros times que não estão trabalhando diretamente no projeto de processamento de logs.
Existe também a representação de todos os usuários, indicada pela letra a, que engloba proprietário, grupo e outros.
Quando escrevemos o comando chmod 755
, utilizamos uma notação octal para representar as permissões. Essa notação usa números para indicar o tipo de permissão que estamos aplicando ou removendo.
Cada permissão tem um valor diferente:
E o que significa o valor 755? Vamos entender por partes, a seguir.
Cada um desses três algarismos representa uma classe de usuários. O primeiro indica as permissões para a classe de usuário proprietário. O segundo para a classe grupo. O terceiro para outros.
Para chegar ao 7, somamos os valores das permissões. O proprietário tem permissão de leitura (4), gravação (2) e execução (1). Logo, 4 + 2 + 1 será 7.
Para o grupo e outros, que têm apenas permissão de leitura e execução, somamos apenas 4 + 1, resultando em 5. Assim, chegamos ao número 755, do chmod 755
.
Além da notação octal, podemos usar a notação simbólica no chmod
, que utiliza letras e símbolos para representar operações e usuários:
Por exemplo: chmod u+x arquivo.sh
. A letra u indica o usuário proprietário. O símbolo de + adiciona uma permissão. A letra x representa a permissão de execução. Em outras palavras, estamos atribuindo a permissão de execução para o proprietário do arquivo arquivo.sh
.
Outro exemplo: chmod g-w arquivo.sh
. A letra g indica o grupo. O operador - remove uma permissão. O w representa a permissão de gravação. Ou seja, removemos a permissão de gravação do grupo.
Como seria o chmod 755
na notação simbólica? Poderíamos usar o chmod +x
Como estamos atribuindo a permissão de execução para todas as classes, podemos emitir a primeira informação, apenas colocando o operador de + e o x, de execução.
Para escolher entre notação octal e simbólica, é interessante considerar alguns aspectos. Por exemplo, a facilidade de uso. A notação octal é mais compacta e simples, enquanto a simbólica é mais específica.
Outro aspecto a se considerar, é o escopo de modificação. Na notação octal, atribuímos permissões para todas as classes, enquanto a notação simbólica permite mais especificidade ao adicionar ou remover permissões.
Há uma atividade "Para saber mais" sobre as notações para você explorar mais o assunto.
Para limpar a tela do terminal, usa-se "Ctrl + L".
Para verificar as permissões de um arquivo, usamos o comando ls -l
, que lista os arquivos e suas permissões:
ls -l
No início da linha, caracteres indicam o tipo de arquivo e suas permissões. No nosso caso, temos:
-rwxr-xr-x
O primeiro traço indica um arquivo regular. Caso fosse um diretório, seria a letra "d".
Os três primeiros dígitos representam as permissões do proprietário: r de leitura, w de escrita e x de execução.
Os três seguintes indicam permissões do grupo: r de leitura, um traço no lugar do w porque não há permissão de escrita, e o x de execução. Os últimos são as permissões de outros usuários, que são iguais ao anterior.
Em seguida, temos o nome do proprietário e o grupo atribuído ao arquivo.
Agora que entendemos a gestão de permissões, podemos executar nosso script. Basta executar o seguinte comando:
./monitoramento-logs.sh
Dessa forma, veremos na tela a seguinte mensagem:
Verificando logs no diretorio ../myapps/logs
A saída na tela, gerada pelo comando echo
, confirma que o script está verificando logs no diretório especificado.
Aprendemos a gerenciar permissões e executar scripts. Na sequência, vamos entender como gerenciar grupos.
O curso Linux: criando script para processamento de arquivos de logs possui 176 minutos de vídeos, em um total de 64 atividades. Gostou? Conheça nossos outros cursos de Linux em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.