Atividades
- Elabore um script que automatiza a atualização de pacotes do sistema operacional.
#!/bin/bash
echo "Atualizando lista de pacotes..."
sudo apt update
echo "Atualizando pacotes instalados..."
sudo apt upgrade -y
echo "Atualização concluída!"
Executando:
jezebel@Linux:~$ nano
jezebel@Linux:~$ chmod +x atualizar_sistema.sh
jezebel@Linux:~$ ./atualizar_sistema.sh
Atualizando lista de pacotes...
- Crie um script que renomeie todos os arquivos em um diretório, adicionando um prefixo ou sufixo especificado.
#!/bin/bash
read -p "Digite o diretório dos arquivos: " dir
read -p "Digite o texto desejado (prefixo ou sufixo): " texto
read -p "Você quer adicionar como (p)refixo ou (s)ufixo? " tipo
cd "$dir" || { echo "Diretório inválido!"; exit 1; }
for arq in *; do
if [ "$tipo" = "p" ]; then
mv "$arq" "${texto}_${arq}"
else
# separa nome e extensão
nome="${arq%.*}"
ext="${arq##*.}"
if [ "$nome" = "$ext" ]; then
# arquivo sem extensão
mv "$arq" "${nome}_${texto}"
else
mv "$arq" "${nome}_${texto}.${ext}"
fi
fi
done
echo "Arquivos renomeados com sucesso!"
Executando:
jezebel@Linux:~$ nano
jezebel@Linux:~$ chmod +x renomear_arquivos.sh
jezebel@Linux:~$ mkdir teste
jezebel@Linux:~$ cd teste
jezebel@Linux:~/teste$ touch a.txt b.txt c.txt
jezebel@Linux:~/teste$ ls
a.txt b.txt c.txt
jezebel@Linux:~/teste$ cd ..
jezebel@Linux:~$ ./renomear_arquivos.sh
Digite o diretório dos arquivos: /home/jezebel/teste
Digite o texto desejado (prefixo ou sufixo): novo
Você quer adicionar como (p)refixo ou (s)ufixo? s
Arquivos renomeados com sucesso!
jezebel@Linux:~$ cd teste
jezebel@Linux:~/teste$ ls
a_novo.txt b_novo.txt c_novo.txt
- Desenvolva um script que automatiza a criação de usuários no sistema, solicitando ao usuário que forneça o nome e outros detalhes necessários.
#!/bin/bash
read -p "Digite o nome do novo usuário: " usuario
sudo useradd -m "$usuario"
echo "Usuário criado: $usuario"
echo "Definindo senha..."
sudo passwd "$usuario"
Executando:
jezebel@Linux:~$ nano
jezebel@Linux:~$ chmod +x criar_usuario.sh
jezebel@Linux:~$ ./criar_usuario.sh
Digite o nome do novo usuário: Jezebel
[sudo] password for jezebel:
Usuário criado: Jezebel
Definindo senha...
New password:
Retype new password:
- Construa um script para monitorar o espaço em disco usando o comando
dfna coleta de informações.
#!/bin/bash
limite=90
# Coleta os dados da partição raiz "/"
linha=$(df -h / | awk 'NR==2')
total=$(echo "$linha" | awk '{print $2}')
usado=$(echo "$linha" | awk '{print $3}')
disponivel=$(echo "$linha" | awk '{print $4}')
porcentagem=$(echo "$linha" | awk '{print $5}' | sed 's/%//')
echo "===== Monitoramento de Disco ====="
echo "Total: $total"
echo "Usado: $usado"
echo "Disponível: $disponivel"
echo "Uso (%): $porcentagem%"
echo "=================================="
# Verificação do limite
if [ $porcentagem -gt $limite ]; then
echo "Alerta: Uso do disco excedeu $limite%!"
else
echo "O uso do disco está dentro do limite."
fi
Executando:
jezebel@Linux:~$ nano
jezebel@Linux:~$ chmod +x monitorar_disco.sh
jezebel@Linux:~$ ./monitorar_disco.sh
===== Monitoramento de Disco =====
Total: 25G
Usado: 3.7G
Disponível: 20G
Uso (%): 16%
==================================
O uso do disco está dentro do limite.
- Escreva um script para automatizar o backup de um diretório específico para um local de destino, utilizando a compressão gzip.
#!/bin/bash
read -p "Digite o diretório que deseja fazer backup: " origem
read -p "Digite o destino do backup: " destino
data=$(date +%Y-%m-%d_%H-%M)
arquivo="backup_$data.tar.gz"
tar -czf "$destino/$arquivo" "$origem"
echo "Backup concluído!"
echo "Arquivo criado: $destino/$arquivo"
Executando:
jezebel@Linux:~$ nano
jezebel@Linux:~$ chmod +x backup_gzip.sh
jezebel@Linux:~$ ./backup_gzip.sh
Digite o diretório que deseja fazer backup: /home/jezebel/devops
Digite o destino do backup: /home/jezebel
tar: Removing leading `/' from member names
Backup concluído!
Arquivo criado: /home/jezebel/backup_2025-11-15_11-29.tar.gz