Linux下的scp拷贝命令详解

相同Linux系统中对文件复制拷贝可以用CP命令:

cp [options] source dest

cp [options] source… directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

-a 尽可能将档案状态、权限等资料都照原状予以复制。

-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

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

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

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

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

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

从 本地 复制到 远程(都是Linux系统时)

命令格式:
scp -r local_file remote_username@remote_ip:remote_folder
或者
scp -r local_file remote_username@hostname:remote_folder (这里使用hostname,是因为提前配置了hosts映射)
或者
scp -r local_file remote_username@remote_ip:remote_file
或者
scp -r local_file remote_ip:remote_folder
或者
scp -r local_file remote_ip:remote_file
注:-r 是递归的意思,相当于把文件目录包括里面的内容都递归复制到目标机器

如果没有配置ssh无密登录会在输入复制命令回车后要去输入远程机器的用户登录密码

从远程机器复制到本地当前操作的机器(跟上面操作反过来)remote_ip同样可以换成hostname,条件也是提前配置了hosts映射
如:scp -r remote_username@remote_ip:remote_file ./
注:./的意思是当前所在目录,即正在操作的当前机器目录位置,也可以写成具体路径:

scp -r remote_username@remote_ip:remote_file local_username@hostname:local_folder

这里的local_username和local_folder是指正在操作的机器,可能是实体物理机,也可能是虚拟机,也可能是远程机器(正在输入要执行命令的机器)


从本机操作远程机器,将远程机器文件复制到另一台远程机器(三台机器)
scp -r remote_username1@remote_ip1:remote_file1 username2@remote_ip2:remote_file2
注:

  • remote_file1需要复制的文件既可以是文本也可以是目录,而remote_file2是用来存放remote_file1的目录(位置)

  • remote_ip可以换做hostname,前提是远程机器上做了hosts映射,把它自己的ip映射为自己的hostname
    如:scp -r atguigu@hadoop103:/opt/software/demo.txt atguigu@hadoop104:/opt/software(如果没有配置ssh无秘登录,会依次要求输入主机hadoop103和主机hadoop104的用户密码的)


从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

相比于CP命令,主要就是在source跟dest之前加上remote_username@remote_ip:,通过加的位置的不同区分出到底从远程到本地还是本地到远程

可能有用的几个参数 :

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

-C 使能压缩选项 .

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

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .

注意两点:
1.如果远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视情况而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用户是否具有可读取远程服务器相应文件的权限。
参考:https://blog.csdn.net/jyf0412/article/details/36866041

(0)

相关推荐

  • 【Linux 命令】scp 命令详解

    Linux 命令之 scp 命令详解 一.scp 简介 scp 命令用于不同主机之间复制文件和目录. scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令. s ...

  • 2-3 远程管理命令-SSH工作方式简介

    03.远程登录和复制文件 序号 命令 对应英文 作用 01 ssh 用户名@ip secure shell 关机/重启 02 scp 用户名@ip:用户名或路径 用户名@ip:文件名或路径 secur ...

  • 动手实现Linux远程控制

    小糖豆在工作中有时需要将深度学习算法和模型部署到Jetson TX2嵌入式开发板.Jetson TX2 模块采用 NVIDIA Pascal™ 架构,性能强大,且外形小巧,节能高效,非常适合机器人.无 ...

  • linux中iptables配置文件及命令详解详解

    https://www.cnblogs.com/itxiongwei/p/5871075.html iptables配置文件 直接改iptables配置就可以了:vim /etc/sysconfig/ ...

  • Linux下source命令详解

    source命令用法# source FileName source命令作用# 在当前bash环境下读取并执行FileName中的命令. *注:该命令通常用命令"."来替代. 使用 ...

  • linux命令总结dd命令详解

    一:dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文件 ...

  • linux find命令格式及find命令详解

    linux find命令格式及find命令详解

  • linux vi 命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  • Linux 常用 ls命令详解

    ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息.   一.ls命令用法: ls命令运行在命令提示符终端,用法如下.其中[选项]和为可选参数,可以一零个或者多个选项:[文件 ...

  • Linux awk 命令详解

    awk是行处理器:相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或处理缓慢的问题,常用来格式化文本信息. awk处理过程:依次对每一行进行处理,然后输出.①读取被匹配到的行数据:②按照输入分隔 ...

  • 【Linux 命令】cp 命令详解

    一.cp 命令简介 cp 命令主要用于复制文件或目录.即用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp 命令可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下. ...