[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apagar tudo e copiar tudo



Em Quarta 29 Novembro 2006 17:00, Carlos Alberto escreveu:
> Pessoal,
> Gostaria de saber como apagar e copiar todos os arquivos de um diretório,
> inclusive os ocultos! Quando uso  " rm -rf diretorio/* "  não são apagados
> os arquivos ocultos,  e  quando uso o comando  "cp  -Rf  diretório/*
> novodiretorio", tambem,  os arquivos ocultos nao sao copiados. Alguem sabe
> como faço isso?

Olá Carlos Alberto!

Para garantir a integridade dos seus arquivos ocultos, o bash exige que os 
pontos no início do arquivo estejam explícitos na sua linha de comando. Para 
reverter essa configuração, use o comando shopt. Veja o exemplo a seguir:

tiago@coruja:/tmp/teste$ touch .t1 t2
tiago@coruja:/tmp/teste$ ls
t2
tiago@coruja:/tmp/teste$ ls -a
.  ..  .t1  t2
tiago@coruja:/tmp/teste$ rm *
tiago@coruja:/tmp/teste$ ls -a
.  ..  .t1
tiago@coruja:/tmp/teste$ touch t2
tiago@coruja:/tmp/teste$ rm .*
rm: não é possível remover `.' ou `..'
rm: não é possível remover `.' ou `..'
tiago@coruja:/tmp/teste$ ls -a
.  ..  t2
tiago@coruja:/tmp/teste$ touch .t1
tiago@coruja:/tmp/teste$ ls -a
.  ..  .t1  t2
tiago@coruja:/tmp/teste$ shopt dotglob
dotglob         off
tiago@coruja:/tmp/teste$ shopt -s dotglob
tiago@coruja:/tmp/teste$ shopt dotglob
dotglob         on
tiago@coruja:/tmp/teste$ rm *
tiago@coruja:/tmp/teste$ ls -a
.  ..


Repare que eu não fazia a menor idéia de que isso era possível e nunca tinha 
nem ouvido falar do shopt. E olha que eu achava que já tinha percorrido mais 
de uma vez a página de manual do bash. Mas está lá, na seção "Pathname 
Expansion"

Tiago.



Reply to: