Linux 拷贝命令之高级拷贝scp命令详解

        首先,很感谢 ITPub网站,能提供这么一个平台,让我能将自己平时工作、学习中的收获与大家分享、一起进步,共同提高。

        话说 2013年的11月份,我离开了工作四年之久的单位,开始了新的求职之旅。
        经朋友介绍,去一家小有名气的互联网公司面试数据库管理工作。面试的过程中,面试官一共问了三类问题:Linux操作系统、网络、数据库。结果,自己死在了操作系统上。
        回家之后,经过总结、发现自己存在数据库的短板,不想再出现类似的经历,于是决定奋发图强。下面将自己的心酸过程与大家分享。

        大致是经历了如下几个阶段:
        1、放弃了Windows OS的使用,将个人的工作、学习环境换成了 OPENSuse 13.1 (Linux)。
        2、摸索、熟悉Linux环境的使用。
        3、渐渐熟悉、顺手。
        4、习惯了Linux工作环境,感觉像使用Windows 一样好使了。

       写上面的内容,并没有对任何技术的歧视,只是自己的习惯而已,大家不要喷我。
      
        就在我面试回来之后的第二天,我在网上找了一些资料学习Linux, 基本都是介绍命令的使用,本人搞技术出身,深知技术的学习需要一次一次的实践,正印证了陆游的一句诗:“纸上得来终觉浅,绝知此事要躬行”。学习Linux,系统必不可少, 纠结于选择哪个Linux Distribution, 通过各种搜索,参考各种论坛,最终得到一个结论:各个发行版都是基于Linux 内核开发的,底层都是一样的,只是上层略有不同。最后,选择了开源、免费、个人用户还算比较多的OPENSuse。

       确定好了发行版本,动手开始做吧。下载安装介质,刻录光盘,安装系统,直到最后登录进Desktop。感觉不错,总算用上了。
厄运终于开始了,文件找不到,打不开Word文档等等。。。。。。。。
一个一个困难克服吧,安装LibreOffice,打开Word文档,适应Linux的文件结构。。。。。。。
总之,感觉就是在自虐呢。

          人们都是在Windows上安装Linux虚拟机,我要反其道而行之。在Linux上面安装Windows,工作、学习的时候用Linux,娱乐、写Word 文档的时候用Windows。
通过几天的尝试,终于实现了以上的设想,在Linux上面安装了Virtualbox, 在其上安装Window操作系统,感觉不错,赞一个。

          平时,开机的时候,启动模式将默认的5修改成了 3, 输入账户,口令,进入系统,执行命令,启动X Window, 等等,总之,就是能用命令绝不点击鼠标。

          说了半天无关的话题,下面该进入正题了。
          我计划将Linux的常用命令通过联机文档的方式,给大家翻译出来,加入自己的一些例子,让不太对英语感冒的伙伴们参考,也算是为IT 技术做了一点小小的贡献吧。
至于能够坚持做多少,我也不敢保证,先给自己下定一个初步的任务吧。
          Liuux 命令常用的有如下几大类:
PRE.cjk { font-family: "WenQuanYi Micro Hei Mono",monospace; }PRE.ctl { font-family: "Droid Sans Devanagari",monospace; }P { margin-bottom: 0.08in; }
1、文件系统
2、进程管理
3、系统环境 	
4、文本处理	
5、压缩、解压缩 	
6、网络	
7、其他 

按照每周3个的进度,一年下来150多个,基本可以将常用到的命令都涵盖到。现在,开始我的第一个Linux命令scp吧。
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
           
            看到上面各种参数、选项蒙了吧。不过,没有关系,我们化整为零,一个一个来分析。
            其实,这个命令和我们平时使用的cp 十分的相似。

          scp 最简单的用法就是 scp [[user@]host1:]file1 ... [[user@]host2:]file2 ,能看懂么?
          看不懂也没有关系,举个例子吧: 我要从192.168.1.2的Linux 主机的/home/oracle/*.tar 文件 拷贝到 192.168.1.3 的Linux主机的 /home/siebel下,就可以仿照上面的格式写成:
          scp oracle@192.168.1.2:/home/oracle/*.tar  siebel@192.168.1.3:/siebel/
          输入完了以上命令,回车换行确认,可能会让你输入口令,根据提示输入口令吧。
          第一次执行的时候,出现如下错误:ssh: connect to host 192.168.1.99 port 22: Connection refused, 于是将 sshd 程序启动,执行脚本: # /etc/init.d/sshd start, 成功解决以上问题。

          至于该命令的其他参数,平时工作之中基本用不到,所以,不举例了,简单给大家翻译一下吧,以做参考。

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.
     scp 在网络主机之间拷贝数据,她使用ssh(1)来进行数据传输,同时使用相同的安全验证方式。不象 rcp(1), scp 在必要的时候,会询问口令。

    The options are as follows:
     具体的选项如下所示:
     -1      Forces scp to use protocol 1.
               强制 scp 使用协议1

     -2      Forces scp to use protocol 2.
              强制 scp 使用协议2

     -3      Copies between two remote hosts are transferred through the local host.  Without this option the data is copied
             directly between the two remote hosts.  Note that this option disables the progress meter.
              通过本机主机在两个远程主机之间传输数据。没有这个选项,数据将直接在远程主机间拷贝数据。 注意:这个选项不支持进度条显示。

     -4      Forces scp to use IPv4 addresses only.
              强制scp只使用IPV4地址。

     -6      Forces scp to use IPv6 addresses only.
               强制scp只使用IPV6地址。


     -B      Selects batch mode (prevents asking for passwords or passphrases).
               使用批量模式(避免询问密钥或者口令)

     -C      Compression enable.  Passes the -C flag to ssh(1) to enable compression.
              启用压缩。传递-C参数给SSH以启用压缩

     -c cipher
             Selects the cipher to use for encrypting the data transfer.  This option is directly passed to ssh(1).
             选择密码加密数据传输,这个选项被直接传递给ssh(1)。

     -F ssh_config
             Specifies an alternative per-user configuration file for ssh.  This option is directly passed to ssh(1).
            为ssh指定一个交互的用户配置文件,这个选项被直接传递给ssh(1)。

     -l limit
             Limits the used bandwidth, specified in Kbit/s.
             限制使用的带宽,以Kb为单位。

 
     -P port
             Specifies the port to connect to on the remote host. 
             在远程主机上指定链接端口
 
     -q      Quiet mode
               静默模式:

     -r      Recursively copy entire directories
              递归拷贝整个目录

     -S program
             Name of program to use for the encrypted connection.  The program must understand ssh(1) options.
              用来加密链接的程序。这个程序需要能够识别ssh(1)的选项。

EXIT STATUS
执行后状态
     The scp utility exits 0 on success, and >0 if an error occurs.
     scp 工具命令当成功执行后,返回代码为0, 任何错误出现返回代码都大于0.

     好啦,以上的翻译有一些删减,大家见谅。

       今天的博客暂时写到这里吧,我也该回家了,女朋友一个人在家做饭,再不回去我要批评我了,做个好孩子啦。
   







来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23628945/viewspace-1118090/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23628945/viewspace-1118090/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值