Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 5.118 ]
Homepage: http://sanmarcell.wordpress.com
Este simples script em Tcl, remove arquivos e diretórios, mas em vez de apagá-los, ele os copia para um diretório que será criado em /tmp e que servirá como lixeira.
Sugestão: Coloque está linha em seu .bash_profile:
alias rm=nome_do_script
Assim toda vez que você chamar o comando rm, estará invocando este script.
#!/usr/bin/tcl
## Lixeira.tcl - 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
# +--------------------------------------------------------------+
# Este script remove arq(s). e dir(s)., sem pedido de confirmação.
# O uso do metacaractere (*) é permitido.
# +--------------------------------------------------------------+
# Checa se o usuário passou algum parâmetro para o script:
if {$argc == 0} {
puts stdout "\n>>> Uso: [file tail $argv0] arq.1 arq.2 ...\n"
exit 0
}
# Caso tenha passado, o script contínua!
# Criando, caso não exista o diretório onde o(s) arq(s)./dir(s).\
removido(s), será(ão) posto(s):
set LIXEIRA "/tmp/lixeira-$tcl_platform(user)"
if {![file exists $LIXEIRA]} {
file mkdir $LIXEIRA
}
# Setando as permissões para a lixeira:
file attributes $LIXEIRA -permissions u+rwx,go-rwx
# Início do laço "foreach", responsável pelo controle das execuções abaixo:
foreach ARQUIVO $argv {
# Checa se o(s) arq(s)./dir(s). existe(m):
if {![file exists $ARQUIVO]} {
puts stdout "\nArquivo ou diretório não encotrado!\n"
exit 0
continue
}
# Checa se o usuário é o dono:
if {![file owned $ARQUIVO]} {
puts stdout "\nSem permissão para remover!\n"
exit 0
continue
}
# Se o usuário desejar remover a lixeira!:
if {$ARQUIVO == $LIXEIRA} {
file delete -force $LIXEIRA
puts stdout "\nLixeira removida!\n"
continue
}
# Se as duas primeiras condições forem satisfeitas,\
então estes comandos serão executados:
file copy -force $ARQUIVO $LIXEIRA ;
file delete -force $ARQUIVO ;
puts stdout "\nArquivo removido!\n"
}
Script em Tcl para descompactar arquivos
param - abre aplicativos com parâmetros no Blackbox e outros
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problemas com Driver NVIDIA (3)
Linux é a solução para o fim do Windows10? (1)
Programa fora de escala na tela do pc (28)
converter algoritmo C++ em C? (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









