Boas-vindas a este curso! Me chamo Lucas Mata e sou instrutor aqui na Alura.
Audiodescrição: Lucas se declara uma pessoa de pele clara, barba e cabelo preto, usa óculos de armação preta e arredondada. Ele está nos estúdios da Alura, com uma iluminação roxa ao fundo. À sua direita, há uma estante com decorações e um letreiro com o logotipo da Alura.
Este curso é destinado a quem deseja iniciar uma carreira como pessoa desenvolvedora ou especialista em operação de sistemas, começando pelos fundamentos do Linux.
Iniciaremos uma jornada de aprendizado no universo do Linux, uma extensa família de sistemas operacionais amplamente utilizada em infraestrutura de rede, nuvem e servidores.
Aprenderemos a navegar no terminal do Linux:
Em seguida, aprenderemos a organizar projetos, criando, movendo, renomeando e até mesmo deletando diretórios e arquivos no sistema.
Realizaremos tarefas administrativas, como gerenciar a atualização de pacotes, instalar novos pacotes, analisar e verificar os processos em execução no sistema e enviar sinais de interrupção ou pausa para esses processos.
Por fim, criaremos VMs (Virtual Machines - Máquinas Virtuais) com o Linux na nuvem e acessaremos remotamente essas VMs utilizando o protocolo SSH.
De forma prática, aplicando o uso do Linux no dia a dia tanto em desenvolvimento quanto em operações. Explore os recursos disponíveis na plataforma: além dos vídeos, há atividades e suporte no fórum, além de nossa comunidade no Discord.
Nos vemos nos próximos passos dessa jornada no ambiente Linux!
Estamos no terminal de um ambiente Linux, especificamente Ubuntu. É fundamental entender a importância de aprender a navegar e interagir com o terminal nesse ambiente.
A maioria das aplicações web com as quais lidamos diariamente está hospedada em servidores sem a interface gráfica amigável à qual estamos acostumados em sistemas como o Windows.
Em muitas situações, nos deparamos com telas que, à primeira vista, podem parecer confusas, sem janelas ou ícones, exigindo uma navegação diferente. Portanto, dominar esse ambiente é crucial tanto para operações quanto para determinados momentos do desenvolvimento.
git clone
Essa tela pode parecer cheia de símbolos que não fazem sentido inicialmente.
Audiodescrição da tela do terminal: Tela de terminal exibindo a mensagem de boas-vindas do Ubuntu 22.04.3 LTS, mostrando informações como versão do sistema operacional, kernel GNU/Linux, links para documentação, gerenciamento e suporte, seguido por uma mensagem informativa que aparece uma vez ao dia e um prompt de comando aguardando entrada da pessoa usuária.
Vamos começar importando um projeto de um repositório GitHub para nosso ambiente Linux. Utilizaremos o comando git clone
para isso. Primeiro, colamos a URL do repositório que desejamos clonar.
git clone https://github.com/alura-cursos/adopet-frontend-cypress
Ao inserir a URL no navegador, observamos que ela pertence a uma aplicação web, especificamente um front-end de um site para adoção de animais de estimação. Ao executar o comando pressionando "Enter", o repositório será clonado da web para o ambiente local.
O retorno provavelmente terá uma aparência semelhante a esta:
Cloning into 'adopet-frontend-cypress'...
remote: Enumerating objects: 286, done.
remote: Counting objects: 100% (286/286), done.
remote: Compressing objects: 100% (202/202), done.
remote: Total 286 (delta 175), reused 183 (delta 72), pack-reused 0
Receiving objects: 100% (286/286), 803.13 KiB | 1.80 MiB/s, done.
Resolving deltas: 100% (175/175), done.
Lembre-se de que o retorno exibido acima é baseado na execução do comando pelo instrutor. O resultado em sua máquina pode variar um pouco.
Agora, surge a questão: como navegar nesse ambiente para verificar se tudo foi clonado corretamente? Diferente do que estamos acostumados, neste ambiente não temos setas, cliques ou ícones. Precisamos usar comandos específicos do ambiente Linux. Antes de explorar os comandos, é importante entender nossa localização atual no sistema.
Dica: Nossa localização no sistema está diretamente relacionada à pasta e ao diretório em que nos encontramos.
Essa pasta pode ser a de Downloads, um diretório de Imagens, ou um diretório de Programas e Recursos, onde podemos analisar os arquivos instalados na máquina.
As letras que aparecem antes do cursor fornecem informações valiosas sobre isso.
lcs@Avell4060-2:~$
Estamos na pasta home
, que é o ponto inicial do sistema para o usuário lcs
. O nome da pessoa usuária é indicado por lcs
antes do arroba. Após o arroba, observamos o Avell4060
, que indica o nome do dispositivo que estamos utilizando. O til (~) indica que estamos na home
, e o cifrão ($) mostra que estamos prontos para digitar comandos no nível de pessoa usuária, sem privilégios administrativos.
Em suma:
lcs
antes do arroba.Avell4060
após o arroba.home
.Para verificar o conteúdo da home
da pessoa usuária, utilizamos o comando ls
, que é uma abreviação de "list" ("listar").
Os comandos geralmente são acrônimos em inglês, o que pode torná-los menos intuitivos para nós.
ls
adopet-frontend-cypress
Ao digitá-lo, visualizaremos os diretórios e arquivos presentes, incluindo o repositório que acabamos de clonar. Para entrar nesse diretório, usamos o comando cd ./
, que significa change directory ("mudar diretório") seguido pelo nome do diretório que desejamos navegar.
Uma dica útil é usar a tecla "Tab" para autocompletar o nome do diretório.
cd ./adopet-frontend-cypress/
lcs@Avell4060-2:~/adopet-frontend-cypress$
Estamos dentro da pasta home (indicada pelo til ~), e o caminho é seguido pela barra (/). Atualmente, estamos especificamente no repositório adopet-frontend-cypress
.
Após entrar no repositório, podemos usar o comando ls
novamente para listar todos os itens que foram clonados do repositório remoto para o nosso ambiente.
README.md
config-overrides.js
package-lock.json
package.json
public
No início, é comum ter dúvidas sobre a navegação no sistema. Para saber exatamente em que ponto do sistema nos encontramos, é essencial compreender a estrutura de diretórios e como usar os comandos de navegação. Se estivermos, por exemplo, na pasta do Adopet
e quisermos ir a um diretório que contém arquivos de configuração do sistema, utilizamos os comandos adequados para nos deslocar até lá.
Na próxima etapa, vamos analisar em detalhes como nos orientar e navegar para outros diretórios importantes dentro do sistema Linux. Até mais!
Após clonarmos o repositório remoto do projeto Adopet, estamos aprendendo a navegar no ambiente Linux. Uma das questões que surgiram foi sobre como nos localizamos dentro desse ambiente, já que não há ícones para nos ajudar a identificar a pasta atual.
Atualmente, estamos dentro do diretório adopet
, que está localizado na home
do usuário lcs
.
lcs@Avell4060-2:~/adopet-frontend-cypress$
Para verificar o diretório em que estamos, usamos o comando pwd
("print working directory", traduzindo "exibir diretório de trabalho"). Antes de utilizar o pwd
, devemos limpar a tela para remover informações anteriores. Isso é feito com o comando clear
.
clear
Após limpar a tela, digitamos pwd
para exibir o caminho completo do diretório atual.
pwd
/home/lcs/adopet-frontend-cypress
Estamos na home
do usuário lcs
, e dentro dela está o diretório adopet
.
Se desejamos migrar para o diretório inicial do sistema, e não apenas o diretório home
do usuário, como fazemos isso?
Dentro deste sistema, há diversos arquivos de configuração, arquivos de aplicativos e bibliotecas, semelhantes aos encontrados em um ambiente Windows. Ao explorarmos o diretório C
, encontraremos vários diretórios que não utilizamos frequentemente, mas que desempenham um papel crucial no funcionamento do sistema operacional.
Se digitarmos cd
sem especificar um diretório, o sistema nos leva para o diretório home
do usuário lcs
(observe que há somente o til ~ e saímos do adopet
). No caso, se estivermos no usuário lcs
, o comando cd
nos levará para a home
desse usuário. Utilizando o comando ls
, podemos visualizar o conteúdo presente na home
do usuário lcs
(adopet-frontend-cypress
).
Por outro lado, se utilizarmos cd /
, seremos direcionados para a raiz do sistema operacional.
cd /
lcs@Avell4060-2:/$
Observe que, em vez do til (~) antes do cifrão ($), agora há uma barra (/). Essa barra indica que estamos no diretório raiz do sistema operacional, que é o ponto de partida do sistema.
Ao executar ls
nesse diretório, veremos uma série de diretórios que armazenam aplicativos, bibliotecas e arquivos de configuração essenciais para o funcionamento do sistema.
bin
dev
home
lib
lib64
lost+found
mnt
proc
run
snap
sys
usr
boot
etc
init
lib32
libx32
media
opt
root
sbin
srv
tmp
var
Esses diretórios são comuns em diversas distribuições Linux, como Ubuntu, CentOS, Debian e Amazon Linux.
O Linux não é um sistema operacional completo como o Windows ou macOS. Na verdade, é um kernel, que é a parte central do sistema operacional.
Kernel: Núcleo de um sistema operacional
O Linux é um kernel ("núcleo") de sistema operacional, e esse núcleo é open source ("código aberto"), o que nos permite utilizar e modificar sua base de código para construir nosso próprio sistema operacional. Essa flexibilidade faz com que o Linux seja amplamente utilizado em diversos dispositivos. Em grande parte, a infraestrutura de rede e servidores web é baseada em distribuições do Linux. Portanto, é crucial aprender a navegar no terminal, especialmente no ambiente Linux.
A navegação no terminal é bastante similar em diferentes distribuições. Embora possa haver variações no gerenciador de pacotes ou em alguns detalhes específicos, a estrutura e a lógica dos comandos de navegação permanecem consistentes.
Estamos na raiz do sistema e tentaremos acessar o diretório root
. Essa pasta contém arquivos de configuração e bibliotecas pertencentes ao superusuário, conhecido como root
, que possui privilégios administrativos.
cd ./root
-bash: cd: ./root: Permission denied
Ao usar o comando cd ./root
, podemos encontrar uma mensagem de "Permissão negada", porque estamos tentando acessar esse diretório como o usuário lcs
, que não possui permissões suficientes.
Agora, vamos tentar acessar o diretório usr
, que se refere a user ("usuário") e armazena arquivos, aplicativos e bibliotecas utilizados pelos usuários do sistema.
cd ./usr
ls
Ao usar o comando cd ./usr
, conseguiremos acessar o diretório e, ao executar ls
, veremos uma série de bibliotecas configuradas para os usuários.
bin
games
include
lib
lib32
lib64
libexec
libx32
local
sbin
share
src
A mensagem de "Permissão negada" ao tentar acessar o diretório root
destaca a importância do controle de acesso no Linux. Para realizar tarefas administrativas, precisamos obter permissões elevadas.
Vamos explorar como obter acesso administrativo para executar funções críticas em servidores com distribuições Linux. Até mais!
O curso Linux: gerenciando diretórios, arquivos, permissões e processos possui 123 minutos de vídeos, em um total de 49 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.