Cp (Unix)
cp | |
---|---|
![]() | |
Desenvolvedor | AT&T Bell Laboratories |
Lançamento | 3 de novembro de 1971; há 52 anos |
Sistema operacional | Unix e Unix-like |
Gênero(s) | Comando |
Em computação, cp
é um comando em vários sistemas operacionais Unix usado para copiar arquivos e diretórios. O comando possui três modos de operação, definido pelos tipos de argumentos passados ao programa: copiar um arquivo para outro arquivo, copiar um ou mais arquivos para um diretório, ou copiar diretórios inteiros para outro diretório.
O utilitário aceita várias opções da linha de comando (flags) para detalhar as operações realizadas. As duas maiores especificações são o POSIX cp e o GNU cp.[1][2]
História
O comando cp
é parte do Version 1 Unix. Originalmente, o comando funcionava apenas com listas de pares origem-destino. Muito frequentemente, listas de pares na ordem errada faziam com que arquivos importantes fossem sobrescritos. Como consequência, tanto o cp
quanto o mv
voltaram a funcionar com apenas um par origem-destino na nova versão. As convenções finais surgiram apenas após longas discussões sobre como lidar corretamente com permissões de arquivos e múltiplos arquivos. [3]
Uso
Copiando arquivo(s) para outro arquivo:
cp [-H | -L | -P] [-fi | -n] [-apvXc] arquivo_origem arquivo_destino
Copiando arquivo(s) para um diretório:
cp [-H | -L | -P] [-fi | -n] [-apvXc] arquivo_origem ... diretorio_destino
Copiando um diretório para um diretório (-r ou -R deve ser usado)
cp -r|-R [-H | -L | -P] [-fi | -n] [-apvXc] diretorio_origem ... diretorio_destino
Flags de opções
- i (interativo) – faz uma confirmação antes de copiar um arquivo que iria sobrescrever outro arquivo. Se o usuário digitar
y
(ous
dependendo da regionalização do sistema), o comandocp
continua. - f (forçar) – se o arquivo não puder ser aberto, remove e cria um novo arquivo, sem pedir confirmação.
- r (recursivo) – copia recursivamente os arquivos contidos dentro dos subdiretórios da origem.
- p (preservar) – preserva os atributos do arquivo de origem no arquivo de destino, como dono, data, hora, permissões.
- v (verboso) – mostra qual arquivo está sendo copiado no momento.
- r ou R (recursivo) – copia diretórios recursivamente.
O arquivo de origem e o destino da cópia podem residir em sistemas de arquivo diferentes, ou até no mesmo diretório desde que tenham nomes diferentes. Este comando copia também mais de um arquivo de um diretório para outro. É necessário ter permissão de escrita no destino da cópia.[4]
Exemplos
Cria uma cópia de um arquivo no diretório atual:
cp arquivo.txt arquivo.bak
Esse comando copia prog.c para prog.bak. Se o arquivo prog.bak já existir, ele será sobrescrito.
Copiar um diretório com seus conteúdos para outro:
cp -R /home/user/projeto /home/user/novo_projeto
Esse comando copia o diretório projeto, com todos seus arquivos, subdiretórios e arquivos dos subdiretórios para o diretório novo_projeto.
Notas e Referências
- ↑ «Especificação POSIX do cp». https://www.opengroup.org/. Consultado em 30 de março de 2019
- ↑ «GNU Coreutils: cp invocation». www.gnu.org. Consultado em 30 de março de 2019
- ↑ M. Douglas McIlroy (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Relatório) 139 ed. Bell Labs. Consultado em 30 de março de 2019
- ↑ Burtch, Ken O. Ciência Moderna, ed. Scripts de Shell Linux com Bash. 2005 1 ed. Rio de Janeiro: [s.n.] 522 páginas. 8573934050
Veja também
![]() | Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.
|