Was ist der Unterschied zwischen scp und cp?

9

Ich bin wirklich neu in der Kommandozeile und Ubuntu und ich habe vor kurzem gelernt, dass es den Befehl scp sowie den Befehl cp gibt. Ich habe versucht, einen scp -Befehl zu verwenden, um ein Verzeichnis von Punkt A nach Punkt B zu verschieben, aber es hat nicht funktioniert. Wenn ich jedoch cp verwendet habe, hat es gut funktioniert.

Was ist der Unterschied zwischen den beiden und wie kann ich bestimmen, wann ich den anderen verwenden soll?

    
BDD 08.07.2015, 15:06

5 Antworten

18

TL; DR Lesen Sie die man-Seiten:

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] [[[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.

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.
    
A.B. 08.07.2015, 15:09
15

scp ist wirklich für das Remote-Kopieren über SSH gedacht. ZB:

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

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

verwendet

Der Befehl cp dient zum lokalen Kopieren von Dateien, d. h. innerhalb des Systems Ihres Hosts.

Die Man-Seiten, die muru in Kommentaren verlinkt sollte Ihnen helfen, die Verwendung zu verstehen, aber es gibt viele Tutorials zu diesem Internet-Ding auch.

    
Arronical 08.07.2015 15:10
3

Sie sollten auch erfahren, dass ein Befehl man vorhanden ist. 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 scp beginnen 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] [[[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.
    
waltinator 08.07.2015 15:11
-2

Wenn Sie in Dateinamen Leerzeichen haben, behandelt scp sie besser als cp, deshalb benutze ich sie oft sogar, um aus diesem Grund auf meinem lokalen Rechner zu kopieren.

    
Tehmorp 07.07.2016 21:30

Tags und Links