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

scp  文件夹 正确的方法:tar 打包在解压

sudo tar -czvf  test.tgz /..../test

scp ~/test.tgz ./

sudo tar -xzvf ./test.tgz -C /

1.命令格式:

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

2.命令功能:

scp是 secure copy的缩写, 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)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

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

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

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

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

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

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

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

4.使用实例:

scp命令的实际应用概述:

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

(1) 复制文件:

命令格式:

scp local_file remote_username@remote_ip:remote_folder

或者

scp local_file remote_username@remote_ip:remote_file

或者

scp local_file remote_ip:remote_folder

或者

scp local_file remote_ip:remote_file

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

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

(2) 复制目录:

命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

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

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

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

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

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

命令:

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

输出:


[root@localhost ~]# cd /opt/soft/ [root@localhost soft]# ll 总计 80072 drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5 drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5 drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16 drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak -rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin drwxrwxrwx  2 root root     4096 09-21 01:16 mysql drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32 drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0 [root@localhost soft]# scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/ root@192.168.120.204's password:  nginx-0.5.38.tar.gz                                                                               100%  479KB 478.7KB/s   00:00     [root@localhost soft]# ll 总计 80556 drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5 drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5 drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16 drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak -rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin drwxrwxrwx  2 root root     4096 09-21 01:16 mysql -rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32 drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0 [root@localhost soft]# 

说明:

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

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

命令:

scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

输出:


[root@localhost soft]# ll 总计 80556 drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5 drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5 drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16 drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak -rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin drwxrwxrwx  2 root root     4096 09-21 01:16 mysql -rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32 drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0 [root@localhost soft]# scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/ root@192.168.120.204's password:  mongodb-linux-i686-static-1.8.5.tgz                                                               100%   28MB  28.3MB/s   00:01     README                                                                                            100%  731     0.7KB/s   00:00     THIRD-PARTY-NOTICES                                                                               100% 7866     7.7KB/s   00:00     mongorestore                                                                                      100% 7753KB   7.6MB/s   00:00     mongod                                                                                            100% 7760KB   7.6MB/s   00:01     mongoexport                                                                                       100% 7744KB   7.6MB/s   00:00     bsondump                                                                                          100% 7737KB   7.6MB/s   00:00     mongofiles                                                                                        100% 7748KB   7.6MB/s   00:01     mongostat                                                                                         100% 7808KB   7.6MB/s   00:00     mongos                                                                                            100% 5262KB   5.1MB/s   00:01     mongo                                                                                             100% 3707KB   3.6MB/s   00:00     mongoimport                                                                                       100% 7754KB   7.6MB/s   00:00     mongodump                                                                                         100% 7773KB   7.6MB/s   00:00     GNU-AGPL-3.0                                                                                      100%   34KB  33.7KB/s   00:00     [root@localhost soft]# ll 总计 80560 drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5 drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5 drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16 drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak -rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin drwxr-xr-x  3 root root     4096 03-15 09:18 mongodb drwxrwxrwx  2 root root     4096 09-21 01:16 mysql -rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32 drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0 [root@localhost soft]# 

说明:

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

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

命令:

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

输出:


上传前目标机器的目标目录: [root@localhost soft]# cd scptest/ [root@localhost scptest]# ll 总计 0 [root@localhost scptest]# ll 本地机器上传: [root@localhost soft]# scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest root@192.168.120.204's password:  nginx-0.5.38.tar.gz                                                                               100%  479KB 478.7KB/s   00:00     [root@localhost soft]#  上传后目标机器的目标目录: [root@localhost scptest]# ll 总计 484 -rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz [root@localhost scptest]#

说明:

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

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

命令:

scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest

输出:


