Criando uma lixeira p/ o usuário

Publicado por Sandro Marcell 18/05/2007

[ Hits: 4.847 ]

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

Twitter via shell

Convertendo rmvb para avi

Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT

Informação sobre partições montadas em Xdialog

Validador mac-address em shell script


  

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