Conhecendo Linux (comandos básicos)
Neste módulo, os estagiários aprenderão sobre o sistema operacional Linux e comandos básicos para navegação e gerenciamento de arquivos.
Aulas
Aula Curso em Vídeo
Curso de Linux - Primeiros Passos
Vídeos Diolinux
Aprenda os comandos básicos do Linux - Terminal Ubuntu
30 Comandos do Terminal Linux BÁSICOS que você PRECISA SABER para ser um HACKER
Desafios
Desafio 1: Introdução ao Linux
Objetivo: Aprender os fundamentos do sistema operacional Linux, sua história e as distribuições mais populares.
Tópicos a serem estudados:
- História do Linux: Origem, criação e desenvolvimento do sistema operacional Linux.
- Diferenças entre Linux e outros sistemas operacionais (Windows, macOS).
- Distribuições Linux: Conheça as distribuições mais populares, como Ubuntu, Debian, Fedora, Arch, entre outras, e suas principais características.
- Filosofia e comunidade Linux: Entenda a filosofia do software livre, a importância das contribuições da comunidade e o papel dos desenvolvedores no ecossistema Linux.
Atividades propostas:
- Pesquise e leia sobre a história do Linux e seu desenvolvimento ao longo do tempo.
- Faça uma comparação entre o Linux e outros sistemas operacionais, destacando suas principais diferenças e vantagens.
- Escolha três distribuições Linux populares e escreva um pequeno resumo sobre cada uma, destacando suas principais características, vantagens e desvantagens.
- Explore a filosofia do software livre e a importância das contribuições da comunidade para o desenvolvimento e evolução do Linux. Discuta como a comunidade e os desenvolvedores interagem e contribuem para o ecossistema Linux.
Este desafio ajudará o estagiário a entender os fundamentos do sistema operacional Linux, sua história e principais distribuições, além de fornecer uma base sólida para o aprendizado de habilidades mais avançadas no uso do Linux.
Desafio 2: Navegação no sistema de arquivos
Objetivo: Praticar a navegação no sistema de arquivos Linux usando comandos como cd, ls, pwd e mkdir.
Tópicos a serem estudados:
- Comando
cd: Aprenda a mudar de diretório no terminal utilizando o comandocd. - Comando
ls: Conheça o comandolspara listar arquivos e diretórios. - Comando
pwd: Utilize o comandopwdpara exibir o caminho do diretório atual. - Comando
mkdir: Aprenda a criar novos diretórios com o comandomkdir.
Atividades propostas:
- Abra o terminal do seu sistema Linux e pratique a navegação entre os diretórios utilizando o comando
cd. Tente navegar até diretórios diferentes, como sua pasta de usuário, a pasta de documentos e a raiz do sistema. - Utilize o comando
lspara listar os arquivos e diretórios presentes no diretório atual. Explore as opções do comandols, como-l(lista detalhada) e-a(mostra arquivos ocultos). - Verifique o caminho do diretório atual utilizando o comando
pwd. Preste atenção em como o caminho muda conforme você navega pelos diretórios com o comandocd. - Crie novos diretórios utilizando o comando
mkdir. Experimente criar diretórios dentro de outros diretórios e utilize o comandolspara confirmar a criação. Por exemplo, crie a seguinte hierarquia de diretórios:
projeto/
├── assets/
│ ├── css/
│ ├── js/
│ └── images/
└── src/
├── components/
└── views/
Para criar essa hierarquia, quais seriam os comandos utilizados? Experimente criar essa estrutura de diretórios no seu sistema Linux.
Desafio 3: Gerenciamento de arquivos e diretórios
Objetivo: Aprender a criar, copiar, mover e remover arquivos e diretórios com comandos como touch, cp, mv e rm.
Tópicos a serem estudados:
- Comando
touch: Aprenda a criar arquivos vazios com o comandotouch. - Comando
cp: Conheça o comandocppara copiar arquivos e diretórios. - Comando
mv: Utilize o comandomvpara mover ou renomear arquivos e diretórios. - Comando
rm: Aprenda a remover arquivos e diretórios com o comandorm.
Atividades propostas:
- Abra o terminal do seu sistema Linux e pratique a criação de arquivos vazios utilizando o comando
touch. Por exemplo, crie um arquivo chamadoexemplo.txtno diretório atual. - Utilize o comando
cppara copiar arquivos e diretórios. Por exemplo, copie o arquivoexemplo.txtque você criou na atividade anterior para um novo arquivo chamadocopia_exemplo.txt. Além disso, copie um diretório e seu conteúdo utilizando a opção-rdo comandocp. - Aprenda a mover ou renomear arquivos e diretórios utilizando o comando
mv. Por exemplo, mova o arquivocopia_exemplo.txtpara um diretório chamadoarquivose renomeie o arquivoexemplo.txtparanovo_exemplo.txt. - Pratique a remoção de arquivos e diretórios com o comando
rm. Remova o arquivonovo_exemplo.txtutilizando o comandorm. Além disso, remova um diretório e seu conteúdo utilizando a opção-rdo comandorm.
Observação: Tenha cuidado ao utilizar o comando rm, pois a remoção de arquivos e diretórios é permanente e não pode ser desfeita.
Este desafio ajudará o estagiário a se familiarizar com o gerenciamento de arquivos e diretórios no sistema Linux, utilizando comandos básicos para criar, copiar, mover e remover arquivos e diretórios.
Desafio 4: Gerenciamento de permissões
Objetivo: Entender o sistema de permissões do Linux e aprender a alterar permissões e propriedade de arquivos e diretórios usando comandos como chmod e chown.
Tópicos a serem estudados:
- Permissões no Linux: Aprenda sobre o sistema de permissões no Linux, incluindo permissões de leitura, escrita e execução para o proprietário, grupo e outros usuários.
- Comando
chmod: Conheça o comandochmodpara alterar as permissões de arquivos e diretórios. - Comando
chown: Aprenda a utilizar o comandochownpara alterar a propriedade de arquivos e diretórios.
Atividades propostas:
- Estude o sistema de permissões no Linux e aprenda a identificar as permissões de um arquivo ou diretório utilizando o comando
ls -l. - Crie um arquivo chamado
teste.txtcom o comandotouche verifique suas permissões atuais usandols -l. - Utilize o comando
chmodpara alterar as permissões do arquivoteste.txt. Por exemplo, remova a permissão de escrita para todos os usuários e adicione a permissão de execução para o proprietário. - Crie um diretório chamado
exemploe verifique suas permissões atuais com o comandols -l. - Utilize o comando
chownpara alterar a propriedade do diretórioexemplo. Por exemplo, altere o proprietário e o grupo para um usuário e grupo existentes no seu sistema.
Este desafio ajudará o estagiário a compreender o sistema de permissões no Linux e a utilizar comandos como chmod e chown para alterar permissões e propriedade de arquivos e diretórios.
Desafio 5: Utilização de pipes e redirecionamento
Objetivo: Aprender a usar pipes (|) e redirecionamento (>, >>) para conectar e manipular a saída de comandos no Linux.
Tópicos a serem estudados:
- Pipes (
|): Conheça o conceito de pipes e como usá-los para conectar a saída de um comando à entrada de outro. - Redirecionamento (
>,>>): Aprenda sobre redirecionamento e como direcionar a saída de um comando para um arquivo ou anexar à um arquivo existente.
Atividades propostas:
- Estude o conceito de pipes e redirecionamento no Linux e aprenda a utilizar os operadores
|,>e>>. - Utilize pipes para conectar a saída de um comando à entrada de outro. Por exemplo, utilize o comando
lspara listar os arquivos em um diretório e o comandogreppara filtrar os arquivos que contêm uma determinada palavra. - Crie um arquivo chamado
saida.txte utilize o redirecionamento>para direcionar a saída do comandolspara esse arquivo. - Execute novamente o comando
lscom um argumento diferente (por exemplo,ls -l) e utilize o redirecionamento>>para anexar a saída ao arquivosaida.txtsem sobrescrever o conteúdo original. - Pratique a combinação de pipes e redirecionamento. Por exemplo, liste os arquivos de um diretório, filtre-os com o comando
grepe redirecione o resultado para um arquivo chamadofiltrado.txt.
Este desafio ajudará o estagiário a compreender e utilizar pipes e redirecionamento no Linux, permitindo que manipule a saída de comandos de forma eficiente.
Desafio 6: Comandos de busca e manipulação de texto
Objetivo: Praticar comandos de busca e manipulação de texto como grep, find, sort, cut e awk.
Tópicos a serem estudados:
grep: Entenda o funcionamento do comandogreppara filtrar e buscar por padrões em arquivos de texto.find: Aprenda a usar o comandofindpara localizar arquivos e diretórios no sistema de arquivos.sort: Descubra como utilizar o comandosortpara ordenar linhas de texto.cut: Conheça o comandocute como usá-lo para remover seções de texto.awk: Aprenda sobre o comandoawke como aplicá-lo para manipular e processar arquivos de texto.
Atividades propostas:
- Utilize o comando
greppara encontrar todas as ocorrências de uma palavra específica em um arquivo de texto. - Use o comando
findpara localizar todos os arquivos com extensão.txtem um diretório e seus subdiretórios. - Crie um arquivo de texto com várias linhas e utilize o comando
sortpara ordená-las alfabeticamente. - Com o mesmo arquivo de texto, utilize o comando
cutpara remover uma coluna específica de cada linha. - Aplique o comando
awkpara extrair informações específicas de um arquivo de texto, como a soma de uma coluna numérica.
Este desafio ajudará o estagiário a dominar os comandos de busca e manipulação de texto no Linux, permitindo que manipule e processe arquivos de texto de forma eficiente.
Desafio 7: Gerenciamento de processos
Objetivo: Aprender a gerenciar processos no Linux usando comandos como ps, top, kill, nice e renice.
Tópicos a serem estudados:
ps: Entenda o funcionamento do comandopspara exibir informações sobre os processos em execução.top: Aprenda a usar o comandotoppara monitorar os processos em tempo real.kill: Descubra como utilizar o comandokillpara encerrar processos.nice: Conheça o comandonicee como usá-lo para definir a prioridade de execução de um processo.renice: Aprenda sobre o comandorenicee como aplicá-lo para alterar a prioridade de um processo em execução.
Atividades propostas:
- Utilize o comando
pspara listar todos os processos em execução no seu sistema. - Use o comando
toppara monitorar os processos em tempo real e identificar os que estão consumindo mais recursos. - Crie um processo em segundo plano e utilize o comando
killpara encerrá-lo. - Inicie um processo com uma prioridade específica usando o comando
nice. - Altere a prioridade de um processo em execução utilizando o comando
renice.
Este desafio ajudará o estagiário a entender e gerenciar processos no Linux, permitindo que controle e otimize o uso dos recursos do sistema.
Desafio 8: Criação de Alias e funções básicas com Shell Script
Objetivo: Aprenda a criar aliases e funções básicas com Shell Script para facilitar o cotidiano.
Tópicos a serem estudados:
- Alias: Entenda como criar aliases para comandos no Linux e como eles podem simplificar seu trabalho diário.
- Funções básicas: Aprenda a criar funções básicas em Shell Script para automatizar tarefas e melhorar a eficiência.
- Shell Script: Conheça a sintaxe básica do Shell Script e como criar scripts para realizar tarefas comuns.
Atividades propostas:
- Crie um alias para um comando que você utiliza frequentemente. Por exemplo, um alias para o comando
ls -la. - Desenvolva uma função básica em Shell Script que receba dois números como argumentos e calcule a soma deles.
- Crie um Shell Script simples que verifique a existência de um arquivo em um diretório específico e exiba uma mensagem personalizada.
- Adicione seus aliases e funções básicas ao arquivo de configuração do seu shell (por exemplo,
.bashrcou.zshrc) para que sejam carregados automaticamente ao iniciar um novo terminal. - Peça ajuda a um líder técnico para aprimorar suas habilidades em Shell Script e entender boas práticas.
Este desafio ajudará o estagiário a se familiarizar com a criação de aliases e funções básicas em Shell Script, melhorando a eficiência no cotidiano e a capacidade de automatizar tarefas.