Vamos lá, passo a passo:
Listando os arquivos do diretório
iinternet5@internet5:~/amsn_received$ ls
240522.jpg
Documento1.bak~
ED_1_2007_TCU_ACE_TCE_ABT_FINAL.PDF
ED_7_2007_AGU_PROCURADORRES_FIN_PROV_DISC.PDF
eh_particao.sh
ies4linux-latest.tar.gz
ies4linux-latest.tar.gz.1
kde-kpat
Remocao.pdf
remove_seguro.sh
remove_seguro.sh~
Removendo um arquivo usando o parêmetro -i
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh ies4linux-latest.tar.gz.1 -i
rm: Rotina executada com opções. Comando rm será executado.
/bin/rm: remove arquivo comum `ies4linux-latest.tar.gz.1'? y
Removendo um arquivo com máscara (*)
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh 240*22.jpg
Removendo dois arquivos ao mesmo tempo e um com o nome completo
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh kde-kpat Remocao.pdf
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh remove_seguro.sh~
Listando ~/.Trash*
iinternet5@internet5:~/amsn_received$ ls /home/iinternet5/.Trash*
/home/iinternet5/.Trash
/home/iinternet5/.Trash.~1~
/home/iinternet5/.Trash.~2~
/home/iinternet5/.Trash.~3~
Observação:
A distro BigLinux não tem ~/.Trash como lixeira, por isso os arquivos removidos de modo seguro foram, na verdade, renomeados para esses listados acima!
Limpando a sujeira
iinternet5@internet5:~/amsn_received$ rm /home/iinternet5/.Trash*
Criando um ~/.Trash para ser usado como teste, já que a lixeira na verdade deve ser em outro lugar.
iinternet5@internet5:~/amsn_received$ mkdir ~/.Trash
Fazendo novos testes removendo arquivos com caminhos com pontos
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh ED_[17]* ../amsn_received/../../iinternet5/ies4linux-latest.tar.gz
rm: Impossível remover "../amsn_received/../../iinternet5/ies4linux-latest.tar.gz": Verifique.
Observação: Quando ocorre um erro em um dos arquivos, os demais não são removidos. No comando acima deveria atingir 3 arquivos. Segue abaixo à lista e depois tendo removê-los com um parâmetro de cada vez.
iinternet5@internet5:~/amsn_received$ ls
Documento1.bak~
ED_1_2007_TCU_ACE_TCE_ABT_FINAL.PDF
ED_7_2007_AGU_PROCURADORRES_FIN_PROV_DISC.PDF
eh_particao.sh
ies4linux-latest.tar.gz
remove_seguro.sh
Primeiro parêmetro
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh ED_[17]*
Funcionou, agora o segundo com um arquivo inexistente
iinternet5@internet5:~/amsn_received$ ./remove_seguro.sh arquivo_inexistente ../../iinternet5/ies4linux-latest.tar.gz
Talvez aqui foi o que vocês não entederam. Devo ter pulado essa parte na cola. Aqui causou um erro e novamente o arquivo
ies4linux-latest.tar.gz não pôde ser deletado. Então usei novamente o caminho
../amsn_received/../../iinternet5/ies4linux-latest.tar.gz (o mesmo usado lá em cima quando disse que era impossível remover e funcionou.
Coloquei aqui um caminho só para sacanear
$ ./remove_seguro.sh ../../iinternet5/../../../home/iinternet5/amsn_received/Documento1.bak~
Listagem final:
iinternet5@internet5:~/amsn_received$ ls
eh_particao.sh
remove_seguro.sh
Listando a pseudo-lixeira
iinternet5@internet5:~/amsn_received$ ls ~/.Trash
Documento1.bak~
ED_1_2007_TCU_ACE_TCE_ABT_FINAL.PDF
ED_7_2007_AGU_PROCURADORRES_FIN_PROV_DISC.PDF
ies4linux-latest.tar.gz
Descobrindo o caminho da lixeira verdadeira: No ambiente gráfico, criei um arquivo no desktop e deletei, mandando-o para a lixeira que, até então estava vazia, ainda que no meu "~/.Trash" existirem 4 arquivos. Para isso, após a deleção, foi procurar por nome de arquivo
iinternet5@internet5:~/amsn_received$ find / -name arquivo_criado_e_deletado* 2> /dev/null
/home/iinternet5/.local/share/Trash/files/arquivo_criado_e_deletado_pelo_ambiente_grafico
/home/iinternet5/.local/share/Trash/info/arquivo_criado_e_deletado_pelo_ambiente_grafico.trashinfo
Achei dois arquivos! Prestem atenção no caminho. Em todos os nossos testes, supunhamos a existência de
~/.Trash ou
/ponto-de-montagem/.Trash-$USER, daí, no primeiro teste que vou fazer, escolho uma distro que não tem sua lixeira no lugar que imaginávamos.
Outra coisa detalhe é que numa hora
../amsn_received/../../iinternet5/ies4linux-latest.tar.gz é um caminho válido e noutra não é mais (quando era a segunda expressão) e o caminho
../../iinternet5/../../../home/iinternet5/amsn_received/Documento1.bak~ muito mais bizarro não teve nenhum problema (e apensar de nunca ter sido também o segundo termo da expressão).
É isso.