CP(1) | General Commands Manual | CP(1) |
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:
copia o arquivo 'a/b/c' para o 'diretório_existente/a/b/c', criando qualquer diretório intermediário perdido.
cp --parents a/b/c diretório_existente
- -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
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¶
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@cwi.nl. Relatório de problemas no programa para fileutils-bugs@gnu.ai.mit.edu.
TRADUZIDO POR LDP-BR em 21/08/2000.¶
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Ricardo C.O. Freitas <english.quest@best-service.com> (revisão)
11/1998 | Utilitários de Arquivos GNU 4.0 |