当前位置 博文首页 > 文章内容

    linux远程复制文件夹命令进行远程拷贝文件的 scp命令

    作者:dlxiaoyu01 栏目:服务器基础知识 时间:2021-01-22 16:45:59

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



        scp是securecopy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读readonlysystem时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

        1.命令格式:

        scp[参数][原路径][目标路径]

        2.命令功能:

        scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。

        3.命令参数:

        -1强制scp命令使用协议ssh1

        -2强制scp命令使用协议ssh2

        -4强制scp命令只使用IPv4寻址

        -6强制scp命令只使用IPv6寻址

        -B使用批处理模式(传输过程中不询问传输口令或短语)

        -C允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

        -p保留原文件的修改时间,访问时间和访问权限。

        -q不显示传输进度条。

        -r递归复制整个目录。

        -v详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

        -ccipher以cipher将数据传输进行加密,这个选项将直接传递给ssh。

        -Fssh_config指定一个替代的ssh配置文件,此参数直接传递给ssh。

        -iidentity_file从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

        -llimit限定用户所能使用的带宽,以Kbit/s为单位。

        -ossh_option如果习惯于使用ssh_config(5)中的参数传递方式,

        -Pport注意是大写的P,port是指定数据传输用到的端口号

        -Sprogram指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

        4.使用实例:

        scp命令的实际应用概述:

        从本地服务器复制到远程服务器:

        (1)复制文件:

        命令格式:

        scplocal_fileremote_username@remote_ip:remote_folder

        或者

        scplocal_fileremote_username@remote_ip:remote_file

        或者

        scplocal_fileremote_ip:remote_folder

        或者

        scplocal_fileremote_ip:remote_file

        第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名

        第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

        (2)复制目录:

        命令格式:

        scp-rlocal_folderremote_username@remote_ip:remote_folder

        或者

        scp-rlocal_folderremote_ip:remote_folder

        第1个指定了用户名,命令执行后需要输入用户密码;

        第2个没有指定用户名,命令执行后需要输入用户名和密码;

        从远程服务器复制到本地服务器:

        从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。

        实例1:从远处复制文件到本地目录

        命令:

        scproot@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz/opt/soft/

        输出:

        [root@localhost~]#cd/opt/soft/[root@localhostsoft]#ll总计80072drwxr-xr-x12rootroot409609-2118:40fms3.5drwxr-xr-x3rootroot409609-2117:58fms4.5drwxr-xr-x10rootroot409610-3017:15jdk1.6.0_16drwxr-xr-x10rootroot409609-1719:27jdk1.6.0_16.bak-rwxr-xr-x1rootroot818712602009-12-21jdk-6u16-linux-x64.bindrwxrwxrwx2rootroot409609-2101:16mysqldrwxr-xr-x3rootroot409609-2118:40setup_filedrwxr-xr-x9rootroot409609-1719:23tomcat6.0.32drwxr-xr-x9rootroot40962012-08-14tomcat_7.0[root@localhostsoft]#scproot@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz/opt/soft/root@192.168.120.204'spassword:nginx-0.5.38.tar.gz100%479KB478.7KB/s00:00[root@localhostsoft]#ll总计80556drwxr-xr-x12rootroot409609-2118:40fms3.5drwxr-xr-x3rootroot409609-2117:58fms4.5drwxr-xr-x10rootroot409610-3017:15jdk1.6.0_16drwxr-xr-x10rootroot409609-1719:27jdk1.6.0_16.bak-rwxr-xr-x1rootroot818712602009-12-21jdk-6u16-linux-x64.bindrwxrwxrwx2rootroot409609-2101:16mysql-rw-r--r--1rootroot49022003-1509:11nginx-0.5.38.tar.gzdrwxr-xr-x3rootroot409609-2118:40setup_filedrwxr-xr-x9rootroot409609-1719:23tomcat6.0.32drwxr-xr-x9rootroot40962012-08-14tomcat_7.0[root@localhostsoft]#

      

        说明:

        从192.168.120.204机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz文件到本地/opt/soft/目录中

        实例2:从远处复制到本地

        命令:

        scp-rroot@192.168.120.204:/opt/soft/mongodb/opt/soft/

        输出:

        [root@localhostsoft]#ll总计80556drwxr-xr-x12rootroot409609-2118:40fms3.5drwxr-xr-x3rootroot409609-2117:58fms4.5drwxr-xr-x10rootroot409610-3017:15jdk1.6.0_16drwxr-xr-x10rootroot409609-1719:27jdk1.6.0_16.bak-rwxr-xr-x1rootroot818712602009-12-21jdk-6u16-linux-x64.bindrwxrwxrwx2rootroot409609-2101:16mysql-rw-r--r--1rootroot49022003-1509:11nginx-0.5.38.tar.gzdrwxr-xr-x3rootroot409609-2118:40setup_filedrwxr-xr-x9rootroot409609-1719:23tomcat6.0.32drwxr-xr-x9rootroot40962012-08-14tomcat_7.0[root@localhostsoft]#scp-rroot@192.168.120.204:/opt/soft/mongodb/opt/soft/root@192.168.120.204'spassword:mongodb-linux-i686-static-1.8.5.tgz100%28MB28.3MB/s00:01README100%7310.7KB/s00:00THIRD-PARTY-NOTICES100%78667.7KB/s00:00mongorestore100%7753KB7.6MB/s00:00mongod100%7760KB7.6MB/s00:01mongoexport100%7744KB7.6MB/s00:00bsondump100%7737KB7.6MB/s00:00mongofiles100%7748KB7.6MB/s00:01mongostat100%7808KB7.6MB/s00:00mongos100%5262KB5.1MB/s00:01mongo100%3707KB3.6MB/s00:00mongoimport100%7754KB7.6MB/s00:00mongodump100%7773KB7.6MB/s00:00GNU-AGPL-3.0100%34KB33.7KB/s00:00[root@localhostsoft]#ll总计80560drwxr-xr-x12rootroot409609-2118:40fms3.5drwxr-xr-x3rootroot409609-2117:58fms4.5drwxr-xr-x10rootroot409610-3017:15jdk1.6.0_16drwxr-xr-x10rootroot409609-1719:27jdk1.6.0_16.bak-rwxr-xr-x1rootroot818712602009-12-21jdk-6u16-linux-x64.bindrwxr-xr-x3rootroot409603-1509:18mongodbdrwxrwxrwx2rootroot409609-2101:16mysql-rw-r--r--1rootroot49022003-1509:11nginx-0.5.38.tar.gzdrwxr-xr-x3rootroot409609-2118:40setup_filedrwxr-xr-x9rootroot409609-1719:23tomcat6.0.32drwxr-xr-x9rootroot40962012-08-14tomcat_7.0[root@localhostsoft]#

        

        说明:

        从192.168.120.204机器上的/opt/soft/中下载mongodb目录到本地的/opt/soft/目录来。

        实例3:上传本地文件到远程机器指定目录

        命令:

        scp/opt/soft/nginx-0.5.38.tar.gzroot@192.168.120.204:/opt/soft/scptest

        输出:

        上传前目标机器的目标目录:[root@localhostsoft]#cdscptest/[root@localhostscptest]#ll总计0[root@localhostscptest]#ll本地机器上传:[root@localhostsoft]#scp/opt/soft/nginx-0.5.38.tar.gzroot@192.168.120.204:/opt/soft/scptestroot@192.168.120.204'spassword:nginx-0.5.38.tar.gz100%479KB478.7KB/s00:00[root@localhostsoft]#上传后目标机器的目标目录:[root@localhostscptest]#ll总计484-rw-r--r--1rootroot49022003-1509:25nginx-0.5.38.tar.gz[root@localhostscptest]#

      

        说明:

        复制本地opt/soft/目录下的文件nginx-0.5.38.tar.gz到远程机器192.168.120.204的opt/soft/scptest目录

        实例4:上传本地目录到远程机器指定目录

        命令:

        scp-r/opt/soft/mongodbroot@192.168.120.204:/opt/soft/scptest

        输出:

        上传前目标机器的目标目录:[root@localhost~]#cd/opt/soft/scptest/[root@localhostscptest]#ll总计484-rw-r--r--1