Script de cópia (destino - origem) otimizado
Publicado por Alexandre Gonçalves Monteiro da Silva (última atualização em 07/09/2011)
[ Hits: 7.040 ]
Homepage: https://www.vivaolinux.com.br/~alexandre_gms
Pessoal, este script foi feito para economizar economizar a digitação do usuário e facilitar a busca de pastas.
Caso você queira copiar uma pasta para um determinado local, porém você não lembra exatamente o caminho, ou você precisa copiar determinado diretório e o caminho são trocentas pastas acima ou abaixo do seu diretório corrente.
O script funciona basicamente assim:
1) Digite a pasta que você quer copiar (caminho completo)
2) Digite apenas o nome da pasta destino (SOMENTE O NOME E NÃO O CAMINHO COMPLETO)
3) Caso a pasta que você digitou exista em mais de um local do Sistema, ele vai te listar todas, por exemplo, você digitou a pasta destino "bkp_old", ele listará todos os caminhos em que a pasta foi encontrada:
1 /opt/apache-tomcat/6.0.21/bkp_old
2 /etc/rc.d/bkp_old
3 /etc/appnet/conf/bkp_old
4 /var/log/rdm/bkp_old
Em seguida você digitará o numero do caminho desejado.
Após a cópia será exibida uma mensagem na tela de sucesso ou erro.
Outra opção do script é que o usuário é obrigado a digitar ambas as pastas (destino e origem), se os campos estiverem vazios, o script alertará o usuário.
Boas cópias!
#!/bin/bash k=1 SAIDA1="pastas1.txt" SAIDA2="pastas2.txt" rm -f $SAIDA1 $SAIDA2 &> /dev/null echo -e "\nQUAL PASTA VOCE DESEJA COPIAR?" read pasta echo -e "\nPARA ONDE VOCE DESEJA COPIAR A PASTA $pasta?" echo -e "DIGITE SOMENTE O NOME DA PASTA (SEM O CAMINHO COMPLETO)\n" read destino if [ -z $pasta ] || [ -z $destino ]; then echo -e "\nOS 2 CAMPOS ACIMA DEVEM SER PREENCHIDOS\n" exit 1 fi if [ ! -d $pasta ]; then echo -e "\n $pasta NAO EXISTE, FAVOR VERIFICAR O CAMINHO CORRETO!\n" exit 1 fi find / -type d -iname *$destino* 2> /dev/null > $SAIDA1 if [ `cat $SAIDA1 | wc -l` -gt "1" ]; then echo -e "\nFOI LOCALIZADA MAIS DE 1 PASTA DE DESTINO, DIGITE O NUMERO DELA:\n" cat $SAIDA1 | while read line do echo "$k $line" >> $SAIDA2 let k++ done cat $SAIDA2 read num if [ -z $num ]; then echo -e "\nVOCE DEVE ESCOLHAR UM NUMERO, EXECUTE NOVAMENTE!\n" exit 1 fi pasta_correta=`grep ^$num $SAIDA2 | cut -d' ' -f2` cp -rvp "$pasta" "$pasta_correta" &> /dev/null if [ $? -eq 0 ]; then echo -e "\nPASTA $pasta COPIADA COM SUCESSO PARA $pasta_correta \n" else echo -e "\nERRO AO COPIAR A PASTA $pasta PARA $pasta_correta ---> VERIFICAR PERMISSOES!\n" fi else cp -rvp `cat $SAIDA1` "$destino" &> /dev/null if [ $? -eq 0 ]; then echo -e "\nPASTA $pasta COPIADA COM SUCESSO PARA $destino \n" else echo -e "\nERRO AO COPIAR A PASTA $pasta PARA $destino ---> VERIFICAR PERMISSOES!\n" fi fi
Verificando disponibilidade de link (V.1)
Script para listar tentativas de acessos
[wgetreload] Evitando conexão "staled" (parada) no wget
Conexão e desconexão ADSL automáticas
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Impedir outros proxy da mesma rede (4)
Erro de permissão no samba (0)
O que esta havendo com o mercado de ti? (4)
Não consigo cadastrar nenhuma conta online (1)
Ubuntu 22.04 / Bluethooth - Falha na conexão BlueZ | Não conecta caixa... (8)