Manpages

NOME

cp − copia arquivos e diretórios

SINOPSE

cp [opções] arquivo caminho
cp [
opções] arquivo... diretório

Opções POSIX: [−fipRr]

Opções GNU (forma reduzida): [−abdfilprsuvxPR] [−S SUFFIX] [−V {numbered,existing,simple}] [−−sparse=WHEN] [−−help] [−−version] [−−]

DESCRIÇÃO

cp copia arquivos (ou, opcionalmente diretórios). Você pode copiar uma arquivo para um destino fornecido, ou copiar arbitrariamente muitos arquivos para um diretório destino.

Se o último argumento de nome é um diretório existente, cp copia cada arquivo origem para aquele diretório (com o mesmo nome). De outra forma, se somente dois arquivos são fornecidos, ele copia o primeiro para o segundo. É um erro se o último argumento não for um diretório e mais que dois argumentos serem fornecidos.

(Assim, ’cp −r /a /b’ irá copiar /a to /b/a e /a/x para /b/a/x no caso de /b já existir, mas ele irá copiar /a para /b e /a/x para /b/x se não havia /b antecipadamente.)

O modo de criação dos arquivos e diretórios será igual ao dos arquivos originais, por 0777, e modificado pela umask do usuário (a menos que a opção −p especificada). (Mas durante cópia de diretórios de forma recursiva, diretórios recentemente criados terão temporariamente recebido o modo final deles ORed com S_IRWXU (0700), para que possa permitir processos de leitura, escrita e procura nos diretório recentemente criados.)

Coisa alguma é feita quando tenta copiar um arquivo para si mesmo (exceto possivelmente de uma mensagem de erro). Quando copiando para um arquivo existente diferente este é aberto usando ’open(caminho, O_WRONLY | O_TRUNC)’. Quando copiando para um novo arquivo este é criado usando ’open(caminho, O_WRONLY | O_CREAT, modo)’. Se isto falha, o arquivo existe, e a opção −f deve ser dada, cp tentará deletar (unlink) o arquivo existente, e então substituir pelo novo arquivo.

OPÇÕES POSIX

POSIX reconhece 4 opções e meia:

−f

Remove arquivos destinos existentes se requerido. (Veja acima.)

−i

Pergunta se deve ser;a sobrescrito um arquivo de destino regular. (Escreve a questão no erro padrão, e lê a resposta na entrada padrão. Somente copia sobre em caso de resposta afirmativa..)

−p

Preserva o original proprietário, grupo, permissões (incluindo os bits setuid e setgid), tempo da última modificação e o tempo do último acesso. No caso da de duplicação do proprietário ou grupo falhar, os bits setuid e setgid serão zerados. (Note que mais tarde a origem e a cópia deverão ter diferentes tempo de último acesso, desde que a operação de cópia é um acesso no arquivo origem.)

−R

Copia diretórios de forma recursiva, e faz algo incerto quando outros objetos a não ser arquivos ordinários ou diretóriso são encontrados. (Assim, a cópia de um FIFO ou arquivo especial é um FIFO ou um arquivo especial.)

−r

Copia diretórios de forma recursiva, e faz alguma coisa inespecífica com outros objetos que não são arquivos normais ou diretórios. (Assim, ele é permitido, na realidade encorajado, para ter a opção −r um sinônimo para −R. De qualquer forma, o comportamento bobo, desse jeito da presente versão GNU de cp (veja abaixo) não é proibida.)

DETALHES GNU

Geralmente, arquivos são escritos da mesma forma que são lidos. Para exceções, veja a opção −−sparse abaixo.

Por padrão, ’cp’ não irá copiar diretórios (veja −r abaixo).

cp geralmente recusa a copia de uma rquivo em si mesmo, com a segunte exceção: se −−force −−backup é especificado com origem e destino identicos, e referindo-se a um arquivo regular, cp irá fazer um arquivo de cópia de segurança, que pode ser regular ou numerado, como especificado em formas usuais. Isto é útil quando se procura um modo simples para fazer cópias de segurança de um arquivo existente depois de alterá-lo.

OPÇÕES GNU

−a, −−archive

Preserva o máximo possível a estrutura e atributos dos arquivos originais na cópia (mas não preserva a estrutura do diretório). Equivalente para −dpR.

−d, −−no−dereference

Copia ligações simbólicas com ligações simbólicas no lugar de copiar os arquivos para as quais apontam, e preservam ligações fortes entre arquivos de origrem nas cópias.

−f, −−force

Remove os arquivos de destino existentes, e nunca pergunta antes de fazer isto.

−i, −−interactive

Pergunta se será sobrescrito o arquivo regular de destino.

−l, −−link

Cria ligações fortes ao inves de cópia de nào diretórios.

−p, −−preserve

Preserva a original proprietário, grupo, permissões e rótulo de tempo.

−P, −−parents

Forma o nome de cada arquivo destino pelo anexação no diretório destino de um barra e o nome especificado do arquivo origem. O último argumento fornecido para cp deve ser o nome de um diretório existente. Por exemplo, o comando:
cp −−parents a/b/c diretório_existente
copia o arquivo ’a/b/c’ para o ’diretório_existente/a/b/c’, criando qualquer diretório intermediário perdido.

