Quelle est la difference entre scp et cp?

9

Je suis vraiment nouveau sur la ligne de commande et Ubuntu et j'ai récemment appris qu'il existe la scpcommande ainsi que la cpcommande. J'ai essayé d'utiliser une scpcommande pour déplacer un répertoire du point A au point B, mais cela n'a pas fonctionné. Cependant, quand je l'ai utilisé cp, cela a très bien fonctionné.

Quelle est la différence entre les deux et comment puis-je déterminer quand utiliser l'un sur l'autre?

BDD
la source
Que voulez-vous dire lorsque vous dites que cela n'a pas fonctionné? scp peut être utilisé pour copier des fichiers / répertoires de la source vers la destination. La source ou la destination, ou les deux, peuvent être locales ou distantes.
Mahesh

Réponses:

18

TL; DR Lisez les pages de manuel:

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.
UN B
la source
5
Bien. Je me sens stupide. J'ai totalement oublié les pages de manuel. Merci!
BDD
15

scpest vraiment pour la copie à distance via SSH. Par exemple:

scp /path/to/local/file user@server:/path/to/target/dir/
Oli
la source
7

scp ou Secure Copy est principalement utilisé pour copier entre un hôte local et un hôte distant, ou deux hôtes distants, via ssh

La cpcommande sert à copier des fichiers localement, c'est-à-dire au sein du système de votre hôte.

Les pages de manuel que muru a liées dans les commentaires devraient vous aider à comprendre l'utilisation, mais il existe également de nombreux tutoriels sur ce truc sur Internet.

Arronical
la source
3

Vous devez également apprendre qu'il existe une mancommande. Essayez! man cp, man scp, man man.

man cp commence:

    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.

et man scpcommence par:

    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.
waltinator
la source
-2

Si vous avez des espaces dans les noms de fichiers, scp les gère plus bien que cp, donc je les utilise souvent même pour copier sur ma machine locale pour cette raison.

Tehmorp
la source