------------------ Utilizando o Dialog no Terminal ----------------------------------
Passo 1 - Instale o dialog (apt-get install dialog)
Passo 2 - Abra um arquivo, copie e cole o conteúdo abaixo.
#! /bin/bash
remove=$(dialog --stdout \
--title ' LIMPEZA DE TEMPORARIOS' \
--checklist 'O que você deseja apagar?' \
0 0 0 \
tmp '/tmp/*' on \
archives '/var/cache/apt/archives/*' off \
list '/var/lib/apt/lists/*' off \
log '/var/log/*' off)
tmp1=$(echo $remove | grep tmp);
log1=$(echo $remove | grep log);
list1=$(echo $remove | grep list);
archives1=$(echo $remove | grep archives);
if [ ${#tmp1} -gt 1 ]; then
rm -f /tmp/*;
fi
if [ ${#log1} -gt 1 ]; then
rm -f /var/log/*;
fi
if [ ${#list1} -gt 1 ]; then
rm -f /var/lib/apt/lists/*;
fi
if [ ${#archives1} -gt 1 ]; then
rm -f /var/cache/apt/archives/*;
fi
dialog --msgbox 'REMOCAO EFETUADA' 5 40
clear;
Passo 3 - Salve o arquivo na sua pasta /home/joseph/meuscript.sh
Passo 4 - digite no terminal o comando chmod +x /home/joseph/meuscript.sh
Passo 5 - Execute-o no terminal digitando /home/joseph/meuscript.sh
Obs1: O passo 4 pode ser substituido por sudo cp /home/nome-de-usuario/meuscript.sh /usr/bin/
Obs2: Se o passo 4 for substituído, muda o passo 5 e para executar o script agora basta digitar meuscript.sh no terminal.
Obs3: Se o script for executado como usuário normal, terá dificuldade de remover arquivos que apenas o root pode remover.
--------------------------------------------------------------------------------------------------------------------------------------------------------
------------------ Utilizando o Janelas Graficas com o Zenity ----------------------------------
Passo 1 - Instale o dialog (apt-get install zenity)
Passo 2 - Abra um arquivo, copie e cole o conteudo abaixo.
remove=$(zenity --list --checklist --title "REMOCAO DE ARQUIVOS." --text "Checkbox test." --column "" --column "DIRETORIOS" --width=300 --height=230 False "/tmp/*" False "/var/log/*" False "/var/lib/apt/lists/*" false "/var/cache/apt/archives/*")
tmp1=$(echo $remove | grep "/tmp/");
log1=$(echo $remove | grep "/log/");
list1=$(echo $remove | grep "/lists/");
archives1=$(echo $remove | grep "/archives/");
if [ ${#tmp1} -gt 1 ]; then
rm -f /tmp/*;
fi
if [ ${#log1} -gt 1 ]; then
rm -f /var/log/*;
fi
if [ ${#list1} -gt 1 ]; then
rm -f /var/lib/apt/lists/*;
fi
if [ ${#archives1} -gt 1 ]; then
rm -f /var/cache/apt/archives/*;
fi
zenity --info --text "AQUIVOS REMOVIDOS!"
Passo 3 - Salve o arquivo na sua pasta /home/joseph/meuscript2.sh
Passo 4 - digite no terminal o comando chmod +x /home/joseph/meuscript2.sh
Passo 5 - Va agora na sua pasta e execute meuscript2.sh dando um duplo clique nele.
Obs1: Se o programa for executado com usuário normal, terá dificuldade de remover arquivos que apenas o root pode remover.
Obs2:
Ambos os scripts vão remover apenas os arquivos:
rm -f /tmp/*;
rm -f /var/log/*;
rm -f /var/lib/apt/lists/*;
rm -f /var/cache/apt/archives/*
Para remover os subdiretórios dentro dos diretórios informado, caso deseje, tem de acrescentar o r antes do f.
rm -rf /tmp/*;
rm -rf /var/log/*;
rm -rf /var/lib/apt/lists/*;
rm -rf /var/cache/apt/archives/*
Para garantir a remoção mesmo, caso seja sua intenção, execute ambos os scripts como root.
Somente o root vai limpar esses diretórios.
Você pode inserir o sudo antes do rm -f para resolver essa questão, porém, o sudo pede a senha.
Na interface texto iria encher a paciência e na interface gráfica daria erro.
Para resolver isso:
como root, abra o arquivo /etc/sudoers
insira no final as linhas:
%sudo ALL=NOPASSWD: ALL
joseph ALL=NOPASSWD: ALL
Pronto, não vai ser mais solicitada a senha para os comando:
sudo rm -rf /tmp/*;
sudo rm -rf /var/log/*;
sudo rm -rf /var/lib/apt/lists/*;
sudo rm -rf /var/cache/apt/archives/*
Ta ai, mastigadinho. Verifique o código, veja se é o que quer. Tá por sua conta agora.
Boa sorte!