−r

Copia diretórios de forma recursiva, copiando qualquer não-diretório e não-ligação simbólica (isto é, FIFOs e arquivos especiais) como se fossem arquivos regulares. Isto significa tentar uma leitura em cada arquivo origem e uma escrita para o destino. Assim, com esta opção, (Isto é uma falha. Ele pensar que você tem que evitar −r e usa −R se você não sabe o que esta na árvore que você está copiando. Abrindo um arquivo de dispositivo desconhecido, por exemplo um scanner, tem efeito desconhecido sobre o hardware.)

−R, −−recursive

Copia diretórios de forma recursiva, preservando os não-diretórios (veja −r acima).

−−sparse=WHEN

Um ’arquivo espaçado’ contem ’buracos’ - seqüencias de zero bytes que não ocupam qualquer bloco de disco físico; a chamada de sistema ’read’ lê estes como zeros. Isto pode economizar espaço de disco e aumentar a velocidade, desde que muitos arquivos binários contenham lotes consecutivos de zero bytes. Por padrão, cp detecta buracos no arquivo de entrada via uma heuristica bruta e cria a saída correspondente saída espaçada também.

O valor WHEN pode ser um dos seguintes:

auto

O comportamento padrão: o arquivo de saída e espaçado se o arquivo de entrada é espaçado.

always

Sempre cria um arquivo de saída espaçado. Isto é útil quando o arquivo de entrada reside num sistema de arquivo que não suporta arquivos espaçados, mas o arquivo de saída está sobre o sistema de arquivos que suporta.

never

Nunca crie um arquivo de saída espaçado. Se você encontrar uma aplicação para esta opção, deixe-nos saber.

−s, −−symbolic−link

Cria um ligação simbólica ao invês de copiar sobre não-diretórios. Todo nome da origem deve ser absoluto (comecando com ’/’) a menos que o arquivo de destino esteja no diretório corrente. Esta opção meramente resulta em uma mensagem de erro em sistemas que não suportam ligações simbólicas.

−u, −−update

Não copia um não-diretório que tem um destino existente com o igual ou maior tempo de modificação.

−v, −−verbose

Imprime o nome de cada arquivo antes de copia-lo.

−x, −−one−file−system

Pula sub-diretórios que são de diferentes sistemas de arquivos do qual a cópia tenha.

OPÇÕES GNU DE CÓPIAS DE SEGURANÇA

As versões GNU de programas como, cp, mv, ln, install e patch podem criar cópias de segurança dos arquivos que foram sobrescritos, alterados ou destruídos, se isto for desejado. Aqueles arquivos de seguranças são pedidos pela opção −b. E nomeados como é especificado pela opção −V. No caso de o nome do arquivo de segurança for fornecido pelo nome do arquivo mais um sufixo, o sufixo é especificado pela opção −S.
−b, −−backup

Cria cópias de segurança dos arquivos que são sobrescritos ou removidos.

−S SUFIXO, −−suffix=SUFIXO

Anexa o SUFIXO para cada arquivo de segurança feito. Se esta opção não é especificada, o valor da variável de ambiente SIMPLE_BACKUP_SUFFIX é usada. E se SIMPLE_BACKUP_SUFFIX não for selecionada, o padrão é ’~’.

−V MÉTODO, −−version−control=MÉTODO

Especifíca como as cópias de segurnaça serão nomeadas. O argumento MÉTODO pode ser ’numeradas’ (ou ’t’), ’existing’ (ou ’nil’), or ’never’ (or ’simple’). Se esta opção não é especificada, o valor da variável de ambiente VERSION_CONTROL é usado. E se VERSION_CONTROL não é selecionado, o tipo padrão das cópias de segurança é ’existing’.

Esta opção correspnde a variável Emacs ’version-control’. Os MÉTODOs são válidos (abreviações unicas são aceitas):
t
, numbered

Sempre fará cópias de segurança numeradas.

nil, existing

Fará cópia de segurança numeradas de arquivos, e simples cópias de segurança dos outros.

never, simple

Sempre fará cópias de segurança simples.

OPÇÕES PADRÃO GNU

−−help

Imprime a mensagem de uso na saída padrão e sai.

−−version

Imprime a versão na saída padrão e sai.

−−

Encerra a lista de opção.

AMBIENTE

As variáveis LANG, LC_ALL, LC_CTYPE and LC_MESSAGES tem seu significado usual. Para versões GNU, as variáveis SIMPLE_BACKUP_SUFFIX e VERSION_CONTROL controlam as cópias de segurança nomeando arquivo, como descritas acima.

DE ACORDO COM

POSIX 1003.2

NOTAS

Esta página descreve cp é encontrada no pacote Utilitários de Arquivos 4.0; outras versões podem ser um pouco diferente. Envie correções e adições para aeb [AT] cwi.nl. Relatório de problemas no programa para fileutils-bugs [AT] gnu.edu.

TRADUZIDO POR LDP-BR em 21/08/2000.

André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) Ricardo C.O. Freitas <english.quest [AT] best-service.com> (revisão)