卡卷网
当前位置:卡卷网 / 每日看点 / 正文

有什么事在windows上显的顺理成章,在Linux上就很令人费解?

作者:卡卷网发布时间:2024-12-04 15:52浏览数量:121次评论数量:0次

来说个最基础的吧,可能很多搞研发和运维的朋友都遇到过。

将Window和linux作为服务器操作系统来用,最烦人的是在Windows下使用文本编译器编写的Shell脚本,上传到Linux系统中运行时,会无法执行。

主要是换行引起的问题,可以使用cat -A命令查看脚本的区别。不加参数时显示都一样:


有什么事在windows上显的顺理成章,在Linux上就很令人费解?  第1张


以下使用-A参数再查看:


有什么事在windows上显的顺理成章,在Linux上就很令人费解?  第2张


Window下是以^M$结尾,而Linux直接是以$结尾。在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。

两个操作系统之间的文件互传成为了难题。。。

还有一个,就是二者文件互传的问题。

Windows系统之间互传文件的方式非常多,也很简单,比如可以通过系统的共享文件夹、QQ、微信等互传文件,但Linux系统对这些应用的支持不是很友好。

在日常工作中,经常会混合使用Windows与Linux系统。一般情况下,开发用的PC机是Win系统,而服务器是Linux。在这种情况下,经常是本地Win系统通过Xshell或者SecureCRT通过SSH远程登录到Linux服务器进行开发,如果需要把本地文件传输到服务器,就有了文件互传的需求。

另外,在本地PC上安装VMware虚拟机,并且安装了Linux后,也会有本地的Win和Linux互传文件的需求。

所以在实现widows和linux文件互传的时候,需要通过一些特殊手段,比如:

FTP协议:FTP协议的目标是提高文件的共享性和可靠高效地传送数据。在传输文件时,FTP 客户端程序先与服务器建立连接,然后向服务器发送命令。服务器收到命令后给予响应,并执行命令。FTP 协议与操作系统无关,任何操作系统上的程序只要符合 FTP 协议,就可以相互传输数据。

SFTP协议:SFTP也被称为SSH文件传输协议。SFTP中的加密是通过SSH连接来完成的,文件可以通过WinSCP和SFTP客户端进行传输。

TFTP协议:简单文件传输协议TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69。

SCP协议:安全复制SCP是一个在远程(本地与本地、本地与远程、远程与远程)电脑间安全地进行文件传输的方法。

还好,现在很多国内的软件都在拥抱linux,比如近期微信 Linux 测试版上线,对于linux用户来说意义不小。

以上是我的一些简单分享,蓝队云作为专业云计算服务商,欢迎大家积极参与技术讨论,获取相关开源工具包和技术支持。

9.9元注册.cn域名

学生云服务器低至9.9元/月

云数据库MySQL、redis免费使用3个月

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码