Criando uma lixeira p/ o usuário

Publicado por Sandro Marcell 18/05/2007

[ Hits: 4.722 ]

Homepage: http://sanmarcell.wordpress.com

Download lixo2.sh




Ao remover arquivos com este script, ele criará uma lixeira para o usuário preservando arquivos para posterior recuperação.

Dica: Coloque está linha em seu .bash_profile:

alias rm=nome_do_script

Assim toda vez que executar o comando 'rm', você estará invocando este script e removerá seus arquivos de forma segura!

  



Esconder código-fonte

#!/bin/zsh

## Lixeira.sh - Shell script que cria uma lixeira para o usuário
## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima)
## E-mail: sandro_marcell@yahoo.com.br
## Slackware GNU/Linux 10.1.0

# Remove arquivos e diretórios, sem pedido de confirmação 
# É possível o uso do metacaractere (*)
# Uso: nome_script arquivo1 arquivo2 [arquivoN]

# Realçando a saída do comando 'print':
Print () print '\e[1m'"$*" ; tput sgr0

# Checa se o usuário passou algum parâmetro:
[[ $# -eq 0 ]] && Print ">>> Uso: $(basename $0) arquivo1 [arquivoN]" && bye

# Caso tenha passado, o script continua!

# Criando a lixeira:
LIXEIRA=/tmp/lixeira-$USER
[[ ! -d $LIXEIRA ]] && mkdir $LIXEIRA

# Setando as permissões para a lixeira:
chmod u+rwx,go-rwx $LIXEIRA

# Início do laço 'for':
for A
do

# Será se o(s) arquivo(s), existe(m)?
[[ ! -e $A ]] && Print "> Arquivo ou diretório não encontrado!" && continue
       
# Se existir(em), o usuário pode removê-lo(s)?
[[ ! -w $A ]] && Print "> Sem permissão para remover!" && continue

# Se as condições acima forem satisfeitas:
ls $A | xargs cp -R -f $A --target-directory=$LIXEIRA 2> /dev/null
ls $A | xargs rm -R -f $A 2> /dev/null

Print "Arquivo removido!"

done

Scripts recomendados

Jogo da velha

Listar bolsas disponíveis no Senac

Consumo de memória

Faz backup do MySQL e envia para FTP

Papel de parede - Mudança automática no Ubuntu/Debian


  

Comentários
[1] Comentário enviado por SMarcell em 31/07/2007 - 08:41h

Aqui há a versão melhorada deste script:

>> http://www.slackbr.org/forum/viewtopic.php?t=14625

Falou!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts