Was ist der Unterschied zwischen scp und cp?

9

Ich bin wirklich neu in der Kommandozeile und in Ubuntu und habe kürzlich erfahren, dass es sowohl den scpBefehl als auch den cpBefehl gibt. Ich habe versucht, mit einem scpBefehl ein Verzeichnis von Punkt A nach Punkt B zu verschieben, aber es hat nicht funktioniert. Als ich es benutzte cp, funktionierte es jedoch einwandfrei.

Was ist der Unterschied zwischen den beiden und wie bestimme ich, wann ich sie übereinander verwenden soll?

BDD
quelle
Was meinst du, wenn du sagst, dass es nicht funktioniert hat? Mit scp können Dateien / Verzeichnisse von der Quelle zum Ziel kopiert werden. Entweder Quelle oder Ziel oder beide können lokal oder remote sein.
Mahesh

Antworten:

18

TL; DR Lesen Sie die Manpages:

man scp
man cp

Von 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.

von 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.
AB
quelle
5
Gut. Ich fühle mich dumm. Ich habe die Manpages total vergessen. Vielen Dank!
BDD
15

scpist wirklich für das Remote-Kopieren über SSH. Z.B:

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

scp oder Sichere Kopie wird hauptsächlich zum Kopieren zwischen einem lokalen Host und einem Remote-Host oder zwei Remote-Hosts über verwendet ssh

Der cpBefehl dient zum lokalen Kopieren von Dateien, dh innerhalb des Systems Ihres Hosts.

Die Manpages, die muru in Kommentaren verlinkt hat, sollen Ihnen helfen, die Verwendung zu verstehen, aber es gibt auch viele Tutorials zu diesem Thema im Internet.

Arronisch
quelle
3

Sie sollten auch lernen, dass es einen manBefehl gibt. Versuch es! man cp, man scp, man man.

man cp beginnt:

    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.

und man scpbeginnt mit:

    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.
Walzer
quelle
-2

Wenn Sie Leerzeichen in Dateinamen haben, behandelt scp diese besser als cp, daher verwende ich sie aus diesem Grund oft sogar zum Kopieren auf meinen lokalen Computer.

Tehmorp
quelle