给你一个完整高效的linux系统

继上篇

上次文章讲了为什么程序员要会linux,承蒙厚爱,有不少同学感兴趣。此篇分享我学习linux的辛酸史,并分享我的linux系统环境包,可支持一键导入安装

初识linux

每一个折腾过linux的人都有自己的辛酸史,最典型的莫过于台湾的鸟哥,他的私房菜基础篇光是吐苦水就写了不少篇幅。很佩服他这种能将吐苦水当成乐趣,并整理成文章的能力。自己学会技术并不难,要将学会的知识讲清楚就很难了。

我真正接触linux是在2015年,那时候连上服务器主要是修改一些配置文件,或者调试一些在本地无法重现的bug,一开始我是相当忐忑的。因为不懂,所以畏惧,由于不会用vim,修改文件都是用sftp拖拽文件替换,每次要操作前都要先保存好副本,很怕不一小心把服务器弄炸了...

那时候,linux在我看来,就是一个很难用的操作系统,避而远之。直到看到其他同事在操作linux,才知道原来linux这么酷,通过各种我看不懂的命令组合,极快地定位到问题,解决了bug。而我则是一脸懵逼,呆若木鸡地充当一个吃瓜群众。虽然看不懂,但明白了一件事:要想当一个合格的程序员,linux必须学好,否则一直都只是一个码农,只会写一些没有技术含量的增删改查,跟流水线的工人没什么区别。

当时,想着如果有一天能这么玩转Linux,那应该很酷:

全屏打开黑乎乎的终端,托腮看着花花绿绿的代码,沉吟片刻,用手指敲着桌面,口中念念有词,突然吼一声:fuck! 接着噼里啪啦一通敲敲打打,就将各种难题都搞定...

纠结的历程

刚开始学linux时,主要看鸟哥的私房菜,以及网上各种视频教程,但进展很缓慢,命令学了又忘,而且觉得很枯燥。相当有挫败感,别人能将命令运用得出神入化,完成各种复杂的功能,而我却想象不出这些命令能作用到哪些场景。

后来,终于想明白是怎么回事了,我学linux用的是应试教育的方式在学,漫无目的地看各种教程,记各种命令,还很勤劳地将这些整理成笔记,这种行为上的努力只是在自我麻痹,告诉自己:我在努力了,我付出了时间与精力,如果我还学不会,那不是我的错,而是linux太难了。但真相是:我一直在逃避畏惧linux的事实,在我的认知中,这不是一个可以使用的操作系统,而是一个用来学习的,就好像中学的教科书一样,只要记,划重点,就能学好。这种想法,实在太天真,太幼稚了,服务器线上出问题可不会按照书上说的那样。

学会linux,最简单的方式,就是直接去使用linux,将自己的开发环境都换成linux的,不再去依赖windows的各种一键安装工具。摒弃windows的思维。只有这样,才能体验到linux的强大与优雅。站在岸上再怎么分析别人游泳,如果不下水,永远也学不会。

我的linux笔记

接下来就是选择用哪个版本的linux,主要是考虑ubuntu和opensuse,两个发行版都试用过,从个人体验来讲,opensuse用着更加舒服,界面也更加好看。只不过将电脑装成linux后,相当不适应,很多windows上的应用都不能安装,特别是公司内部用的企业QQ,OA软件等,此外就是其他的一些不兼容,如中文字体不兼容,折腾了好一阵子,虽然部分问题可能通过其他方式解决,但用得并不顺畅。

也曾考虑换成mac,看了价格,我心仪的型号价格都是在2w左右。看着我现役的用了近两年的4k多的宏碁笔记本,我觉得它还可以再坚持用几年。因为加了固态硬盘,12内存,外接27寸的大屏和机械键盘,使用起来极其流畅。如果换成mac,也就意味着上下班要背着电脑(因为我无法容忍公司电脑与个人电脑的环境不一致), 这对于我这种懒人是很麻烦的事。

因此,我没有用纯粹的Linux系统,是因为我技术渣,也不想耗费精力去折腾各种兼容问题。没有用mac是因为穷且懒。

如果你技术牛或者有钱,那么可以忽略不看了。如果你跟我一样又穷技术又渣又想要一个好用的,可随身携带且方便移植的linux操作系统,那进入咱们的最优选择:虚拟机

爱上linux

现在我用的是通过virtubox安装的centos7,终端模拟器用的是xshell,virtubox和xshell可直接在网上下载安装,virubox是免费的,xshell的家庭学校版本也是免费的。centos7的镜像可以在阿里云下载,此文不讲详细的安装流程,会另写一篇介绍安装。在此分享的是我的一键安装包。因为virtubox是可以支持导入导出整个系统的,所以对我的系统感兴趣的同学可以通过以下链接下载,文件很大,16多G,下载后,这样导入即可:

下载地址

登录密码在下载地址的文件里面

导入虚拟机

选择安装包路径

导入

导入的时间比较长,请耐心等待...

那么问题来了,我的系统有什么好呢?为什么要推介给各位?

我想对于很多Linux小白来说,配置系统是很痛苦的事情,即使是按照网上的教程一步步去操作,也经常会出现各种莫名其妙的错误,有些报错可能就导致新手放弃了。如果有一个现成的配置好基础环境的系统供新手使用,可以让他们尽早地接触linux,建立起信心,这点很重要。

以下是我的系统环境基本介绍:

  • 网络已配好

虚拟机配置网络这一点就难倒了不少新手,下篇会详细讲如何配置网络

  • 使用samba服务实现与windows共享目录

