以前总是在Windows的环境下玩,而我对高性能服务器比较有兴趣,喜欢写一些C/S程序。
用IOCP好像不能解决SOCKET的TIME_WAIT状态,很烦人。
突然对Linux产生了想法,于是去安装一个试试。
Linux的发行版有很多,Red Hat/Debian/Ubuntu/WdLinux/Puppy/OpenSUSE等等等等。
最后我还是定位在了OpenSUSE上,虽然GUI界面无外乎两种,KDE和GNOME,但我还是比较看好这个。
我感觉,Linux的发行版太多了,各种的包管理都不一样,导致在一种Linux上的安装包并不能直接安装到其他版本的Linux上。
比较通用的是RPM包,好像来源于Red Hat,虽然比较通用,但是兼容性有一点点问题。
还有,为什么Linux要分什么386,686,586什么什么的呢?一种32位的,一种64位的,不是挺好的?麻烦。
----------------------------------------------------------------------------------
不像Windows,Linux的命令行操作方式比GUI界面更加快捷,方便。
因为起初Linux并不是以图形界面为目标,所以就像DOS那样黑乎乎的界面,敲命令。
而GUI界面的产生,只是为了满足一种需要,普通用户的需要(我感觉是这样),因为作为一种服务器OS,良好的GUI并不是主要的。而是高性能,高网络吞吐量,高可靠。
其实最大的特点还是一个:开源。
开源意味着你可以免费使用,同时必须遵循一些规定。
比如你不能把代码(包括衍生品)卖给别人,但是你可以收取一定的服务费用。可以随意修改代码,但是你把你的东西给别人用的时候必须告诉别人你修改了什么。等等。
还有,Linux这个系统本身不能用于商业用途,但是基于此系统的应用软件是可以的。(我感觉)
由于开源,所以很多人去完善,跟得上时代,不像Windows不开源,只能由M$决定它的走向。
Linux的可配置性高,不仅仅用于微机(家用电脑),各种掌上设备,高端机,超级计算机,都是可以的。
--------------------------------------------------------------------------------
在教程中学到的基本命令
ls:列目录,相当于Windows下的dir
cp:复制文件
rm:删除文件
id:当前用户的信息(ID号,用户组等)
cd:切换目录,同Windows
ifconfig:网卡信息,可以查看,修改
ifup/ifdown:开启/关闭某一个网卡
route:查看/修改路由信息
man:查看某一个函数的帮助(编程中也能用到)
usermod:修改用户信息
groups:查看用户组
groupmod:修改组信息
记录一个指令,怕忘了:route add default gw xxx.xxx.xxx.xxx dev eth0
作用是给一个网卡添加路由,也可以理解为网关。