Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Phillipe Smith em 01/07/2009 (última atualização em 21/09/2009)   [ 7971 hits ]

Login: Smithux, 252378 pontos

Homepage: http://www.smithux.com   


Descrição

Segue um pequeno ShellScript para limpar arquivos temporários do Linux. Aqueles arquivos
com extensões .bak, .tmp ou com um ~ no final do nome do arquivo [ exemplo: arquivo.txt\~ ].

É bem útil! Espero que seja útil para todos também! ;)

[ Download: limpa-temps ]   [ Enviar nova versão ]

Versões atualizadas deste script (NOVO)
Linux user

Publicado por Phillipe Smith em 20/09/2009

Changelog: Corrigido modo de execução como administrador.

(versão 2)

 

[ Esconder código-fonte ]

#!/bin/sh


#################################################################
#                                                               #
# ShellScript para limpeza de arquivos temporários do sistema   #
#                                                               #
# Autor: Phillipe Smith ( SmithuX )                             #
# Email: phillipe@archlinux.com.br                              #
#                                                               #
#################################################################                                                            


function LINHAS(){
for i in `seq 1 50`
do
   echo -n "="
done
echo -e "\n"
}

function LIMPAR(){

echo -e "\nOs seguintes arquivos fora encontrados: \n"
echo -e  "=============================================\n"
sed -n 'p' $log

if [ -s $log ];then
   echo -e  "\n============================================="
   echo -ne "\nDeseja remover os arquivos listados? [ s ou n ]:  "
   read opcao
   case $opcao in
      's')
      clear   
      while [ $cont -lt  $num ]
      do
         comando=$cont"p"
         arquivo=`sed -n $comando $log`
         echo -e "\n"
         rm -rfv "$arquivo"
         echo -e "\n"
         cont=`expr $cont + 1`
      done
      
      LINHAS
      echo -e "\t     Operação concluída! \n"
      LINHAS
      rm -rf $log
      killall -9 $(basename $0) 2>/dev/null
      ;;

      'n')
      clear
      LINHAS
      echo -e "\t   Operação cancelada......\n"
      LINHAS
      rm -rf $log
      exit
      ;;

      *)
      clear
      echo -e "\n====> '$opcao' não é uma opção válida. <====\n\n"
      LIMPAR
      ;;
   esac
else
   clear
   LINHAS
   echo -e "\tNenhum arquivo temporário encontrado.\n"
   LINHAS
   rm -rf $log
fi
}

if [ $(whoami) != "root" ]; then
echo -e   """\n
==================================================
Caso você execute o aplicativo como usuário comum,
somente será possível excluir arquivos temporários
onde seu usuário tem permissão.
==================================================\n
"""

echo -n "Deseja executar como root? [ s ou n ]: "
read opt

if [ $opt == "s" ]; then
   su root -c `which $(basename $0)`
else if [ $opt == "n" ];then
   continue
else
   echo "Opção Inválida...."
   exit
fi
fi
fi

clear
echo "Procurando arquivos temporários.................."

log="/tmp/temps.log"
procurar=$(find / -iname "*~" -o -iname "*.bak" -o -iname "*.tmp" > $log 2> /dev/null)
num=`wc -l $log | awk '{print $1}'`
num=`expr $num + 1`
cont=1

LIMPAR


Scripts recomendados
   Script Linux recomendado Script Para Ajustar o Intevalo de Legendas
   Script Linux recomendado Script - monitorando servidor
   Script Linux recomendado Load Balance
   Script Linux recomendado Utilitário para Slackware 10
   Script Linux recomendado Limpar arquivos core

Comentários
[1] Comentário enviado por erasmo em 20/09/2009 - 17:16h:

Phillipe Smith,

esta dando este erro:

./limpa-temps: 12: Syntax error: "(" unexpected

erasmo

[2] Comentário enviado por Smithux em 20/09/2009 - 21:15h:

Opa Erasmo!
Obrigado por reportar.

Verifiquei o script novamente e gostaria que você testasse.

Segue o link para download: http://pastie.org/624042

Obrigado!

[3] Comentário enviado por vfs em 21/09/2009 - 09:02h:

Bonitinho seu script. Eu tinha um desses no meu pc. One liners para fazer esse trabalho:

find $HOME -iname "*~" -exec rm -f {} \;

só trocar o argumento do -iname por "*.bak", "*.tmp", etc. Ou:

for i in *~ *.bak *.tmp; do
find $HOME -iname "$i" -exec rm -f {} \;
done

[4] Comentário enviado por rweu em 03/04/2011 - 19:15h:

Fala Phillipe,

Aqui é o rweu, do Arch, blz de script meu garoto!!

Valeu!!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.