Linux【2】-管理文件-8--两台Linux系统之间传输文件(scp/rsync)
- scp
- rsync差异化传输(支持断点续传,数据同步)
- 管道传输(降低IO开销)
- nc传输(一种网络的数据流重定向)
- 建立文件服务器
- nfs实现文件共享
这里就先用一下scp
一、scp传输
当两台LINUX主机之间要互传文件时可使用SCP命令来实现
scp传输速度较慢,但使用ssh通道保证了传输的安全性
1.1 复制文件
将本地文件拷贝到远程
scp 文件名 –用户名@计算机IP或者计算机名称:远程路径
从远程将文件拷回本地
scp 用户名@计算机IP或者计算机名称:文件名 本地路径
命令格式
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个指定了文件名;
1.2 复制目录
将本地目录拷贝到远程
scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
从远程将目录拷回本地
scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
命令格式
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.cumt.edu.cn:/home/root/others/
scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/
参数详解
参数 | 描述 |
---|---|
-a | 尽可能将档案状态、权限等资料都照原状予以复制 |
-r | 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地 |
-f | 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制 |
-v | 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 |
-C | 使能压缩选项 |
-P | 选择端口 . 注意 -p 已经被 rcp 使用 |
-4 | 强行使用 IPV4 地址 |
-6 | 强行使用 IPV6 地址 |
举例说明
把计算机名为“v111.nn”下所有的东西都拷贝到本机/home/admin/目录下
scp -r * v111.nn:/home/admin/
以admin的身份把IP地址为“192.168.219.125”,/home/admin/test目录下所有的东西都拷贝到本机/home/admin/目录下
scp -r admin@192.168.219.125:/home/admin/test /home/admin/
二、rsync
将服务器端的文件my-repo.bundle下载到本地:
rsync -P --rsh=ssh root@ip:/home/sam/my-repo.bundle my-repo.bundle
该方法支持断点续传
-P: 是包含了 “–partial –progress”, 部分传送和显示进度
三、讨论
3.1 免密传递数据
如果将A的数据传输到B服务器上,这个时候是需要B的密码的。
可以将A的 id_rsa.pub的信息,放到B的~/.ssh/authorized_key
具体方法参见 远程连接-ssh
参考资料
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn