怎样将文件从window系统复制到远程linux系统上

说白了,Windows文件传到Linux有两条路:XFTP拖拽和XShell命令行。
这俩方式各有优劣,但后者更灵活。

先说最重要的XFTP方式。
去年我们跑的那个项目里,直接用XFTP搞定文件同步,大概3 000量级的数据,两三分钟就跑完。
优点是直观,不用记命令,但缺点是必须先搭好SFTP连接,而且大文件传输容易超时,我一开始也以为换个服务器就能解决,后来发现不对,是得调整XFTP的传输超时设置。

另外一点,用XShell加命令行的方式更底层。
去年在测试环境搞集群部署时,发现XFTP挂了,临时用rz命令传了个5 0G日志包,五分钟搞定,用行话说叫雪崩效应,其实就是前面一个小延迟把后面全拖垮了。
但这个方式有个细节挺关键的,得先装lrzsz包,记得去年有台CentOS系统yum源挂了,最后只能去安装盘找rpm包手动装,说实话挺坑的。

还有个细节挺关键的,XSHELL里装lrzsz后,用rz传文件得按Tab补全路径,sz下载文件不能带空格,这个点很多人没注意。
我一开始也以为这些工具都自带智能识别,后来发现不对,得自己改脚本适应。

等等,还有个事,如果Linux系统是UFW防火墙,记得得开放SFTP和lrzsz对应的端口。
我觉得值得试试的是,小环境用XFTP,大流量场景还是命令行更稳当。

linux 访问局域网的window系统的文件

那天下午,我坐在自己的电脑前,调试一个服务。
需要把数据同步到隔壁部门的Windows服务器上,他们那边习惯把文件都放共享文件夹里。
我这Linux系统,直接打开文件夹,黑屏一片,弹个对话框让我输入密码,试了好几次都不对。
隔壁的小王跑过来,一脸无辜:“我这设置得挺好的啊,我都能打开。
” 等他走后,我叹了口气,打开终端,敲敲打打,果然,还是得折腾一下。

Windows那边,共享设置确实挺简单的。
打开资源管理器,找到那个要共享的文件夹,右键点属性,然后是共享选项卡,随便选个用户,赋予读取或者读写权限就行。
我顺手打开了个文件夹,设置成了共享,给了隔壁部门的用户读权限,小王应该就能打开了。
这是Windows那边的操作,简单明了。

Linux这边就得麻烦点了。
你不能指望Windows那么“友好”地直接让Linux访问。
得装个NFS,全称是Network File System,就是网络文件系统。
得在Windows上开启NFS服务,让它在局域网里能“分享”这个服务。
然后在Linux上,装一个NFS客户端,配置一下,告诉它去Windows那边找共享文件夹。
这俩得配对,像找对象似的,得“谈”到一起。

在Windows上,怎么开启NFS服务呢?得去“服务”这个小程序里找找看,好像是个叫“Server”的服务,开启它,顺便把“功能”里边的NFS功能也装上。
具体是哪个选项,得翻翻文档,或者问问懂Windows的。
开启后,Windows就相当于一个“房东”,把房子(文件夹)租出去了,还得告诉租客(Linux)怎么进屋。

到了Linux这边,就得装客户端了。
在终端里敲 sudo apt install nfs-common (如果是Debian系的系统),或者 sudo yum install nfs-utils (如果是CentOS系的)。
装完之后,还得配置一下,告诉Linux去哪儿找这个“房东”。
在 /etc/fstab 这个文件里加一行配置,指定Windows的IP地址,还有那个共享文件夹的名字,以及Linux上挂载这个文件夹的位置。
这行配置得像这样:1 9 2 .1 6 8 .1 .1 00:/shared_folder /mnt/windows_folder nfs defaults 0 0。
意思就是,从IP地址是1 9 2 .1 6 8 .1 .1 00的Windows电脑上,找名叫 /shared_folder 的共享文件夹,挂载到Linux的 /mnt/windows_folder 目录下。

配置完之后,还得让Linux知道这个“租约”的存在。
敲个 sudo mount -a,系统就会去 /etc/fstab 里找那些配置,然后试着挂载它们。
如果一切顺利,你应该能在 /mnt/windows_folder 这个目录下看到Windows共享的文件夹了。

当然,光这样还不够。
得先确保Windows和Linux之间网络通畅。
在Linux终端里敲 ping 1 9 2 .1 6 8 .1 .1 00,看能不能ping通。
如果能ping通,说明网络是通的。
然后还得看看NFS服务在Windows上是不是真的开启了。
在Windows上打开命令提示符,敲 nfsadmin -s,看返回的服务列表里有没有NFS相关的服务。
在Linux上,敲 systemctl status nfs-client 或者 systemctl status nfs-idmapd,看看NFS客户端的服务是不是在运行。
如果这些都没问题,那基本就绪了。

最后,回到我之前那个场景,我重新检查了一遍。
Windows共享设置没问题,权限也给了。
Linux上NFS客户端装了,/etc/fstab 配置也对了,sudo mount -a 也执行成功了。
我又ping了一下Windows的IP,没问题。
在Linux上用 showmount -e 1 9 2 .1 6 8 .1 .1 00 看看Windows上共享了啥,果然能看到那个文件夹。
于是,我直接 cd /mnt/windows_folder 进去了,文件夹赫然在目,还能打开文件看。
嘿,这下好了。

不过,我突然想到,这个方法,Windows那边得装NFS服务,对吧?不是所有Windows系统都默认装了这个的。
得先确认一下隔壁的Windows系统是哪个版本,是不是得去“服务器管理器”里手动装个“文件和存储服务”之类的玩意儿。
小王那边会搞这个吗?他平时就只会点点鼠标,装个软件都得我帮忙。
等等,还有个事,这个NFS挂载,是开机自动挂载的吗?我看 /etc/fstab 最后一列是 0 0,这好像不是自动挂载啊。
那岂不是每次都得手动 mount 一次?这有点麻烦啊。
得加个cron job,或者写个脚本,开机就自动挂载一下。
这又得折腾半天了。

vmware里面的linux怎么和windows相互传文件

高版本VMware下低版本Linux互传文件首选TFTP。

1 . 关闭Linux防火墙和SELinux。
2 . 安装xinetd和tftp-server:yum install xinetd tftp-server。
3 . 修改/etc/xinetd.d/tftp文件,设置disable=no,server_args=/tftpboot。
4 . 创建/tftpboot目录,chmod 7 7 7 /tftpboot。
5 . 重启xinetd服务:service xinetd restart。

Windows端: 1 . 打开Windows功能,勾选TFTP客户端。
2 . 使用tftp命令:下载get,上传put。
3 . 格式:tftp server_ip get/local_file put/local_file。

注意:传输目录需先压缩成tar文件。
Linux间传输更简单。

你自己掂量。