linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;

    技术2025-07-24  23

    Linux系统中scp命令的用法. scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。 一、将本机文件复制到远程服务器上 #scp /home/administrator/news.txt root@192.168.6.129:/etc/squid /home/administrator/ 本地文件的绝对路径 news.txt 要复制到服务器上的本地文件 root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户) 192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名) /etc/squid 将本地文件复制到位于远程服务器上的路径 如图通过root用户登录远程服务器,输入yes表示同意建立ssh连接 按提示输入root用户的密码 如图所示建立连接后开始传输文件,显示百分比、实际时间和传送速度等信息 二、将远程服务器上的文件复制到本机 #scp remote@www.abc.com:/usr/local/sin.sh /home/administrator remote 通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户) www.abc.com 远程服务器的域名(当然也可以使用该服务器ip地址) /usr/local/sin.sh 欲复制到本机的位于远程服务器上的文件 /home/administrator 将远程文件复制到本地的绝对路径 注意两点: 1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下: #scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator 2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。

    =============================================================

    今天在做两台linux机器文件拷贝时,试用了一下ftp命令与scp命令,这里作个记录。

    ftp命令:

       其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的拷贝。

    1. 连接ftp服务器   格式:ftp [hostname| ip-address]  a)在linux命令行下输入:ftp 192.168.26.66  b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

     2. 下载文件

      下载文件通常用get和mget这两条命令。  a) get   格式:get [remote-file] [local-file]  将文件从远端主机中传送至本地主机中.  如要获取服务器上e:/rose/1.bmp,则  ftp> get /rose/1.bmp 1.bmp (回车)

      b) mget        格式:mget [remote-files]  从远端主机接收一批文件至本地主机.  如要获取服务器上e:/rose/下的所有文件,则  ftp> cd /rose  ftp> mget *.* (回车)

      注意:文件都下载到了linux主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则文件都下载到了/root/yint下。

     3.上传文件

      a) put  格式:put local-file [remote-file]  将本地一个文件传送至远端主机中.  如要把本地的1.bmp传送到远端主机e:/rose,并改名为333.bmp  ftp> put 1.bmp /rose/333.bmp (回车)

      b) mput  格式:mput local-files  将本地主机中一批文件传送至远端主机.  如要把本地当前目录下所有bmp文件上传到服务器e:/rose 下  ftp> cd /rose (回车)  ftp> mput *.bmp (回车)  注意:上传文件都来自于主机的当前目录下。比如,在 /root/test下运行的ftp命令,则只有在/root/test下的文件linux才会上传到服务器e:/rose 下。

     4. 断开连接  bye:中断与服务器的连接。  ftp> bye (回车)

    SCP命令:

        scp是安全的文件拷贝,基于ssh的登录

       假定你想把本地计算机/home下的一个名为a.tar.tz的文件拷贝到远程服务器192.168.0.2上的/home/tmp。而且你在远程服务器上的帐号名为root。可以用这个命令: scp /home/a.tar.tz root@192.168.0.2:/home/tmp/

    如果把文件从远程机器拷贝到本机当前目录用这个命令:    scp root@192.168.0.2:/home/a.tar.tz    拷贝远程机器的整个目录下的文件   scp -r root@192.168.0.2:/home/* ./

    PS:有个Winscp的windows客户端软件,通过它可以实现windows和linux的文件互拷贝,相当方便

    ========================================================

     

    scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.与rcp不同的是,scp会要求你输入密码如果需要的话.

      最简单的应用如下:

      scp 本地用户名@IP地址:文件名1 远程用户名@IP地址:文件名2

      [本地用户名@IP地址:] 可以不输入,可能需要输入远程用户名所对应的密码.

      可能有用的几个参数:

      -v 和大多数linux命令中的-v意思一样,用来显示进度.可以用来查看连接,认证,或是配置错误.

      -C 使能压缩选项.

      -P 选择端口.注意-p已经被rcp使用.

      -4 强行使用IPV4地址.

      -6 强行使用IPV6地址.

      拷贝单个文件命令:

      scp file username@ip:filepath

      说明:

      file: 要拷贝的文件名

      username: 远程登录的用户名,

      ip:远程服务器ip

      filepath:远程文件路径

      拷贝文件夹命令如下(多加上一个-r 参数即可):

      scp -r file username@ip:filepath

      不同的Linux之间copy文件常用有3种方法:

      第一种是在其中一台Linux安装ftp Server,这样可以在另外一台使用ftp的client程序来进行copy。

      第二种方法就是采用samba服务,类似Windows文件copy的方式来操作,比较简洁方便

      第三种就是利用scp命令来进行文件复制。

      scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

      scp /home/1.gif root@172.19.2.75:/home/root

      然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始cp和ungzip了

      如果想反过来操作,把文件从远程主机copy到当前系统,也很简单:

      scp root@172.19.2.75:/home/abc.gif /home/root

      复制文件夹的格式是

      scp -r root@192.168.1.1:/home/ /本地目录

    本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/articles/1215484977397/20100323/1215945703727_1.html

     

    ================================================================

     

    linux 的 scp 命令 可以 在 linux 之间复制 文件 和 目录;      ==================   scp 命令    ==================   scp 可以在 2个 linux 主机间复制文件;      命令基本格式:           scp [可选参数] file_source file_target      ==================    从 本地 复制到 远程    ==================    * 复制文件:            * 命令格式:                    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个指定了文件名;            * 例子:                    scp /home/space/music/1.mp3 root    @www.pk.edu.cn:/home/root/others/music                scp /home/space/music/1.mp3 root    @www.pk.edu.cn:/home/root/others/music/001.mp3                scp /home/space/music/1.mp3 www.pk.edu.cn:/home/root/others/music                    scp /home/space/music/1.mp3 www.pk.edu.cn:/home/root/others/music/001.mp3      * 复制目录:            * 命令格式:                    scp -r local_folder remote_username@remote_ip:remote_folder                    或者                    scp -r local_folder remote_ip:remote_folder                      第1个指定了用户名,命令执行后需要再输入密码;                    第2个没有指定用户名,命令执行后需要输入用户名和密码;            * 例子:                    scp -r /home/space/music/ root@www.pk.edu.cn:/home/root/others/                    scp -r /home/space/music/ www.pk.edu.cn:/home/root/others/                      上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录        ==================    从 远程 复制到 本地    ==================    从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;      例如:          scp root@www.pk.edu.cn:/home/root/others/music /home/space/music/1.mp3             scp -r www.pk.edu.cn:/home/root/others/ /home/space/music/  

    ========================================================================

    SSH提供了一些明令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个"scp"命令。

    假定你想把本地计算机当前目录下的一个名为"dumb"的文件拷贝到远程服务器www.foobar.com上你的家目录下。而且你在远程服务器上的帐号名为"bilbo"。可以用这个命令:

    scp dumb bilbo@www.foobar.com:.

    把文件拷贝回来用这个命令:

    scp bilbo@www.foobar.com:dumb .

    "scp"调用SSH进行登录,然后拷贝文件,最后调用SSH关闭这个连接。

    如果在你的"~/.ssh/config"文件中已经为www.foobar.com做了这样的配置:

    Host *fbc HostName www.foobar.com User bilbo ForwardAgent yes

    那么你就可以用"fbc"来代替"bilbo@www.foobar.com",命令就简化为"scp dumb fbc:."。

    "scp"假定你在远程主机上的家目录为你的工作目录。如果你使用相对目录就要相对于家目录。

    用"scp"命令的"-r"参数允许递归地拷贝目录。"scp"也可以在两个不同的远程主机之间拷贝文件。

    关于SSH的详细信息,可以参考http://www.linuxaid.com.cn/engineer/brimmer/html/ssh.htm

    scp user@host:/path/to/files    local_file_name

    拷贝到远程scp local_file_name user@host:/path/to/files 拷贝目录到远程scp -r local_file_name user@host:/path/to/files

    ftp:

    wget ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz

    http://blog.chinaunix.net/u/8983/showart.php?id=55609

    http://www.unix206.com/8/166189.html

    scp命令

    scp命令是SSH中最方便有用的命令了,试想,在两台服务器之间直接 传送文件,仅仅用scp一个命令就完全解决了。 你可以在一台服务器上 以root身份运行#scp servername:/home/ftp/pub/file1 . 这样就把另 一台服务器上的文件/home/ftp/pub/file1直接传到本机器的当前目录下,当然你也可以用#scp /tmp/file2 servername:/boot 把本机上的文件/tmp/file2送到另一台机器的/boot目录下。而且整个传送过程仍然是 用SSH加密的。 

    本文来自博客,转载请标明出处:http://blog.csdn.net/ok7758521ok/archive/2007/09/04/1772130.aspx

    最新回复(0)