我为什么拥抱 Linux
良好的权限管理
你也许会问,我为啥选择选择 Linux,Linux 相较于 Windows 到底有啥不同。我刚开始看 Linux 纯粹是馋 Linux 良好的用户权限管理。Windows 的用户权限让我感觉非常混乱,即便是 NT 6.0 内核以后大幅缓解了这个问题,但是这个问题依旧存在,用户创建的文件,本来好好的,莫名其妙这个文件的所有者就不是用户了,用户还无权访问这个文件,删也删不掉,恶心的一批。然后软件的安装和删除,在 Linux 下都有对应的包管理器来管理,软件也是从官方源 / 镜像源拉取,并且还校验这个包的签名(你可以理解为校验包的完整性)。软件包的安装和移除都需要 root 权限,只要你平时以普通用户权限运行,如果需要 root 权限,临时提升权限即可.管理好依赖,稳定的一批。实在不行,你还可以使用 timeshift 进行快照,出事了就回滚回去,相比之下 Windows 的备份功能纯粹就是废物。
软件的获取很优雅
使用包管理器 search
某个包,然后 install
,整个过程一气呵成,甚至在绝大部分情况下,不需要你去配置环境变量(因为 bin
目录默认已经全局加载到所有用户的环境变量里面了)。Windows 呢?使用搜索引擎 / 敲网址 到达软件官网 ,分辨是不是官网,找到下载页,下载安装包,安装,然后配置环境变量(如果需要的话)。虽然 Windows 有 Scoop 能缓解这个问题,但是软件源比较分散,让我回想起了管理 PPA 的噩梦。
配置文件集中
我太讨厌 Windows 的注册表了,对于普通用户来说,这个注册表的表值完全不知道在干什么,只能看到对应哪个软件,但是不知道这个表项是啥意思。。动都不敢动,生怕注册表炸了不好重建。而且即便是有了注册表,各个程序还是在自己的目录 OR 用户目录下生成配置文件,不够集中;Linux 下 /etc
下就是软件的全局配置文件目录,集中管理相当方便,对于用户来说,~/.config
就是用户软件配置文件目录,而且各个软件的配置文件的配置项一般都能做到语义化,用户能轻松读懂意思,即便是不懂,也能找到对应的文档解释这些配置项(大部分情况);Windows 下,我也没见哪个软件专门写文档去解释注册表里面的表项是啥意思吧?
可玩性高
Linux 是有很多桌面环境的,例如 Gnome 、 KDE 、xfce、MATE、Cinnamon 等等,你调教的不开心了,随时换到另一个桌面环境,每个桌面环境的可玩性都很不错,而不是像 Windows 就一个桌面环境,玩来玩去就一个样子。Linux 的桌面环境是能玩出花的。不要说 Linux 太难用了,Linux 都是需要自己调教成适合自己的口味的;你都没上手开始调教,是没有发言权的。
配置开启启动 OR 计划任务方便
Linux 下本身就有一个很好的计划任务管理器,你想配置的计划任务交给它就行,不论是执行某个具体的命令,还是文件,还是说一个 Shell 脚本,它都可以。Windows 下计划任务的设置就稍显麻烦些,而且还存在不会执行的这种情况……我属实是麻了。针对单个文件设置开机启动项,对于 Windows 来说略微麻烦;但是对于 Linux 来说就是一件很简单的事情,要么软连接到 ~/.config/autostart/
要么就在用户目录下写一个启动脚本,之后你想开机执行的文件添加进去,脚本路径写入环境变量配置文件即可。
软链接
软链接这个东西是用了就回不去的东西,实在是方便多了。虽然 Windows 下也有符号链接、目录链接,但是因为 Windows 的权限管理的模糊,导致这玩意容易出 BUG。
丰富的文件系统选择
Linux 下可以选择文件系统有很多,比如 EXT
系列,或者 Btrfs ,其中我最喜欢的是 Btrfs
,写时复制 (CoW) 功能实在是太棒了,对于同一个文件,你复制两份后的修改,对于 Windows 来说占用的就是两份文件的空间,对于 Btrfs
文件系统来说,就是一份源文件的+变更内容的占用;比直接占用两份文件的空间,肯定是小得多。这样说你如果不明白的话,简单举个例子你就明白了。对于一个100 MiB 的文件,你复制了一份,然后对其修改了,修改后的大小是 140 MiB。那么这两份文件的占用在 NTFS 文件系统中就是 240 MiB,但是在 Btrfs
文件系统里面,两份文件就是占用了 140 MiB 。即源文件 + 变更内容占用的空间。而且数据安全也有保障。
生态问题
Linux 的生态是比较差的,尤其是国内软件。谁让国内的大厂向钱看齐,只看重短期利益,没有利益的事情就不干。相比之下,国外大厂对于 Linux 的态度就好多了,也在尝试兼容。就国内而言,大厂做的甚至不如中小厂:迅雷、搜狗输入法、百度网盘、WPS、360 等等,这些做的就相当不错,值得表扬。WPS 的体验非常不错,就是一个去掉所有付费功能的纯净版。哦对,甚至 360 安全浏览器都有 Linux 版本,功能做的还比较全。QQ 浏览器就纯粹套了个壳,功能严重残缺。真不知道国内所谓的大厂在搞什么。QQ / Wechat 甚至到现在都还没有发布一个相对可用的 Linux 版本(特供版不算在内),QQ 那个就别说了... 还不如不发布。
但是对于 Coding OR 运维来说,这些都不是问题,日常用到的软件不多,主要还是集中在开发或者运维上,开发或者运维软件都是对 Linux 友好的,或者有替代的。
人生苦短,我爱 Linux。