Introdução
o comando 'cp', lisenciado pela FSF – Free Software Foundation, é responsável por fazer cópia de arquivos e diretórios nos sistemas operacionais Unix e Unix-like (*BSD, Linux).sintaxe
cp [OPÇÕES] ORIGEM DESTINO
ORIGEM e DESTINO, podem ser arquivos ou diretórios, e há diversas opções para se trabalhar com o comando 'cp'.
opções
-a, --archive mesmo que -dR --preserve=all --backup[=CONTROL] realiza o backup de cada arquivo existente no destino -b similar ao --backup mas não aceita argumentos -d mesmo que --no-dereference --preserve=link -f, --force Se existe um arquivo destino que não pode ser aberto, ele tenta novamente -i, --interactive modo interativo que exige confirmação do usuário -H Segue os links simbólicos em linha de comando -l, --link cria links de arquivos em vez de copia-los -L, --dereference Sempre segue os links simbólicos -P, --no-dereference Nunca segue os links simbólicos -p mesmo que --preserve=mode,ownership,timestamps --preserve[=ATTR_LIST] preserva os atributos específicos (default: mode, owner-ship,timestamps), se possível os atributos adicionais: context, links, xattr, all -c mesmo que --preserve=context --no-preserve=ATTR_LIST Não preserva os atributos especificados --parents Usa o caminho completo da origem dos arquivos para o destino da cópia -R, -r, --recursive Copia os diretórios recursivamente --remove-destination remover cada arquivo de destino existente antes de tentar abrir-lo (oposto de --force) --sparse=WHEN criação de controle de arquivos esparsos --strip-trailing-slashes remove qualquer barra ao final de cada argumento de origem -s, --symbolic-link faze links simbólicos em vez de copiar -S, --suffix=SUFFIX altera o sufixo usual do backup -t, --target-directory=DIRECTORY copia todos os argumentos dentro do diretório -T, --no-target-directory treat DEST as a normal file -u, --update copia somente quando o arquivo de origem é mais recente que o destino arquivo ou quando o arquivo de destino está em falta -v, --verbose exibe a execução com detalhes -x, --one-file-system fixa o sistema de arquivos -Z, --context=CONTEXT definir o contexto de segurança de cópia --help exibe a ajuda --version apresenta a versão do comando cpExemplos
Opções com o '--help' e '--version' não possuem parâmetros de origem e destino.cp --versioncp (GNU coreutils) 7.4
Para se realizar uma cópia simples não é necessário opções, no exemplo abaixo copia o arq.txt para o home do usuário.
cp /tmp/arq.txt ~/
find + cp
Copiar os arquivos encontrados pelo find em uma estrutura para uma nova arvore:find . \( -name "*zope.conf" -o -name "zeo.conf" \) ! -path "*homologar*" -exec cp -vap --parent {} /tmp/novoPath/ \;
Copia os arquivos do twiki, exceto os '.svn', os '.log', os ',v' e os '.lease', mantendo a estrutura original (--parents), o modo, o propríetário e o timestamp (-p); exibindo na tela as ações executadas.
find twiki/ ! \( -iwholename '*.svn*' -o -name '*.log' -o -iwholename '*,v' -o -iwholename '*.lease' \) -exec cp --parents -pv {} ~/dirti/ \;
Se por ventura no comando anterior ocorrer algum problema, pode-se continuar de onde foi interrompido com o comando abaixo:
find federativo/ ! \( -iwholename '*.svn*' -o -name '*.log' -o -iwholename '*,v' -o -iwholename '*.lease' \) -exec cp --parents -upv {} ~/dirti/ \;
Comentários