上传前目标机器的目标目录: [root@localhost ~]# cd /opt/soft/scptest/ [root@localhost scptest]# ll 总计 484 -rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz [root@localhost scptest]#  本地机器上传: [root@localhost ~]# scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest root@192.168.120.204's password:  mongodb-linux-i686-static-1.8.5.tgz                                                               100%   28MB  28.3MB/s   00:01     README                                                                                            100%  731     0.7KB/s   00:00     THIRD-PARTY-NOTICES                                                                               100% 7866     7.7KB/s   00:00     mongorestore                                                                                      100% 7753KB   7.6MB/s   00:00     mongod                                                                                            100% 7760KB   7.6MB/s   00:01     mongoexport                                                                                       100% 7744KB   7.6MB/s   00:00     bsondump                                                                                          100% 7737KB   7.6MB/s   00:00     mongofiles                                                                                        100% 7748KB   7.6MB/s   00:00     mongostat                                                                                         100% 7808KB   7.6MB/s   00:01     mongos                                                                                            100% 5262KB   5.1MB/s   00:00     mongo                                                                                             100% 3707KB   3.6MB/s   00:00     mongoimport                                                                                       100% 7754KB   7.6MB/s   00:01     mongodump                                                                                         100% 7773KB   7.6MB/s   00:00     GNU-AGPL-3.0                                                                                      100%   34KB  33.7KB/s   00:00     [root@localhost ~]#  上传后目标机器的目标目录: [root@localhost scptest]# ll 总计 488 drwxr-xr-x 3 root root   4096 03-15 09:33 mongodb -rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz [root@localhost scptest]# 

说明:

上传本地目录 /opt/soft/mongodb到远程机器192.168.120.204上/opt/soft/scptest的目录中去

本文来自http://www.cnblogs.com/peida/archive/2013/03/15/2960802.html

scp 命令使用的更多相关文章

  1. linux之cp/scp命令+scp命令详解

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  2. Linux学习之三--scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  3. scp命令详解

    \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

  4. 【转】scp 命令格式

    SCP 命令   \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称 ...

  5. 每天一个linux命令(60):scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  6. scp命令[转]

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  7. 有scp命令,传输文件却显示报错无此命令

    今天下午在一台服务器上使用scp命令向另外一台服务器传文件的时候,报此错误 bash: scp: command not found ,lost connection,以为是该服务器没有安装此命令,w ...

  8. SCP 命令(转)

    \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

  9. scp命令的用法详解

    这篇文章主要是参考了http://blog.csdn.net/jiangkai_nju/article/details/7338177这个博客,要看详细的内容可以参考这个博客进行学习研究,但是我觉得在 ...

  10. linxu scp命令

    \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

随机推荐

  1. Duff and Weight Lifting - 587A

    题目大意:某个人训练举重,他每次可以举起来2^wi的重量,不过这个人比较懒所以他想尽量减少训练的次数,如果所有的训练重量2^a1 +2^a2+....2^ak = 2^x,那么这些重量可以一次性训练( ...

  2. @RenderBody()和@RenderSection()

    强大的Razor引擎 一.Razor基础简介 Razor采用了cshtml后缀的文件名,截图如下: A. 版面布局 从图上看到,新的视图引擎已经没有了Site.Master这种MasterPage了, ...

  3. 电话qie听器

    业务逻辑: 当有电话打进来或电话打出去的时候,对电话进行录音. public class TelphoneyListenerService extends Service { private stat ...

  4. Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍

    本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...

  5. mysql导出部分(指定)数据库表字段

      需要导出某个表中的部分字段信息 之前导出数据库表一直使用mysqldump命令,例如: mysqldump -hIP -uroot -P3306 -p 库 表 > 名字.sql 但是如果导出 ...

  6. Bash String Manipulation Examples – Length, Substring, Find and Replace--reference

    In bash shell, when you use a dollar sign followed by a variable name, shell expands the variable wi ...

  7. 彻底理解android中的内部存储与外部存储

    我们先来考虑这样一个问题: 打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的 ...

  8. Linux Bash终端支持中文显示

    方法:修改系统变量LANG 即时生效: LANG=en_US.UTF- 永久生效: 修改.bashrc,加入 fi

  9. skynet启动过程_1

    skynet的启动时需带个配置文件,这个文件其实是作为lua全局变量用的,见 int main(int argc, char *argv[]) { const char * config_file = ...

  10. MVC框架是什么

     MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使 ...