zoukankan      html  css  js  c++  java
  • Linux命令之scp

    在CentOS7中rcp已经不再默认安装,而是使用更加安全的scp。

    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

    scp在网络中的主机间进行文件复制。它用ssh(1)进行数据传输及身份验证,通过与ssh(1)相同的安全保护。如果需要身份验证,scp会要求输入口令。

    文件名可以包含用户名和主机名的格式,以指定要将文件复制到该主机或从该主机复制该文件。可以使用绝对路径或相对路径展示本地文件名,以避免scp将包含”:”的文件名视为主机说明符。也允许在两个远程主机之间相互复制。

    (1).选项

    -1 强制scp使用协议1
    -2 强制scp使用协议2
    -3 两个远程主机之间的复制通过本地主机传输。如果没有此选项,数据将直接在两个远程主机之间复制。注意:此选项会禁用进度表。
    -4 强制scp仅使用IPv4地址
    -6 强制scp仅使用IPv6地址
    -B 选择批处理模式(防止要求输入口令)
    -C 启用压缩。将-C标志传递给ssh(1)以启用压缩。
    -c cipher 选择用于加密数据传输的密码。此选项直接传递给ssh(1)
    -F ssh_config指定每个用户替代的ssh配置文件。此选项直接传递给ssh(1)
    -i identity_file 选择从公钥认证读取的身份标识(私钥)的文件。此选项直接传递给ssh(1)
    -l limit 限制使用的带宽,以kbit/s为单位
    -o ssh_option 可用ssh_config中使用的格式传递ssh选项。这对于没有单独的scp命令行标志的指定选项很有用。有关下列选项及其可能值的完整信息,见ssh_config(5)。
    AddressFamily、BatchMode、BindAddress、CanonicalDomains、CanonicalizeFallbackLocal、CanonicalizeHostname、CanonicalizeMaxDots、CanonicalizePermittedCNAMEs、
    CertificateFile、ChallengeResponseAuthentication、CheckHostIP、Cipher、Ciphers、Compression、CompressionLevel、ConnectionAttempts、ConnectTimeout、ControlMaster、
    ControlPath、ControlPersist、GlobalKnownHostsFile、GSSAPIAuthentication、GSSAPIDelegateCredentials、HashKnownHosts、Host、HostbasedAuthentication、HostbasedKeyTypes、
    HostKeyAlgorithms、HostKeyAlias、HostName、IdentitiesOnly、IdentityAgent、IdentityFile、IPQoS、KbdInteractiveAuthentication、KbdInteractiveDevices、KexAlgorithms、
    LogLevel、MACs、NoHostAuthenticationForLocalhost、NumberOfPasswordPrompts、PasswordAuthentication、PKCS11Provider、Port、PreferredAuthentications、Protocol、
    ProxyCommand、ProxyJump、PubkeyAcceptedKeyTypes、PubkeyAuthentication、RekeyLimit、RhostsRSAAuthentication、RSAAuthentication、SendEnv、ServerAliveInterval、
    ServerAliveCountMax、StrictHostKeyChecking、TCPKeepAlive、UpdateHostKeys、UsePrivilegedPort、User、UserKnownHostsFile、VerifyHostKeyDNS -P port 指定在远程主机上连接的端口。注意:此选项”P”是大写。 -p 保留原始文件的修改时间、访问时间和模式 -q 静默模式。禁用精度表以及来自ssh(1)的警告和诊断信息 -r 递归复制整个目录。注意:scp遵循树遍历中遇到的符号链接 -S progrom 用于加密连接的program程序名称。该程序必须了解ssh选项 -v 详细模式。令scp和ssh(1)打印有关其进度的调试信息。这有助于调试连接,身份验证和配置问题。

    (2).实例

    主要就是将远程文件复制到本地,以及将本地文件复制到远程主机。这里我准备了一台本地主机CentOS7和一台远程主机CentOS6.8

     1)将远程文件复制到本地

    远程主机CentOS6.8准备被复制的文件

    [root@CentOS6 桌面]# cd /
    [root@CentOS6 /]# ls
    bin dev home lib64 media mnt opt root selinux sys usr
    boot etc lib lost+found misc net proc sbin srv tmp var
    [root@CentOS6 /]# mkdir sw    //创建文件夹
    [root@CentOS6 /]# cd sw
    [root@CentOS6 sw]# cat>text1.txt<<EOF    //创建text1.txt
    >test1's first line. 
    > test1's second line.
    > test1's third line.
    > EOF
    [root@CentOS6 sw]# ll
    总用量 4
    -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt
    [root@CentOS6 sw]# touch text2    //创建text2
    [root@CentOS6 sw]# ll
    总用量 4
    -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt
    -rw-r--r--. 1 root root 0 10月 10 21:51 text2

    本地主机CentIS7复制远程文件

    [root@xuexi xf]# cd /
    [root@xuexi /]# ls
    bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
    boot  etc  lib   media  opt  root  sbin  sys  usr
    [root@xuexi /]# scp -r root@192.168.128.224:/sw /    //将远程文件夹递归复制到本地根目录下
    The authenticity of host '192.168.128.224 (192.168.128.224)' can't be established.
    RSA key fingerprint is SHA256:1ttWCoSQF5u6ZEARHacvCnJeCHK3dCIbQ2ru+lWyAY8.
    RSA key fingerprint is MD5:1e:32:88:36:4f:7e:0b:3d:8f:13:47:d4:a5:96:a9:4a.
    Are you sure you want to continue connecting (yes/no)? y
    Please type 'yes' or 'no': yes
    Warning: Permanently added '192.168.128.224' (RSA) to the list of known hosts.
    root@192.168.128.224's password: 
    text2                                         100%    0     0.0KB/s   00:00    
    text1.txt                                     100%   61    43.1KB/s   00:00    
    [root@xuexi /]# ls    //可以看到根目录下生成了文件夹sw
    bin   dev  home  lib64  mnt  proc  run   srv  sys  usr
    boot  etc  lib   media  opt  root  sbin  sw   tmp  var
    [root@xuexi /]# cd /sw
    [root@xuexi sw]# ll
    总用量 4
    -rw-r--r--. 1 root root 61 10月 29 10:13 text1.txt
    -rw-r--r--. 1 root root  0 10月 29 10:13 text2
    [root@xuexi sw]# cat text1.txt 
    test1's first line.
    test1's second line.
    test1's third line.
    

    2)将本地文件复制到远程主机

    本地主机CentOS7准备被复制文件,并复制到远程主机CentOS6.8

    [root@xuexi xf]# cd /sw
    [root@xuexi sw]# ls
    text1.txt  text2
    [root@xuexi sw]# cat>text3.txt<<EOF
    > This is the file for CentOS7.
    > EOF
    [root@xuexi sw]# scp text3.txt root@192.168.128.224:/sw/
    root@192.168.128.224's password: 
    text3.txt                                     100%   30    28.6KB/s   00:00   

    在远程主机CentOS6.8中查看

    [root@CentOS6 桌面]# cd /sw
    [root@CentOS6 sw]# ll
    总用量 8
    -rw-r--r--. 1 root root 61 10月 10 21:51 text1.txt
    -rw-r--r--. 1 root root 0 10月 10 21:51 text2
    -rw-r--r--. 1 root root 30 10月 10 22:20 text3.txt
    [root@CentOS6 sw]# cat text3.txt
    This is the file for CentOS7.

    注意1:在上面两个实例中我分别复制了一个文件夹和一个文件,复制文件夹时请注意使用-r选项。

    注意2:在第一次使用时,请确保ssh远程可以正常使用

  • 相关阅读:
    struts2知识系统整理
    JavaScript onload
    百度云如何为用户分配内存空间
    集合运算
    [hdu3530]单调队列
    [hdu4911]逆序对相关
    [hdu5199]统计数据的水题
    [hdu5200]离线+标记
    [hdu5204]水题
    [hdu5203]计数水题
  • 原文地址:https://www.cnblogs.com/diantong/p/9856111.html
Copyright © 2011-2022 走看看