导入系统后,在资源管理器输入:\192.168.56.101\share 即可访问 centos7 的 /home/share 目录。详情在下篇介绍

share

  • 使用oh my zsh

默认的shell是bash, zsh是我用过的最好用的shell, 详情点击我写的 oh-my-zsh,让你的终端从未这么爽过

  • tmux

最好用的终端复用器,详情:tmux-让你完全脱离鼠标的终端神器

tmux

  • mycli

终端下最好用的mysql客户端,详情:mycli--让你惊艳的mysql客户端

  • pyenv

python版本管理器, 详情:pyenv,让你轻松切换各种python版本

  • 我最喜爱的vim

vim的教程,可以写一系列的文章,虽然我真正使用vim还不到两个月,但现在不管写代码,还是写文章全部都是用vim,放张我的vim图:

vim

使用linux的正确姿势

我刚开始将系统装成opensuse时,很执着地想在opensuse上实现所有功能,于是就各种折腾。

opensuse的界面很漂亮,桌面也挺流畅的,对中文的支持已经相当好。可要想在opensuse上安装QQ, 微信等其他软件,就很难了。虽然可以通过wine来安装,可真的很别扭,而且有各种各样的错误。当我被各种由于强行安装windows软件而出现的问题弄得很焦躁时,陷入了沉思:

为了装这些软件,值得花这么大力气吗?这些时间精力用于写代码不是更好?为什么偏要让Linux去做不适合她的事情呢?既然Linux的强项在于命令行,就不要去折腾她的桌面。同理,既然windows的命令行渣,就不要浪费时间去折腾。这两个系统的设计理念完全不同,所面向的市场也不同。最好的方式就是各取其长,而不是强制把Linux变成windows, 或者将windows变成Linux。 就好比你爱一个人,就不要强制去改造她。

我看有些同学装了我的系统后,还在折腾系统的桌面,这是没有必要的。我的系统最开始装是最小化安装,没有图形界面的,是为了分享出来才加装了图形界面,有图形界面也只是为了模拟运行一些python程序(如写个游戏), 平时的所有操作都是用xshell连接终端。

xshell连接centos7的方式:

打开xshell, alt+O 快捷键,在弹出框选择新建,填写连接信息(这些操作随便网上搜索一把)

xshell连接centos7

身份验证.jpg

默认的xshell界面很杂,我将所有菜单都隐藏,整个界面是这样的:

xshell.jpg

现在我的所有开发工作都是在虚拟机上,windows用于日常工作,交流,娱乐,两者通过samba进行文件共享,各司其职。完全没必要去折腾虚拟机上的桌面,也没必要去折腾windows的cmd。让两个系统各自发挥其特长才是明智之举。

总结

以上是我的操作系统的概况,如果你对此有兴趣,可直接下载体验。下篇将详细讲在虚拟机安装配置centos7的流程

接下来我会持续写技术类的教程,如python的系列教程,虽然我不是什么大牛或小牛,最多只是一只小猫,现在我也是正在学python的过程,但我相信教就是最好的学,如果我能将我学到的知识表达清楚,就说明我真的掌握了。

若你对我的技术写作计划有兴趣,欢迎关注我的简书号,一起见证彼此的成长

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

开源爱好者必看!开源许可证基础知识扫盲

作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license)。 许多开发者对开源许可证了解很少,不清楚有哪些许可证,应该怎么选择...

4018
来自专栏魏艾斯博客www.vpsss.net

对外贸新手购买 VPS 自行搭建 linux 服务器的建议

2832
来自专栏云计算D1net

7款DevOps云计算基础设施自动化工具

DevOps的诞生极大的推动了云计算行业的快速发展。因为使用正确的工具,现在可以进行从配置、代码部署到服务器配置和自动化的所有工作。而选择的工具主要取决于现有的...

3229
来自专栏移动端开发

苹果审核2.1大礼包,这几个方面入手。

8562
来自专栏SAP最佳业务实践

SAP最佳业务实践:ETO–项目装配(240)-6审批 WBS 要素

image.png CJ20N审批 WBS 要素 为确保预先采购(下个步骤),WBS 要素的状态必须为 已释放。 角色项目经理 后勤®项目系统®项目®项目构造...

3196
来自专栏BeJavaGod

我们是否需要升级到JDK8?

JDK8发布至今已经很久了,很多开发人员,公司都还是使用的JDK6或者JDK7,看到很多人的评论,那么我们到底要不要升级到JDK8呢? Oracle这个婊子早已...

3327
来自专栏SDNLAB

VMware打造自己的Linux容器操作系统

VMware打造自己的Linux容器操作系统 20日,VMware启动了一个名为 Photon的项目,一个专门为容器量身打造的Linux操作系统,与其他Linu...

3216
来自专栏安恒信息

干货 | 最新“永恒之石”病毒处置方案

近日,克罗地亚研究人员MiroslavStampar披露:继WannaCry蠕虫攻击后,另一种利用NSA泄露漏洞代码的蠕虫病毒EternalRocks(中文译名...

27811
来自专栏Android 开发者

Android 模拟器现已支持 AMD 处理器和 Hyper-V

自两年前谷歌对 Android 模拟器进行重大更新以来,我们一直致力于开发出一款运行速度快、功能全面的模拟器,帮助您为用户打造卓越应用体验。Android 模拟...

981
来自专栏FreeBuf

五大移动应用加固平台评测

* 本文原创作者:Sunnieli 首先做个说明为什么我会先这个自动化加固的评测。很大一部分原因是和兴趣有关,因为是学习app安全开发,所以多多少少要了解移动安...

2726

扫码关注云+社区