В чем разница между scp и cp?

9

Я действительно новичок в командной строке и Ubuntu, и я недавно узнал, что есть scpкоманда, а также cpкоманда. Я пытался использовать scpкоманду для перемещения каталога из точки А в точку Б, но это не сработало. Однако, когда я использовал cp, это работало просто отлично.

В чем разница между ними и как определить, когда использовать один поверх другого?

BDD
источник
4
Пробовал читать справочную страницу? manpages.ubuntu.com/manpages/trusty/en/man1/scp.1.html и manpages.ubuntu.com/manpages/trusty/en/man1/cp.1.html
Muru
Что вы имеете в виду, когда говорите, что это не сработало? scp может использоваться для копирования файлов / каталогов из источника в место назначения. Либо источник, либо пункт назначения, либо оба могут быть локальными или удаленными.
Махеш

Ответы:

18

TL; DR Читайте справочные страницы:

man scp
man cp

От 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.

от 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
источник
5
Хорошо. Я чувствую себя глупым Я полностью забыл о страницах руководства. Спасибо!
BDD
15

scpдействительно для удаленного копирования по SSH. Например:

scp /path/to/local/file user@server:/path/to/target/dir/
Оли
источник
7

scp или Secure Copy в основном используется для копирования между локальным хостом и удаленным хостом или двумя удаленными хостами через ssh

Команда cpпредназначена для локального копирования файлов, то есть в системе вашего хоста.

Страницы man, на которые muru ссылается в комментариях, должны помочь вам понять, как их использовать, но есть и много уроков по этой теме.

Arronical
источник
3

Вы также должны узнать, что есть manкоманда. Попробуй это! man cp, man scp, man man.

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.

и 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).  Unlike rcp(1), scp will
     ask for passwords or passphrases if they are needed for authentication.
waltinator
источник
-2

Если в именах файлов есть пробелы, scp обрабатывает их более красиво, чем cp, поэтому я часто использую их даже для копирования на локальный компьютер по этой причине.

Tehmorp
источник