Qual é a diferença entre scp e cp?

8

Sou muito novo na linha de comando e no Ubuntu e aprendi recentemente que existe o comando scp , bem como o comando cp . Eu tentei usar um comando scp para mover um diretório do ponto A para o ponto B, mas não funcionou. No entanto, quando usei cp , funcionou bem.

Qual é a diferença entre os dois e como determino quando usar um sobre o outro?

    
por BDD 08.07.2015 / 15:06

5 respostas

18

TL; DR Leia as man pages:

man scp
man cp

De man scp

NAME
     scp — secure copy (remote file copy program)

SYNOPSIS
     scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ...
         [[user@]host2:]file2

DESCRIPTION
     scp copies files between hosts on a network.  It uses ssh(1) for data transfer, and uses the same authentication and provides the same security
     as ssh(1).  scp will ask for passwords or passphrases if they are needed for authentication.

     File names may contain a user and host specification to indicate that the file is to be copied to/from that host.  Local file names can be made
     explicit using absolute or relative pathnames to avoid scp treating file names containing ‘:’ as host specifiers.  Copies between two remote
     hosts are also permitted.

de man cp

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory arguments to long options are mandatory for short options too.
    
por A.B. 08.07.2015 / 15:09
15

scp é realmente para cópia remota em SSH. Por exemplo:

scp /path/to/local/file user@server:/path/to/target/dir/
    
por Oli 08.07.2015 / 15:09
7

scp ou Cópia segura é usado principalmente para copiar entre um host local e um host remoto, ou dois hosts remotos, por meio de ssh

O comando cp é para copiar arquivos localmente, ou seja, dentro do sistema do seu host.

As páginas man que muru nos comentários deve ajudá-lo a entender o uso, mas há muitos tutoriais sobre essa coisa de internet também.

    
por Arronical 08.07.2015 / 15:10
3

Você também deve saber que existe um comando man . Tente! man cp , man scp , man man .

man cp começa:

    NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

e man scp começam com:

    NAME
     scp — secure copy (remote file copy program)

SYNOPSIS
     scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2

DESCRIPTION
     scp copies files between hosts on a network.  It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as     ssh(1).  Unlike rcp(1), scp will
     ask for passwords or passphrases if they are needed for authentication.
    
por waltinator 08.07.2015 / 15:11
-2

Se você tem espaços em nomes de arquivos, o scp os manipula mais do que o cp, então eu geralmente o uso mesmo para copiar na minha máquina local por esse motivo.

    
por Tehmorp 07.07.2016 / 21:30