Linux的使用技巧:到底要不要会用?[图]
最近有个项目接近了尾声,要进入到调试测试阶段。这是一个使用Springboot框架为后台程序,mpvue构建的小程序项目。服务器我最终仍旧选择了Linux操作系统中的CentOS 7.2版本。
为什么要选择Linux?
Linux与Windows的优劣我无法去评论,而且他们也各自在不同的领域发挥着不可或缺的作用。
最终选择Linux的原因一个是我对比了同等配置下操作远程服务器的流畅度,虽然Win下可以使用简单的鼠标点击操作可以完成环境的配置,项目的启动等操作,但是由于这是一台开发测试服务器,性能配置略低,因此造成了远程Win桌面的时候操作不是那么的丝滑,果断切换了Linux操作系统。
使用Linux的烦恼:
Linux操作系统的第一次接触还是在大学时期的课程上,使用的是Ubuntu发行版,不过已经忘记是哪个版本了,按照当时的时间来估计的话应该是12.x的版本。模糊的记忆中是学了一点的shell编程,枯燥的学习让人无法坚持呀,不过也有同学对此非常投入,每次看到他们在只有字符的窗口中敲下不同的命令实现不同的操作就非常羡慕。
由于学习娱乐中一直使用的是Win的系统,因此对Linux也不是那么的上心。可是后来的工作中,仅仅使用Win的话有些工作的确无法满足,因为很多的项目都是运行在Linux的环境中,因此有了恶补Linux的经历,从虚拟机中折腾不同发行版的系统,到大胆尝试把自己的笔记本装成双系统,踩过了无数的坑,终于一只脚迈进了Linux的大门,简单常用的命令也可以信手拈来,能够基本明白如何去运行一个脚本,也多亏了万能的谷歌和不得不用的百度,让我汲取了无数人的经验,解决了一个个看似神奇的问题。
后来,有一次公司的一个“神奇”的项目交到了我的手中,这个项目是用Java语言开发的,虽然作为一名Android工程师,Java 的基础也是可以的,做Android 之前也是有写过JavaWeb 的项目,因此在别无选择的情况下接手了这个神奇的项目。
五台CentOS服务器(客户那边提供的,好像是搭建的虚拟机),一台Oracle数据库服务器,一台图片服务器,两台Web服务器,还有一台好像没有用到也忘记是用来干啥的了,使用了Nginx分发请求到两个tomcat服务器,对于一个仅仅只是半只脚入门的Linux菜鸟来说,真是一个巨大的挑战,在两个多月的熬夜工作中终于“完美”的完成了这个项目阶段的开发,后来就交接给了别的项目组,由他们去头疼这个简单而又复杂的项目,期间还从我这里省去了很多的弯路。
也正是由于这个项目的锻炼,另一只脚也渐渐的迈入了门坎。
程序员是否必会Linux:
当我把现在这个项目的服务器环境搭建完成(也就配置了JDK),然后成功打包运行了项目的时候,我就把服务器交给了我们项目组中负责小程序接口编写的哥们,也许是经验不足的原因,几乎没有使用过Linux程序的他表现的非常紧张,理所当然的,我给他跑了一遍发布运行的流程:
打包项目,Maven项目打包一个jar还是很简单的;
远程登录服务器,ssh命令的使用。
将jar传到服务器上,使用了scp命令,我感觉传打包的文件还是这个命令比ftp好使一些。
不同方式运行jar文件,一个是直接运行,可以看到log日志的输入,在调试阶段还是很有用的,可以快速定位错误信息。小王子经典语录(http://www.simayi.net/dushubiji/6046.html)读书笔记摘抄及感悟赏析
,不过缺点就是退出远程登录后项目就停止运行了;另一种是后台运行,输出log到文件中,退出远程登录后还是在运行。
这样简单的命令应该不难上手,就看他的个人领悟能力了。
Linux说白了就是一个工具,而且是一个非常强大的工具,学会使用Linux,同时也会学到很多其他的知识,对操作系统,对项目的运行,对文件、权限的管理有一个更深层次的认知,而不是在使用win的时候,简单的点点点就完成的操作可以体现的内容。
计算机发展速度之快,简直难以想象,越来越多的人选择程序员这一行业,从十几年前一个人可以开发维护一个项目,到现阶段一个项目的复杂度可能根本就无法使用单一的编程语言知识来完成,因此学习更多的知识是现在程序员脱颖而出的必经之路,这其中不仅仅是Linux的使用。
原文地址:http://blog.51cto.com/13868750/2144946