将文件或目录拷贝到另一个Linux系统的命令 scp
本地主机需要和远程主机进行数据迁移或文件传送时,可以使用ftp,或者scp / rsync
scp 将本地文件传送到远程主机或从远程主机拉取文件到本地
格式:
scp [-1245BCpqrv] [-c cipher] [F SSH_config] [-I identity_file] [-l limit] [-o
SSH_option] [-P port] [-S program] [[user@]host1:] file1 […] [[suer@]host2:]file2
成功返回0 失败或异常返回大于0的值
参数:
-P 指定远程链接端口
-q 把进度参数关掉
-r 递归地复制整个文件夹
-V 冗余模式。打印拍错信息方便问题定位
# 将本地文件传送至主机192.168.181.131的/usr/路径下
[root@c7 usr]# scp -P 22 scp.txt root@192.168.181.131:/usr
# 拉取远程主机文件至本地路径
# scp -P 22 root@192.168.181.131:/etc/hosts ./
# 传送目录,需要使用 -r
# scp -r -P 22 root@192.168.181.131:/usr/localapache2
# 将本地目录传送至远程主机指定目录
# scp -r apche2 root@192.168.3.100:/data
格式:
1、第一种格式将远程linux系统上的某个文件或目录拷贝到本地linux系统上
scp 远程用户名@ip地址:文件的绝对路径 本地linxu系统路径
2、将本地的某个文件或者目录拷贝到远程linux系统的某个路径下
scp 本地linux系统文件路径 远程用户名@ip地址:远程系统文件绝对路径
实例1:
目前所在地ip:192.168.60.133
现将此系统下的 /home/ixdba/etc.tar.gz 文件拷贝到ip为192.168.60.168的远程linux系统中root用户下的/tmp目录下
# scp /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp
命令输入完毕时,会提示输入密码,然后开始拷贝数据
实例2:
将本地/etc目录中所有的文件 和子目录拷贝到ip为 192.168.60.135 的远程linux系统的root用户下的opt目录中
# scp -r /etc root@192.168.60.135:/opt