windows和linux服务器之间的文件传输解决方法
windows和windows服务器文件传输
远程桌面方式:
前提是两windows服务器之间网络是通的,如果是云服务器的话可以开启RDP协议端口3389,机房也一样。
文字步骤:
在源文件的服务器上通过远程桌面连接目标服务器,在源服务器鼠标选择所需要的文件右键选择复制,在远程桌面的界面里,也就是你目标服务器的界面,到你所需要的保存的地方右键选择粘贴
运行远程桌面程序
1.windows键+R键 同时按调出命令搜索小窗口,在窗口输入栏键入mstsc.exe,点击确定就可以运行远程桌面
mstsc.exe就是远程桌面这个功能的底层的具体程序名称,
2,windows搜索栏键入运程就会出来匹配结果,选中远行就可以。
远程桌面运行后,输入目标windows的IP地址,如果不在一个内网,就需要键入公网IP
输入IP和用户后,如果网络通,会提示你输入密码,之后就会弹出一个远程桌面的窗口了,显示的内容是你远程的windows的界面
在源windows复制需要传输的文件
在远程桌面窗口桌面中右键弹出菜单选粘贴
这样远程windows就会出现我们刚才复制的文件,文件夹也是支持的!
反之也是一样支持,就是从远程桌面复制文件到本地,在远程windows中选择文件右键复制,在本地桌面右键粘贴,本地就会出现远程选择的文件。这里就不再展示!
除去远程桌面,还可以使用共享文件夹的形式,但比远程桌面会麻烦一点,
在需要接受文件或者有下载文件的windows上创建一个文件夹设置共享,选择everyone或者其他用户,设置读写权限,再从其他windows的文件资源管理器的地址栏输入对应网络访问路径即可,
点击属性设置共享
点击共享栏处的共享,弹出共享配置用户和权限,可以选择everyone,或者创建新用户,选择添加,权限设读写即可。
最后点击右下角的共享生效,会弹出一个提示框,
这样一个共享文件夹就配置完成了,然后在其他windows服务器通过IP地址+共享文件夹名字访问
访问格式:
\\10.6.3.25\test
\\IP\共享文件夹名字
注意:这里的访问路径只需要IP+最后的一个文件夹名称,不需要管前面有多次层父目录。
linux和linux服务器文件传输
scp
linux系统中实现linux之间的文件和目录复制的命令为scp,它是secure
copy的缩写,是linux系统里基于ssh登录,进行安全的远程文件拷贝命令,并且它是加密的。
基本格式
scp [参数] [原路径] [目标路径]
常用参数:
-r 递归复制整个目录
-p 保留源文件的修改时间、访问时间和权限
-P(大写)指定ssh的port
scp 参数后的第一个位置就是传输的源文件,最后一个位置就是目标目录
从本地复制文件到其他服务器
#复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下
scp -r /tmp/1.txt root@192.168.80.135:/tmp/
#复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下并改名为2.txt
scp -r /tmp/1.txt root@192.168.80.135:/tmp/ 2.txt
#复制本地/tmp/1/目录 到 192.168.80.135服务器下的/tmp/
scp -r /tmp/1 root@192.168.80.135:/tmp/
#复制本地/tmp/1 到 192.168.80.135服务器下的/tmp/下并改名为22
scp -r /tmp/1 root@192.168.80.135:/tmp/2
从其他服务器复制文件到本地(其实就是把两个位置调换一下)
#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下
scp -r root@192.168.80.135:/tmp/1.txt /tmp/
#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下并改名为2.txt
scp -r root@192.168.80.135:/tmp/1.txt /tmp/2.txt
#复制192.168.80.135服务器下的/tmp/1/目录 到 本地/tmp/下
scp -r root@192.168.80.135:/tmp/1 /tmp/
#复制192.168.80.135服务器下的/tmp/1目录 到 本地/tmp/下并改名为22
scp -r root@192.168.80.135:/tmp/1 /tmp/22
scp详细参数列表
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
rsync
Linux rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
一般系统都自带了这个命令包,如果没有,搜索一下yum仓库看这个命令是哪个包提供的,安装一下就可以
#查看命令由哪个软件包提供
yum whatprovides rsync
yum -y install rsync-3.1.2-10.el7.x86_64
rsync 和scp一样,参数后第一个位置是源,第二个是目标
rsync[参数] [原路径] [目标路径]
#拷贝本地文件。
rsync -a /data /data1
#复制本地文件到远程服务器
rsync -avz /tmp/1.txt root@192.168.80.135:/tmp/
#复制远程服务器到本地
rsync -avz root@192.168.80.135:/tmp/1.txt /tmp/
rsync的其他参数如下
-v, --verbose 详细模式输出。
-q, --quiet 精简输出模式。
-c, --checksum 打开校验开关,强制对文件传输进行校验。
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-r, --recursive 对子目录以递归模式处理。
-R, --relative 使用相对路径信息。
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀。
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。
-l, --links 保留软链结。
-L, --copy-links 想对待常规文件一样处理软链结。
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。
--safe-links 忽略指向SRC路径目录树以外的链结。
-H, --hard-links 保留硬链结。
-p, --perms 保持文件权限。
-o, --owner 保持文件属主信息。
-g, --group 保持文件属组信息。
-D, --devices 保持设备文件信息。
-t, --times 保持文件时间信息。
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间。
-n, --dry-run现实哪些文件将被传输。
-w, --whole-file 拷贝文件,不进行增量检测。
-x, --one-file-system 不要跨越文件系统边界。
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节。
-e, --rsh=command 指定使用rsh、ssh方式进行数据同步。
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息。
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件。
--delete 删除那些DST中SRC没有的文件。
--delete-excluded 同样删除接收端那些被该选项指定排除的文件。
--delete-after 传输结束以后再删除。
--ignore-errors 及时出现IO错误也进行删除。
--max-delete=NUM 最多删除NUM个文件。
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。
--force 强制删除目录,即使不为空。
--numeric-ids 不将数字的用户和组id匹配为用户名和组名。
--timeout=time ip超时时间,单位为秒。
-I, --ignore-times 不跳过那些有同样的时间和长度的文件。
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间。
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0。
-T --temp-dir=DIR 在DIR中创建临时文件。
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份。
-P 等同于 --partial。
--progress 显示备份过程。
-z, --compress 对备份的文件在传输时进行压缩处理。
--exclude=PATTERN 指定排除不需要传输的文件模式。
--include=PATTERN 指定不排除而需要传输的文件模式。
--exclude-from=FILE 排除FILE中指定模式的文件。
--include-from=FILE 不排除FILE指定模式匹配的文件。
--version 打印版本信息。
--address 绑定到特定的地址。
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件。
--port=PORT 指定其他的rsync服务端口。
--blocking-io 对远程shell使用阻塞IO。
-stats 给出某些文件的传输状态。
--progress 在传输时现实传输过程。
--log-format=formAT 指定日志文件格式。
--password-file=FILE 从FILE中得到密码。
--bwlimit=KBPS 限制I/O带宽,KBytes per second。
-h, --help 显示帮助信息。
windows和远程linux服务器文件传输
这里介绍一个比较简单的lrzsz,
在linux远程服务器安装lrzsz
yum -y install lrzsz
从linux服务器下载文件
sz 【文件】
[root@jenkins test]# sz 1.txt
上传文件到linux服务器
[root@jenkins test]# rz
远程桌面方式:
前提是两windows服务器之间网络是通的,如果是云服务器的话可以开启RDP协议端口3389,机房也一样。
文字步骤:
在源文件的服务器上通过远程桌面连接目标服务器,在源服务器鼠标选择所需要的文件右键选择复制,在远程桌面的界面里,也就是你目标服务器的界面,到你所需要的保存的地方右键选择粘贴
运行远程桌面程序
1.windows键+R键 同时按调出命令搜索小窗口,在窗口输入栏键入mstsc.exe,点击确定就可以运行远程桌面
mstsc.exe就是远程桌面这个功能的底层的具体程序名称,
2,windows搜索栏键入运程就会出来匹配结果,选中远行就可以。
远程桌面运行后,输入目标windows的IP地址,如果不在一个内网,就需要键入公网IP
输入IP和用户后,如果网络通,会提示你输入密码,之后就会弹出一个远程桌面的窗口了,显示的内容是你远程的windows的界面
在源windows复制需要传输的文件
在远程桌面窗口桌面中右键弹出菜单选粘贴
这样远程windows就会出现我们刚才复制的文件,文件夹也是支持的!
反之也是一样支持,就是从远程桌面复制文件到本地,在远程windows中选择文件右键复制,在本地桌面右键粘贴,本地就会出现远程选择的文件。这里就不再展示!
除去远程桌面,还可以使用共享文件夹的形式,但比远程桌面会麻烦一点,
在需要接受文件或者有下载文件的windows上创建一个文件夹设置共享,选择everyone或者其他用户,设置读写权限,再从其他windows的文件资源管理器的地址栏输入对应网络访问路径即可,
点击属性设置共享
点击共享栏处的共享,弹出共享配置用户和权限,可以选择everyone,或者创建新用户,选择添加,权限设读写即可。
最后点击右下角的共享生效,会弹出一个提示框,
这样一个共享文件夹就配置完成了,然后在其他windows服务器通过IP地址+共享文件夹名字访问
访问格式:
\\10.6.3.25\test
\\IP\共享文件夹名字
注意:这里的访问路径只需要IP+最后的一个文件夹名称,不需要管前面有多次层父目录。
linux和linux服务器文件传输
scp
linux系统中实现linux之间的文件和目录复制的命令为scp,它是secure
copy的缩写,是linux系统里基于ssh登录,进行安全的远程文件拷贝命令,并且它是加密的。
基本格式
scp [参数] [原路径] [目标路径]
常用参数:
-r 递归复制整个目录
-p 保留源文件的修改时间、访问时间和权限
-P(大写)指定ssh的port
scp 参数后的第一个位置就是传输的源文件,最后一个位置就是目标目录
从本地复制文件到其他服务器
#复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下
scp -r /tmp/1.txt root@192.168.80.135:/tmp/
#复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下并改名为2.txt
scp -r /tmp/1.txt root@192.168.80.135:/tmp/ 2.txt
#复制本地/tmp/1/目录 到 192.168.80.135服务器下的/tmp/
scp -r /tmp/1 root@192.168.80.135:/tmp/
#复制本地/tmp/1 到 192.168.80.135服务器下的/tmp/下并改名为22
scp -r /tmp/1 root@192.168.80.135:/tmp/2
从其他服务器复制文件到本地(其实就是把两个位置调换一下)
#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下
scp -r root@192.168.80.135:/tmp/1.txt /tmp/
#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下并改名为2.txt
scp -r root@192.168.80.135:/tmp/1.txt /tmp/2.txt
#复制192.168.80.135服务器下的/tmp/1/目录 到 本地/tmp/下
scp -r root@192.168.80.135:/tmp/1 /tmp/
#复制192.168.80.135服务器下的/tmp/1目录 到 本地/tmp/下并改名为22
scp -r root@192.168.80.135:/tmp/1 /tmp/22
scp详细参数列表
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
rsync
Linux rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
一般系统都自带了这个命令包,如果没有,搜索一下yum仓库看这个命令是哪个包提供的,安装一下就可以
#查看命令由哪个软件包提供
yum whatprovides rsync
yum -y install rsync-3.1.2-10.el7.x86_64
rsync 和scp一样,参数后第一个位置是源,第二个是目标
rsync[参数] [原路径] [目标路径]
#拷贝本地文件。
rsync -a /data /data1
#复制本地文件到远程服务器
rsync -avz /tmp/1.txt root@192.168.80.135:/tmp/
#复制远程服务器到本地
rsync -avz root@192.168.80.135:/tmp/1.txt /tmp/
rsync的其他参数如下
-v, --verbose 详细模式输出。
-q, --quiet 精简输出模式。
-c, --checksum 打开校验开关,强制对文件传输进行校验。
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
-r, --recursive 对子目录以递归模式处理。
-R, --relative 使用相对路径信息。
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀。
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。
-l, --links 保留软链结。
-L, --copy-links 想对待常规文件一样处理软链结。
--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。
--safe-links 忽略指向SRC路径目录树以外的链结。
-H, --hard-links 保留硬链结。
-p, --perms 保持文件权限。
-o, --owner 保持文件属主信息。
-g, --group 保持文件属组信息。
-D, --devices 保持设备文件信息。
-t, --times 保持文件时间信息。
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间。
-n, --dry-run现实哪些文件将被传输。
-w, --whole-file 拷贝文件,不进行增量检测。
-x, --one-file-system 不要跨越文件系统边界。
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节。
-e, --rsh=command 指定使用rsh、ssh方式进行数据同步。
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息。
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。
--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件。
--delete 删除那些DST中SRC没有的文件。
--delete-excluded 同样删除接收端那些被该选项指定排除的文件。
--delete-after 传输结束以后再删除。
--ignore-errors 及时出现IO错误也进行删除。
--max-delete=NUM 最多删除NUM个文件。
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。
--force 强制删除目录,即使不为空。
--numeric-ids 不将数字的用户和组id匹配为用户名和组名。
--timeout=time ip超时时间,单位为秒。
-I, --ignore-times 不跳过那些有同样的时间和长度的文件。
--size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间。
--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0。
-T --temp-dir=DIR 在DIR中创建临时文件。
--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份。
-P 等同于 --partial。
--progress 显示备份过程。
-z, --compress 对备份的文件在传输时进行压缩处理。
--exclude=PATTERN 指定排除不需要传输的文件模式。
--include=PATTERN 指定不排除而需要传输的文件模式。
--exclude-from=FILE 排除FILE中指定模式的文件。
--include-from=FILE 不排除FILE指定模式匹配的文件。
--version 打印版本信息。
--address 绑定到特定的地址。
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件。
--port=PORT 指定其他的rsync服务端口。
--blocking-io 对远程shell使用阻塞IO。
-stats 给出某些文件的传输状态。
--progress 在传输时现实传输过程。
--log-format=formAT 指定日志文件格式。
--password-file=FILE 从FILE中得到密码。
--bwlimit=KBPS 限制I/O带宽,KBytes per second。
-h, --help 显示帮助信息。
windows和远程linux服务器文件传输
这里介绍一个比较简单的lrzsz,
在linux远程服务器安装lrzsz
yum -y install lrzsz
从linux服务器下载文件
sz 【文件】
[root@jenkins test]# sz 1.txt
上传文件到linux服务器
[root@jenkins test]# rz