谈一点自己用Windows,MacOS,Linux的感受
前言
我是从买了阿里云服务器做个人博客以后才开始接触Linux,以前我只用过 Windows
和 Mac
,当然用 Mac
其实也跟 Linux
有许多相似的地方了,我说说我对两种操作系统的感受。文章写的比较乱,想到哪说到哪,也就算自己吐吐槽吧。
操作系统的使用感受
在以前用 Windows
的时候,我们在视窗可视化的界面操作,我们打开资源管理器,右键就可以创建或者删除文件,当我们安装软件的时候,下载了一个可执行文件,双击,然后鼠标点点看着进度条读完软件就安装好了。如果我们想卸载软件,直接用 Unins.Exe
就可以了,其实我们根本不知道操作系统具体干了什么,所以就经常会有人问我想彻底卸载一个软件该怎么办,我们不知道软件安装的时候发生了什么,所以我们也不知道我们想卸载的时候该去删除哪些文件夹的哪些文件,特别是很多比较大一点的软件会把你的用户信息还有一些文件留在电脑上,这对很多有点“洁癖”的人是很难受的事情,我也是这样。这是因为 Windows
在操作系统上有封装了一层用户交互用的视窗,让操作变的更简单,更容易理解(这里的容易理解指的对操作的理解),所以他能够快速地推广开来,因为大部分人不关心我点了一下鼠标,信号怎么传播,操作系统干了什么,硬件干了什么,但是对于一个想了解计算机的人,或者说对问题总是很有好奇心的人,这样的方便让我很迷惑。
其实刚开始我对操作系统干嘛了也没兴趣,上大学虽然学的计算机专业,但其实主修的是“打游戏”,操作系统课都没怎么认真听过,就靠考前看看考点过了考试,什么文件系统,进程管理,网络通讯,内存管理,现在都忘得一干二净了,那时候用 Windows
就觉得方便,反正也几乎不写程序 。我那时候一直不理解为啥有人喜欢用命令行,就连软件我也找最漂亮的装,我记得玩魔兽世界还装了个 Eui
,插件就调了半天,看着舒服。后来出了大学要工作了,年轻时候欠的帐现在要一点一点还了,不会的东西得学啊,大学啥都没学,只能一点一点的来,就从这个学习的过程中,慢慢的了解的不同操作系统的差别,他们各有各的优点缺点,不亲身体会是无法理解的。我刚买 Mac
的时候,其实 Terminal
也用的很少,因为 Mac
也是有界面的,安装软件也可以下载 Dmg
安装,我那时候基本开发都是用 Vscode
,Nodejs
也没学接不怎么用命令行。Vscode
里面也可以用 Terminal
,为了节省操作我创建,删除,复制文件和 Git
是在 Terminal
里面操作,其他时候也很少用。后面是我重操旧业开始用 Emacs
才开始用命令行比较多的。我这个人就是这样,时间和金钱总是花在无关紧要的地方,明明自己水平烂的要死,一堆要学的东西,却花了很多精力和时间去捣鼓 Emacs
和 Spacemacs
。那时候我用 Mac
用的还是蛮舒服的,一方面 Mac
做的很漂亮,不管是工业设计还是系统,都非常对我的胃口,但是有一点和 Windows
上开发一样,我不喜欢在写代码的时候用鼠标去移动光标,比如有时候我们发现我们写着写着前面的单词拼错了,只能用鼠标定位过去,或者是按左键,我特别讨厌这种感觉,就到网上搜索了有没有办法绑定快捷键,让我能用快捷键控制光标,然后我就知道了 Vim
和 Emacs
,我当时选择 Emacs
的原因很简单,第一是我不太喜欢 Vim
的各种模式切换,我觉得就一种模式最好,然后就是很多人诟病的 Emacs
要不停按 Ctrl
,小拇指骨折的问题,那时候玩星际,Ctrl
也是最常按的键,不觉得有啥问题(虽然后来我用 Linux
过程中觉得 Vim
挺好的),所以我就选择了 Emacs
。刚开始在 Windows
上被 Emacs
折磨的过程就不说了,以后写 Emacs
的文章再来详谈,我就直接说说 Mac
用 Emacs
的经历引起的我对 Windows
和 Mac
以及 Linux
的思考。
首先是 Mac
上安装软件,我想安装 Emacs
的时候知道 Mac
其实是自带 Emacs
的,不过版本非常低了,删了以后准备安装,我一开始安装的是 Emacs
网站上的dmg
文件,后来有折腾删了用 brew
安装,装了个 25.4
的,mac
上有个特别好的点就是我在 emacs
上绑定的光标操作的快捷键是在整个 mac
上都通用的,也就是我现在用任何程序打开文本都可以用 ctrl-f
,ctrl-b
,ctrl-n
,ctrl-p
来控制光标。装完以后我了解了可以直接在 terminal
下启动 emacs
,但默认的 emacs
指令是启动图形界面的(如果你的 emacs
安装了图形界面的话),emacs -nw
可以启动命令行的 emacs
。然后又有一个新的需求,大家都知道 emacs
装了一堆插件以后启动很慢,你每次在 terminal
里面编辑文件,ctrl-x ctrl-c
以后下次启动 emacs
又要重新 load
一次,虽然几秒钟的时间,但是还是很不方便,于是又开始折腾怎么让 emacs
启动以后服务不关闭,于是到处找解法,百度,google
花了很长时间,写 bash
,绑定指令,终于搞定,用em
启动 emacs
,不关机服务一直挂着,下次启动就直接调出来了,然后emd
关闭服务,就从这里开始我开始慢慢的喜欢上了用命令行,对整个 mac
的文件系统也有了很多了解,我开始知道我安装软件是装在哪,我装了些些什么,我想把 brew
安装的软件添加一个快捷方式到 application
中怎么做。我也越来越理解为什么很多人不愿意用 Windows
而用 mac
,就我的使用经历来看,确实 mac
用来工作写代码是更合适的。
在 mac
上折腾过后我又开始搞 Linux
了,其实就是以搞个人博客为契机,买了一台阿里云的服务器,这次是全命令行,没装界面的 CentOS-7.2
了,在使用过程中遇到各种坑,因为要装 lamp
环境,以及配置 wordpress
,装 git
,装 emacs
,redis
等等,特别是装 emacs
,spacemacs
遇到各种坑,然后配置 apache
的目录禁止访问,403
,404
的错误页面,以及 http
请求强制跳转,后面有搞 shadowsocks
,安装客户端等等。在这些挖坑填坑的过程中,我也慢慢对 Linux
熟悉了一点。
命令行确实让我对系统的结构和一些自己的指令在操作系统上是如何执行的有了更好的了解,但其实这也是我的好奇心驱使,不过相信很多人在用 windows
的时候和我一样好奇,我们到底在系统上做了什么,因为如果我们对系统不了解的话,他出了问题我们也无从下手了。至于系统高低我觉得不好比较,我在工作上 Windows
,Mac
都用,网站放在 Linux
上我也要维护,不过我更倾向于在 Mac
上工作吧。工具,语言和系统一直都是争论不休的问题,我觉得好和坏是客观存在的,不过这并不是绝对的,而且取决于你的环境和你要解决的问题,就像我选择 emacs
的原因其实就非常简单,如果我们把精力花在这个上面得不偿失。就像我以前看的武侠小说昆仑里的一段话,“你瞧过乌龟壳么,你说人钻进到壳子里的厉害,还是跑到壳子外面的厉害。”,“这个似乎并无定准,要看乌龟壳有多大了,若是够大,人钻进去,怕是更要难些。”,“小子恁地蠢笨了,不论龟壳大小,只能进的不算厉害,只能出的也不算厉害,须得能进能出,以无观有,以有观无,才是真正的厉害。这个乌龟壳子么,便是佛法了!”
总结
其实文章写的很乱,本来我是今天在想 Liunx
上 make install
安装的内容如何卸载的问题,然后想总结一下记录下来,可是写着写着发现不知道写到哪里去了,文不对题,于是将错就错吧,权当练习写作了。
最后还是记录一下 make install
安装如何卸载的问题,一般还是建议 rpm
安装,如果实在要 source
安装的时候,要注意配置安装路径,原因如下。
源码的安装一般由 3
个步骤组成:配置( configure
)、编译( make
)、安装( make install
)。 configure
文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令 ./configure –help
可以输出详细的选项列表。其中 --prefix
选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在 /usr/local/bin
,库文件默认放在 /usr/local/lib
,配置文件默认放在 /usr/local/etc
,其它的资源文件放在 /usr/local/share
,这样对于你想要卸载的东西就比较麻烦,因为他分散在各个地方,而配置了 prefix
的的内容就会安装在你制定的路径。如果你没有配置但是想卸载,也有几种方法,第一种是在你解压的 source
包里运行 make uninstall
,但是不是所有的包都提供的;第二种是找个临时目录重新安装一遍./configure --prefix=/tmp/to_remove && make install
然后在安装好的目录中查看有哪些文件,再到上面提到的/usr/local
中删除对应的文件;第三种比较暴力的可以find / -name uninstallname
来找内容删除(不建议)。
好了,就说这么多了,また明日!:wave: