Usando cp, qual é a diferença entre copiar para DEST e DIRECTORY?

2

Na página man de cp , qual é a diferença entre copiar para DEST e DIRECTORY?

cp copia uma SOURCE para um DEST e FONTES para um DIRETÓRIO.

   SYNOPSIS

   cp [OPTION]... [-T] SOURCE DEST
   cp [OPTION]... SOURCE... DIRECTORY
    
por Dylan Abel 03.05.2012 / 21:29

2 respostas

5

Com DEST , assume-se que você está nomeando o nome do arquivo e o caminho (e, portanto, o diretório) do arquivo de destino. Com DIRECTORY você está apenas listando em qual diretório o arquivo de destino estará, preservando o nome SOURCE .

    
por 03.05.2012 / 21:33
2

Se SOURCE for apenas um arquivo, a diferença dependerá do que o comando encontrar: Se houver um diretório DEST, SOURCE será copiado para ele, preservando o nome. Se não existir ou for um arquivo, o DEST é interpretado como um novo nome a ser usado, eventualmente substituindo DEST se for um arquivo.

Se você tiver várias SOURCES, o DEST só poderá ser um diretório, já que copiar vários arquivos em um arquivo de destino preservaria apenas o último arquivo copiado e seria inútil para quase todos os casos.

Um comando de cópia:

cp s1 s2 s3 d1 d2 d3 

pareceria que faria algum sentido, já que um número par de nomes poderia ser igual a s1 - > d1, s2 - > d2 ..., mas pense em expansão de shell:

cp * 

pode resultar em interpretação diferente, dependendo do número de arquivos correspondidos por *. Portanto, se você usar vários arquivos, o último será sempre considerado um diretório. Se não existir, você receberá uma mensagem de erro.

    
por 04.05.2012 / 01:34

Tags