Qual è la differenza tra scp e cp?

9

Sono davvero nuovo alla riga di comando e Ubuntu e recentemente ho appreso che esiste il comando scp e il comando cp . Ho provato a utilizzare un comando scp per spostare una directory dal punto A al punto B, ma non ha funzionato. Tuttavia, quando ho usato cp , ha funzionato bene.

Qual è la differenza tra i due e come faccio a determinare quando utilizzare uno sull'altro?

    
posta BDD 08.07.2015 - 15:06

5 risposte

18

TL; DR Leggi le pagine man:

man scp
man cp

Da 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] [[[email protected]]host1:]file1 ...
         [[[email protected]]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.

da 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.
    
risposta data A.B. 08.07.2015 - 15:09
15

scp è in realtà per la copia remota su SSH. Ad esempio:

scp /path/to/local/file [email protected]:/path/to/target/dir/
    
risposta data Oli 08.07.2015 - 15:09
7

scp o Secure Copy viene principalmente utilizzato per copiare tra un host locale e un host remoto o due host remoti, tramite ssh

Il comando cp serve per copiare i file localmente, ad esempio nel sistema del tuo host.

Le pagine man che muru sono collegate nei commenti dovrebbe aiutarti a capire l'utilizzo, ma ci sono molti tutorial su quella cosa su Internet.

    
risposta data Arronical 08.07.2015 - 15:10
3

Dovresti anche sapere che c'è un comando man . Provalo! man cp , man scp , man man .

man cp inizia:

    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 inizia con:

    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] [[[email protected]]host1:]file1 ... [[[email protected]]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.
    
risposta data waltinator 08.07.2015 - 15:11
-2

Se hai spazi nei nomi dei file, scp li gestisce più bene di cp, quindi lo uso spesso anche per copiare sul mio computer locale per questo motivo.

    
risposta data Tehmorp 07.07.2016 - 21:30

Leggi altre domande sui tag