cpposix - Online na nuvem

Este é o comando cpposix que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


cp - copiar arquivos

SINOPSE


cp [−Pfip] arquivo fonte Arquivo de destino

cp [−Pfip] arquivo fonte... alvo

cp -R [−H | −L | −P] [−fip] arquivo fonte... alvo

DESCRIÇÃO


A primeira forma de sinopse é denotada por dois operandos, nenhum dos quais são arquivos existentes de
tipo de diretório. o cp utilitário deve copiar o conteúdo de arquivo fonte (ou se arquivo fonte
é um arquivo do tipo link simbólico, o conteúdo do arquivo referenciado por arquivo fonte) A
o caminho de destino nomeado por Arquivo de destino.

A segunda forma de sinopse é denotada por dois ou mais operandos onde o −R opção não é
especificado e o primeiro formulário de sinopse não é aplicável. Será um erro se houver
arquivo fonte é um arquivo do tipo diretório, se alvo não existe, ou se alvo não
nomeie um diretório. o cp utilitário deve copiar o conteúdo de cada arquivo fonte (ou se
arquivo fonte é um arquivo do tipo link simbólico, o conteúdo do arquivo referenciado por
arquivo fonte) para o caminho de destino nomeado pela concatenação de alvo, um único
personagem se alvo não terminou em um , e o último componente de
arquivo fonte.

A terceira forma de sinopse é denotada por dois ou mais operandos onde o −R opção
Especificadas. o cp utilitário deve copiar cada arquivo na hierarquia de arquivos enraizada em cada
arquivo fonte para um caminho de destino denominado da seguinte forma:

* E se alvo existe e nomeia um diretório existente, o nome do correspondente
caminho de destino para cada arquivo na hierarquia de arquivos deve ser a concatenação de
alvo, um único personagem se alvo não terminou em um , e as
nome do caminho do arquivo relativo ao diretório que contém arquivo fonte.

* E se alvo não existe e dois operandos são especificados, o nome do correspondente
caminho de destino para arquivo fonte será alvo; o nome do correspondente
o caminho de destino para todos os outros arquivos na hierarquia de arquivos deve ser a concatenação
of alvo, uma caractere e o nome do caminho do arquivo em relação ao arquivo fonte.

Será um erro se alvo não existe e mais de dois operandos são especificados, ou
if alvo existe e não nomeia um diretório.

Na descrição a seguir, o termo arquivo_destino refere-se ao arquivo nomeado pelo
caminho de destino. O termo arquivo fonte refere-se ao arquivo que está sendo copiado, seja
especificado como um operando ou um arquivo em uma hierarquia de arquivos enraizada em um arquivo fonte operando. Se
arquivo fonte é um arquivo do tipo link simbólico:

* Se o −R opção não foi especificada, cp deve tomar ações com base no tipo e
conteúdo do arquivo referenciado pelo link simbólico, e não pelo link simbólico
em si, a menos que o −P opção foi especificada.

* Se o −R opção foi especificada:

- Se nenhuma das opções −H, −Lnem −P foram especificados, não é especificado qual dos
−H, −Lou −P será usado como padrão.

- Se o −H opção foi especificada, cp deve tomar ações com base no tipo e
conteúdo do arquivo referenciado por qualquer link simbólico especificado como um arquivo fonte
operando.

- Se o −L opção foi especificada, cp deve tomar ações com base no tipo e
conteúdo do arquivo referenciado por qualquer link simbólico especificado como um arquivo fonte
operando ou quaisquer links simbólicos encontrados durante a travessia de uma hierarquia de arquivo.

- Se o −P opção foi especificada, cp deve copiar qualquer link simbólico especificado como um
arquivo fonte operando e quaisquer links simbólicos encontrados durante a passagem de um arquivo
hierarquia, e não deve seguir quaisquer links simbólicos.

Para cada arquivo fonte, as seguintes etapas devem ser tomadas:

1. E se arquivo fonte faz referência ao mesmo arquivo que arquivo_destino, cp pode escrever um diagnóstico
mensagem para erro padrão; não fará mais nada com arquivo fonte e deve continuar
a todos os arquivos restantes.

2. E se arquivo fonte é do tipo de diretório, as seguintes etapas devem ser executadas:

uma. Se o −R opção não foi especificada, cp deve escrever uma mensagem de diagnóstico para
erro padrão, não faça mais nada com arquivo fonte, e vá para qualquer
arquivos.

b. Se arquivo fonte não foi especificado como um operando e arquivo fonte é ponto ou ponto-ponto,
cp não deve fazer nada mais com arquivo fonte e vá para os arquivos restantes.

c. Se arquivo_destino existe e é um tipo de arquivo não especificado pelas interfaces do sistema
volume de POSIX.1‐2008, o comportamento é definido pela implementação.

d. Se arquivo_destino existe e não é do tipo diretório, cp deve escrever um diagnóstico
mensagem de erro padrão, não faça mais nada com arquivo fonte ou qualquer arquivo abaixo
arquivo fonte na hierarquia de arquivos e vá para os arquivos restantes.

e. Se o diretório arquivo_destino não existe, deve ser criado com arquivo
bits de permissão definidos com o mesmo valor que os de arquivo fonte, modificado pelo
máscara de criação de arquivo do usuário se o -p opção não foi especificada, e então
bit a bit inclusivamente OR'ed com S_IRWXU. Se arquivo_destino não pode ser criado, cp deve
escreva uma mensagem de diagnóstico para o erro padrão, não faça mais nada com arquivo fonte,
e vá para os arquivos restantes. Não é especificado se cp tentativas de copiar arquivos
na hierarquia de arquivos enraizada em arquivo fonte.

f. Os arquivos no diretório arquivo fonte deve ser copiado para o diretório arquivo_destino,
seguindo as quatro etapas (1 a 4) listadas aqui com os arquivos como arquivo fontes.

g. Se arquivo_destino foi criado, seus bits de permissão de arquivo devem ser alterados (se necessário)
para ser o mesmo que aqueles de arquivo fonte, modificado pela máscara de criação de arquivo do
usuário se o -p opção não foi especificada.

h. o cp a utilidade não fará mais nada com arquivo fonte e vá para o restante
arquivos.

3. E se arquivo fonte é do tipo arquivo regular, as seguintes etapas devem ser executadas:

uma. O comportamento não é especificado se arquivo_destino existe e foi escrito por um anterior
Passo. Caso contrário, se arquivo_destino existir, as seguintes etapas devem ser tomadas:

eu. Se o −eu opção está em vigor, o cp utilitário deve escrever um prompt para o
erro padrão e leia uma linha da entrada padrão. Se a resposta for
não afirmativo, cp não deve fazer nada mais com arquivo fonte e vá para qualquer
arquivos restantes.

ii. Um descritor de arquivo para arquivo_destino deve ser obtido através da execução de ações
equivalente ao aberto() função definida no volume de System Interfaces de
POSIX.1‐2008 chamado usando arquivo_destino como o caminho argumento, e o bit a bit-
inclusive OR de O_WRONLY e O_TRUNC como o oflag argumento.

iii. Se a tentativa de obter um descritor de arquivo falhar e o −f opção está em
efeito, cp deve tentar remover o arquivo executando ações equivalentes
ao desvincular() função definida no volume de System Interfaces de
POSIX.1‐2008 chamado usando arquivo_destino como o caminho argumento. Se esta tentativa
tem sucesso, cp deve continuar com a etapa 3b.

b. Se arquivo_destino não existe, um descritor de arquivo deve ser obtido executando
ações equivalentes ao aberto() função definida no volume System Interfaces
de POSIX.1‐2008 chamado usando arquivo_destino como o caminho argumento, e o bit a bit-
inclusive OR de O_WRONLY e O_CREAT como o oflag argumento. A permissão do arquivo
pedaços de arquivo fonte será o modo argumento.

c. Se a tentativa de obter um descritor de arquivo falhar, cp deve escrever um diagnóstico
mensagem de erro padrão, não faça mais nada com arquivo fonte, e vá para qualquer
arquivos restantes.

d. O conteúdo de arquivo fonte deve ser escrito no descritor de arquivo. Qualquer escrita
erros devem causar cp para escrever uma mensagem de diagnóstico para o erro padrão e continuar
para a etapa 3e.

e. O descritor de arquivo deve ser fechado.

f. o cp a utilidade não fará mais nada com arquivo fonte. Se um erro de gravação ocorreu
na etapa 3d, não é especificado se cp continua com todos os arquivos restantes. Se não
erro de gravação ocorreu na etapa 3d, cp deve prosseguir para todos os arquivos restantes.

4. Caso contrário, o −R opção foi especificada, e as seguintes etapas devem ser executadas:

a. O arquivo_destino deve ser criado com o mesmo tipo de arquivo que arquivo fonte.

b. Se arquivo fonte é um arquivo do tipo FIFO, os bits de permissão do arquivo devem ser os mesmos
como aqueles de arquivo fonte, modificado pela máscara de criação de arquivo do usuário se o -p
opção não foi especificada. Caso contrário, as permissões, ID do proprietário e ID do grupo de
arquivo_destino são definidos pela implementação.

Se esta criação falhar por qualquer motivo, cp deve escrever uma mensagem de diagnóstico para
erro padrão, não faça mais nada com arquivo fonte, e vá para qualquer
arquivos.

c. Se arquivo fonte é um arquivo do tipo link simbólico e as opções requerem o
o próprio link simbólico a ser implementado, o nome do caminho contido em arquivo_destino deve
ser o mesmo que o nome do caminho contido em arquivo fonte.

Se isso falhar por qualquer motivo, cp deve escrever uma mensagem de diagnóstico para o padrão
erro, não faça mais nada com arquivo fontee vá para os arquivos restantes.

Se a implementação fornece mecanismos de controle de acesso adicionais ou alternativos (consulte o
Volume de definições de base de POSIX.1‐2008, Seção 4.4, Envie o Acesso a Permissões), seus
efeito nas cópias de arquivos é definido pela implementação.

OPÇÕES


A cp utilitário deve estar em conformidade com o volume de Definições de Base de POSIX.1‐2008, Seção 12.2,
Utilidade Sintaxe orientações.

As seguintes opções devem ser suportadas:

−f Se um descritor de arquivo para um arquivo de destino não puder ser obtido, conforme descrito em
etapa 3.a.ii., tente desvincular o arquivo de destino e continue.

−H Execute ações com base no tipo e conteúdo do arquivo referenciado por qualquer
link simbólico especificado como um arquivo fonte operando.

−eu Escreva um prompt para o erro padrão antes de copiar para qualquer diretório existente
arquivo de destino. Se a resposta da entrada padrão for afirmativa, o
cópia deve ser tentada; caso contrário, não o fará.

−L Execute ações com base no tipo e conteúdo do arquivo referenciado por qualquer
link simbólico especificado como um arquivo fonte operando ou quaisquer links simbólicos
encontrados durante a travessia de uma hierarquia de arquivos.

−P Execute ações em qualquer link simbólico especificado como um arquivo fonte operando ou qualquer
link simbólico encontrado durante a travessia de uma hierarquia de arquivos.

-p Duplique as seguintes características de cada arquivo de origem no correspondente
arquivo de destino:

1. A hora da última modificação de dados e a hora do último acesso. Se este
a duplicação falha por qualquer motivo, cp deve escrever uma mensagem de diagnóstico para
erro padrão.

2. O ID do usuário e o ID do grupo. Se essa duplicação falhar por qualquer motivo, é
não especificado se cp grava uma mensagem de diagnóstico para erro padrão.

3. Os bits de permissão do arquivo e os bits S_ISUID e S_ISGID. De outros,
definidos pela implementação, os bits também podem ser duplicados. Se esta duplicação
falha por qualquer motivo, cp deve escrever uma mensagem de diagnóstico para o erro padrão.

Se o ID do usuário ou o ID do grupo não podem ser duplicados, os bits de permissão do arquivo
S_ISUID e S_ISGID devem ser limpos. Se esses bits estiverem presentes na fonte
arquivo, mas não são duplicados no arquivo de destino, não é especificado se
cp grava uma mensagem de diagnóstico para erro padrão.

A ordem em que as características anteriores são duplicadas não é especificada.
A arquivo_destino não deve ser excluído se essas características não puderem ser preservadas.

−R Copie hierarquias de arquivos.

Especificando mais de uma das opções mutuamente exclusivas −H, −L e −P não será
considerado um erro. A última opção especificada deve determinar o comportamento do
utilidade.

OPERANDOS


Os seguintes operandos devem ser suportados:

arquivo fonte
O nome do caminho de um arquivo a ser copiado. Se um arquivo fonte operando é '-', deve
referir-se a um arquivo chamado -; implementações não devem tratá-lo como um padrão de significado
entrada.

Arquivo de destino
Um nome de caminho de um arquivo existente ou inexistente, usado para a saída quando um único
o arquivo é copiado. Se um Arquivo de destino operando é '-', deve referir-se a um arquivo chamado
-; implementações não devem tratá-lo como significando saída padrão.

alvo O nome do caminho de um diretório para conter os arquivos copiados.

STDIN


A entrada padrão deve ser usada para ler uma linha de entrada em resposta a cada prompt
especificado na seção STDERR. Caso contrário, a entrada padrão não deve ser usada.

INPUT ARQUIVOS


Os arquivos de entrada especificados como operandos podem ser de qualquer tipo de arquivo.

MEIO AMBIENTE VARIÁVEIS


As seguintes variáveis ​​de ambiente devem afetar a execução de cp:

GRANDE Forneça um valor padrão para as variáveis ​​de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis pela precedência de internacionalização
variáveis ​​usadas para determinar os valores das categorias de local.)

LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis ​​de internacionalização.

LC_COLLATE
Determine a localidade para o comportamento de intervalos, classes de equivalência e
elementos de agrupamento de caracteres usados ​​na expressão regular estendida definida para
que o simexpr palavra-chave local no LC_MESSAGES categoria.

LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos e arquivos de entrada) e o comportamento das classes de caracteres usadas no
expressão regular estendida definida para o simexpr palavra-chave local no
LC_MESSAGES categoria.

LC_MESSAGES
Determine a localidade usada para processar as respostas afirmativas e a localidade usada
para afetar o formato e o conteúdo das mensagens de diagnóstico e prompts escritos para
erro padrão.

NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.

ASSÍNCRONO EVENTOS


Padrão.

STDOUT


Não usado.

STDERR


Um prompt deve ser escrito para erro padrão nas condições especificadas no
Seção DESCRIÇÃO. O prompt deve conter o nome do caminho de destino, mas seu formato é
caso contrário, não especificado. Caso contrário, o erro padrão deve ser usado apenas para diagnóstico
mensagens.

SAÍDA ARQUIVOS


Os arquivos de saída podem ser de qualquer tipo.

ESTENDIDO DESCRIÇÃO


Nenhum.

SAIR STATUS


Os seguintes valores de saída devem ser retornados:

0 Todos os arquivos foram copiados com sucesso.

> 0 Ocorreu um erro.

CONSEQUÊNCIAS OF ERROS


If cp é encerrado prematuramente por um sinal ou erro, arquivos ou hierarquias de arquivos podem ser
apenas parcialmente copiado e os arquivos e diretórios podem ter permissões ou acesso incorretos
e tempos de modificação.

A seguinte seções e guarante que os mesmos estão informativo.

APLICAÇÃO USO


Os bits set-user-ID e set-group-ID são explicitamente apagados quando os arquivos são criados. Esse
é evitar que os usuários criem programas que são set-user-ID ou set-group-ID para eles
ao copiar arquivos ou para tornar os arquivos set-user-ID ou set-group-ID acessíveis para novos grupos
de usuários. Por exemplo, se um arquivo for set-user-ID e a cópia tiver um ID de grupo diferente
do que a fonte, um novo grupo de usuários tem permissão de execução para um programa set-user-ID do que
fez anteriormente. Em particular, este é um problema para superusuários que copiam árvores de usuários.

EXEMPLOS


Nenhum.

JUSTIFICATIVA


A −eu opção existe em sistemas BSD, dando aos aplicativos e usuários uma maneira de evitar
remover arquivos acidentalmente durante a cópia. Embora a versão 4.3 do BSD não indique se
a entrada padrão não é um terminal, os desenvolvedores padrão decidiram que o uso de −eu é um
pedido de interação, então quando o caminho de destino existe, o utilitário leva
instruções de tudo o que responde na entrada padrão.

O formato exato dos prompts interativos não é especificado. Apenas a natureza geral do
os conteúdos dos prompts são especificados porque as implementações podem desejar mais descritivos
prompts do que aqueles usados ​​em implementações históricas. Portanto, um aplicativo que usa o
−eu opção depende do sistema para fornecer o diálogo mais adequado diretamente com o usuário,
com base no comportamento especificado.

A -p opção é a prática histórica em sistemas BSD, duplicando a hora dos últimos dados
modificação e hora do último acesso. Este volume de POSIX.1‐2008 estende-o para preservar
os IDs de usuário e grupo, bem como as permissões de arquivo. Este requisito é óbvio
problemas em que os diretórios são quase certamente modificados após serem copiados. Esse
volume de POSIX.1‐2008 requer que os tempos de modificação sejam preservados. A declaração
que a ordem em que as características são duplicadas não seja especificada é para permitir
implementações para fornecer o máximo de segurança para o usuário. Implementações
deve levar em consideração as questões de segurança óbvias envolvidas na configuração do proprietário, grupo,
e modo na ordem errada ou criando arquivos com um proprietário, grupo ou modo diferente de
o valor final.

Não é especificado se cp grava mensagens de diagnóstico quando os IDs de usuário e grupo não podem
ser definido devido à prática generalizada de usuários que usam -p duplicar alguma parte do
características do arquivo, indiferentes à duplicação de outros. Implementações históricas
apenas escreva mensagens de diagnóstico sobre erros que não sejam [EPERM].

Versões anteriores deste padrão incluíam suporte para o −r opção para copiar arquivo
hierarquias. o −r opção é a prática histórica em sistemas BSD e derivados de BSD. Esse
opção não é mais especificada por POSIX.1‐2008, mas pode estar presente em algumas implementações.
A −R opção foi adicionada como um sinônimo próximo ao −r opção, selecionada para consistência com
todas as outras opções neste volume de POSIX.1‐2008 que fazem a descida recursiva do diretório.

A diferença entre −R e o removido −r opção está no tratamento por cp de arquivo
tipos diferentes de regular e diretório. Foi definido pela implementação como o - opção
arquivos especiais tratados para permitir implementações históricas e aqueles que escolheram
ajuda −r com as mesmas habilidades que −R definido por este volume de POSIX.1‐2008. o
original −r flag, por razões históricas, não tratou arquivos especiais de forma diferente de
arquivos regulares, mas sempre leia o arquivo e copie seu conteúdo. Isso tinha problemas óbvios
na presença de tipos de arquivos especiais; por exemplo, dispositivos de caractere, FIFOs e soquetes.

Quando ocorre uma falha durante a cópia de uma hierarquia de arquivos, cp é necessário tentar
copiar arquivos que estão no mesmo nível na hierarquia ou acima do arquivo onde está a falha
ocorreu. Não é especificado se cp deve tentar copiar os arquivos abaixo do arquivo onde o
falha ocorrida (que não pode ter sucesso em nenhum caso).

Permissões, proprietários e grupos de tipos de arquivos especiais criados foram deliberadamente deixados
conforme definido pela implementação. Isso é para permitir que os sistemas satisfaçam requisitos especiais (para
por exemplo, permitindo que os usuários criem dispositivos especiais de caracteres, mas exigindo que eles sejam
pertencente a um determinado grupo). Em geral, é altamente recomendável que as permissões,
proprietário e grupo sejam os mesmos como se o usuário tivesse executado o histórico mknod, ln, Ou outros
utilitário para criar o arquivo. Também é provável que privilégios adicionais sejam necessários para
criar bloco, caractere ou outros tipos de arquivos especiais definidos pela implementação.

Além disso, o -p opção requer explicitamente que todos os set-user-ID e set-group-ID
as permissões serão descartadas se qualquer um dos IDs de proprietário ou grupo não puder ser definido. Isto é para manter
usuários de dar privilégios especiais não intencionalmente ao copiar programas.

Ao criar arquivos regulares, versões históricas de cp use o modo do arquivo de origem como
modificado pela máscara de criação de modo de arquivo. Outras opções teriam sido usar o modo de
o arquivo de origem não modificado pela máscara de criação ou para usar o mesmo modo que seria fornecido
para um novo arquivo criado pelo usuário (mais os bits de execução do arquivo de origem) e então
modifique-o pela máscara de criação do modo de arquivo. Na ausência de qualquer razão forte para mudar
prática histórica, foi em grande parte mantida.

Ao criar diretórios, versões históricas de cp use o modo do diretório de origem,
além de bits de leitura, gravação e pesquisa para o proprietário, conforme modificado pela criação do modo de arquivo
mascarar. Isso é feito para que cp pode copiar árvores onde o usuário tem permissão de leitura, mas o
proprietário não. Um efeito colateral é que se a máscara de criação de arquivo negar o proprietário
permissões, cp falha. Além disso, uma vez que a cópia é feita, versões históricas de cp definir o
permissões no diretório criado para ser o mesmo que o diretório de origem, não modificado por
a máscara de criação de arquivo.

Este comportamento foi modificado para que cp é sempre capaz de criar o conteúdo do
diretório, independentemente da máscara de criação do arquivo. Depois que a cópia é feita, as permissões
são definidos para serem iguais ao diretório de origem, conforme modificado pela máscara de criação de arquivo.
Esta última mudança do comportamento histórico é para evitar que os usuários criem acidentalmente
diretórios com permissões além daquelas que normalmente definiriam e para consistência com
o comportamento de cp na criação de arquivos.

Não é um requisito que cp detectar tentativas de copiar um arquivo para ele mesmo; Contudo,
implementações são fortemente encorajadas a fazê-lo. Implementações históricas detectadas
a tentativa na maioria dos casos.

Existem dois métodos de cópia de subárvores neste volume de POSIX.1‐2008. O outro método
é descrito como parte do pax utilidade (ver pax) Ambos os métodos são práticas históricas.
A cp utilitário fornece uma interface mais simples e intuitiva, enquanto pax oferece um melhor
granularidade de controle. Cada um fornece funcionalidade adicional ao outro; no
especial, pax mantém a estrutura de hard-link da hierarquia, enquanto cp não. Isto
é a intenção dos desenvolvedores padrão que os resultados sejam semelhantes (usando
combinações de opções em ambos os utilitários). Os resultados não precisam ser idênticos;
parecia haver ganho insuficiente para os aplicativos para equilibrar a dificuldade de
implementações tendo que garantir que os resultados seriam exatamente idênticos.

O texto permitindo cp para copiar um diretório para tipos de arquivo definidos pela implementação não
especificado pelo volume de interfaces do sistema de POSIX.1‐2008 é fornecido para que
implementações que suportam links simbólicos não são necessárias para proibir a cópia de diretórios
para links simbólicos. Outras extensões para o volume de interfaces do sistema do arquivo POSIX.1‐2008
os tipos também podem precisar usar essa lacuna.

FUTURO INSTRUÇÕES


Nenhum.

Use cpposix online usando serviços onworks.net



Programas online mais recentes para Linux e Windows