[Linux服务器] windows&linux服务器之间的文件传输方法汇总

1476 0
Honkers 2025-3-9 09:33:54 | 显示全部楼层 |阅读模式

运维工作中,经常会涉及到文件的传输,windows和windows,linux和Linux ,windows和linux ,针对这三种情况,有不同的解决方法,这里只记录一些方便快捷的方法,也希望对其他刚接触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地址+共享文件夹名字访问

访问格式:

  1. \\10.6.3.25\test
  2. \\IP\共享文件夹名字
复制代码

注意:这里的访问路径只需要IP+最后的一个文件夹名称,不需要管前面有多次层父目录。

linux和linux服务器文件传输

scp

linux系统中实现linux之间的文件和目录复制的命令为scp,它是secure
copy的缩写,是linux系统里基于ssh登录,进行安全的远程文件拷贝命令,并且它是加密的。

基本格式
scp [参数] [原路径] [目标路径]
常用参数:
-r 递归复制整个目录
-p 保留源文件的修改时间、访问时间和权限
-P(大写)指定ssh的port
scp 参数后的第一个位置就是传输的源文件,最后一个位置就是目标目录

从本地复制文件到其他服务器

  1. #复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下
  2. scp -r /tmp/1.txt root@192.168.80.135:/tmp/
  3. #复制本地/tmp/1.txt 到 192.168.80.135服务器下的/tmp/下并改名为2.txt
  4. scp -r /tmp/1.txt root@192.168.80.135:/tmp/ 2.txt
  5. #复制本地/tmp/1/目录 到 192.168.80.135服务器下的/tmp/
  6. scp -r /tmp/1 root@192.168.80.135:/tmp/
  7. #复制本地/tmp/1 到 192.168.80.135服务器下的/tmp/下并改名为22
  8. scp -r /tmp/1 root@192.168.80.135:/tmp/2
复制代码

从其他服务器复制文件到本地(其实就是把两个位置调换一下)

#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下

  1. scp -r root@192.168.80.135:/tmp/1.txt /tmp/
复制代码

#复制192.168.80.135服务器下的/tmp/1.txt 到 本地/tmp/下并改名为2.txt

  1. scp -r root@192.168.80.135:/tmp/1.txt /tmp/2.txt
复制代码

#复制192.168.80.135服务器下的/tmp/1/目录 到 本地/tmp/下

  1. scp -r root@192.168.80.135:/tmp/1 /tmp/
复制代码

#复制192.168.80.135服务器下的/tmp/1目录 到 本地/tmp/下并改名为22

  1. scp -r root@192.168.80.135:/tmp/1 /tmp/22
复制代码

scp详细参数列表

  1. -1 强制scp命令使用协议ssh1
  2. -2 强制scp命令使用协议ssh2
  3. -4 强制scp命令只使用IPv4寻址
  4. -6 强制scp命令只使用IPv6寻址
  5. -B 使用批处理模式(传输过程中不询问传输口令或短语)
  6. -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  7. -p 留原文件的修改时间,访问时间和访问权限。
  8. -q 不显示传输进度条。
  9. -r 递归复制整个目录。
  10. -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  11. -c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  12. -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  13. -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  14. -l limit 限定用户所能使用的带宽,以Kbit/s为单位。
  15. -o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
  16. -P port 注意是大写的P, port是指定数据传输用到的端口号
  17. -S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
复制代码

rsync

Linux rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
一般系统都自带了这个命令包,如果没有,搜索一下yum仓库看这个命令是哪个包提供的,安装一下就可以
#查看命令由哪个软件包提供

  1. yum whatprovides rsync
  2. yum -y install rsync-3.1.2-10.el7.x86_64
复制代码

rsync 和scp一样,参数后第一个位置是源,第二个是目标

rsync[参数] [原路径] [目标路径]

#拷贝本地文件。

  1. rsync -a /data /data1
复制代码

#复制本地文件到远程服务器

  1. rsync -avz /tmp/1.txt root@192.168.80.135:/tmp/
复制代码

#复制远程服务器到本地

  1. rsync -avz root@192.168.80.135:/tmp/1.txt /tmp/
复制代码

rsync的其他参数如下

  1. -v, --verbose 详细模式输出。
  2. -q, --quiet 精简输出模式。
  3. -c, --checksum 打开校验开关,强制对文件传输进行校验。
  4. -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。
  5. -r, --recursive 对子目录以递归模式处理。
  6. -R, --relative 使用相对路径信息。
  7. -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
  8. --backup-dir 将备份文件(如~filename)存放在在目录下。
  9. -suffix=SUFFIX 定义备份文件前缀。
  10. -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件,不覆盖更新的文件。
  11. -l, --links 保留软链结。
  12. -L, --copy-links 想对待常规文件一样处理软链结。
  13. --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结。
  14. --safe-links 忽略指向SRC路径目录树以外的链结。
  15. -H, --hard-links 保留硬链结。
  16. -p, --perms 保持文件权限。
  17. -o, --owner 保持文件属主信息。
  18. -g, --group 保持文件属组信息。
  19. -D, --devices 保持设备文件信息。
  20. -t, --times 保持文件时间信息。
  21. -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间。
  22. -n, --dry-run现实哪些文件将被传输。
  23. -w, --whole-file 拷贝文件,不进行增量检测。
  24. -x, --one-file-system 不要跨越文件系统边界。
  25. -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节。
  26. -e, --rsh=command 指定使用rsh、ssh方式进行数据同步。
  27. --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息。
  28. -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件。
  29. --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件。
  30. --delete 删除那些DST中SRC没有的文件。
  31. --delete-excluded 同样删除接收端那些被该选项指定排除的文件。
  32. --delete-after 传输结束以后再删除。
  33. --ignore-errors 及时出现IO错误也进行删除。
  34. --max-delete=NUM 最多删除NUM个文件。
  35. --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输。
  36. --force 强制删除目录,即使不为空。
  37. --numeric-ids 不将数字的用户和组id匹配为用户名和组名。
  38. --timeout=time ip超时时间,单位为秒。
  39. -I, --ignore-times 不跳过那些有同样的时间和长度的文件。
  40. --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间。
  41. --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0。
  42. -T --temp-dir=DIR 在DIR中创建临时文件。
  43. --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份。
  44. -P 等同于 --partial。
  45. --progress 显示备份过程。
  46. -z, --compress 对备份的文件在传输时进行压缩处理。
  47. --exclude=PATTERN 指定排除不需要传输的文件模式。
  48. --include=PATTERN 指定不排除而需要传输的文件模式。
  49. --exclude-from=FILE 排除FILE中指定模式的文件。
  50. --include-from=FILE 不排除FILE指定模式匹配的文件。
  51. --version 打印版本信息。
  52. --address 绑定到特定的地址。
  53. --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件。
  54. --port=PORT 指定其他的rsync服务端口。
  55. --blocking-io 对远程shell使用阻塞IO。
  56. -stats 给出某些文件的传输状态。
  57. --progress 在传输时现实传输过程。
  58. --log-format=formAT 指定日志文件格式。
  59. --password-file=FILE 从FILE中得到密码。
  60. --bwlimit=KBPS 限制I/O带宽,KBytes per second。
  61. -h, --help 显示帮助信息。
复制代码

windows和远程linux服务器文件传输

这里介绍一个比较简单的lrzsz,

在linux远程服务器安装lrzsz

  1. yum -y install lrzsz
复制代码

从linux服务器下载文件

sz 【文件】

  1. [root@jenkins test]# sz 1.txt
复制代码

上传文件到linux服务器

  1. [root@jenkins test]# rz
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行