Jaka jest różnica między scp a cp?

9

Jestem naprawdę nowy w linii poleceń i Ubuntu. Niedawno dowiedziałem się, że istnieje zarówno scppolecenie, jak i cppolecenie. Próbowałem użyć scppolecenia, aby przenieść katalog z punktu A do punktu B, ale to nie zadziałało. Jednak kiedy użyłem cp, działało dobrze.

Jaka jest różnica między nimi i jak określić, kiedy należy używać jednego nad drugim?

BDD
źródło
Co masz na myśli mówiąc, że to nie działało? scp może być używany do kopiowania plików / katalogów ze źródła do miejsca docelowego. Źródło lub miejsce docelowe albo oba mogą być lokalne lub zdalne.
Mahesh,

Odpowiedzi:

18

TL; DR Przeczytaj strony podręcznika:

man scp
man cp

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

od 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
źródło
5
Dobrze. Czuję się głupio. Zupełnie zapomniałem o stronach podręcznika. Dzięki!
BDD,
15

scpjest naprawdę do zdalnego kopiowania przez SSH. Na przykład:

scp /path/to/local/file user@server:/path/to/target/dir/
Oli
źródło
7

scp lub Bezpieczna kopia służy głównie do kopiowania między hostem lokalnym a hostem zdalnym lub dwoma hostami zdalnymi za pośrednictwem ssh

cpKomenda jest do kopiowania plików lokalnie, czyli w układzie swojego gospodarza.

Strony podręcznika, które muru umieściło w komentarzach, powinny pomóc ci zrozumieć użycie, ale jest też wiele samouczków na ten temat w Internecie.

Arroniczny
źródło
3

Powinieneś także nauczyć się, że istnieje manpolecenie. Spróbuj! man cp, man scp, man man.

man cp zaczyna się:

    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.

i man scpzaczyna się od:

    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
źródło
-2

Jeśli masz spacje w nazwach plików, scp radzi sobie z nimi lepiej niż cp, więc często używam ich nawet do kopiowania na moim komputerze lokalnym z tego powodu.

Tehmorp
źródło