一、Linux的由来
1984年,(安德鲁)AndrewS.Tanenbaum开发了一款用于教学的简版Unix系统,命名为Minix,后来他的一个来自芬兰的学生(李纳斯)Linus Torvalds在使用过程中发现了很多问题,然后他和后来陆续加入的众多爱好者共同完善并开发了Linux操作系统。
二、Linux版本分类
很多公司在内核版本的基础上,加一些图形界面和第三方软件就变成了发行版本,国内手机厂商的手机系统就这么来的。发行版本主要是RedHat(红帽)系列和Debian(碟变)系列,两个系列的版本有很多相同的地方(毕竟内核是一样的),不同的地方可是一些软件包和一些命令。Fedora(费多拉)是有图形界面的,属于个人版,不适合用于服务器。在学习的时候很多人用的是centos, 因为它是完全免费的,而RHEL有部分是收费的,后来RHEL收购了centos,centos跟RHEL基本全部一样,区别不大,可以说centos是照着RHEL抄过来的。
三、Linux的安装
我是把Linux系统安装在虚拟机里面,使用的虚拟机软件是vm ware 15的版本,在安装的过程中需要注意的几点:
1.在创建新的虚拟机时不要直接安装iso的镜像文件,先创建一个没有操作系统的虚拟机,后面再装系统。简易安装是自动安装一个最小化的Linux系统,不能选这个。
2.centos 6的安装最小内存是628M,这只是安装需要的内存,还不算使用过程中的内存,如果给虚拟机分配的内存小于628M,则开启简易安装(没有图形界面安装),所以空间稍微给大一点。
3.当安装完vm ware虚拟机时,真实机会出现两个虚拟网卡,分别是VMnet1和VMnet8,可以用来配置虚拟机的网络状态。
4.虚拟机网络连接的三种方式
①桥连接, Linux可以和其它的系统通信。但是可能会造成ip冲突,最好配置成跟真实机同一个网段,比如我的真实机ip是192.168.65.12,那么虚拟机可配置成192.168.65.xx,只要后面的不冲突就行。
②NAT: 网络地址转换方式: linux可以访问外网,不会造成ip冲突。只要修改真实机的ip,VMnet8会随机生成一个网段,但是注意ip的最后一个数字不能设为1和2,因为这两个ip一个被虚拟机网络占了,一个被网关占了。
③主机模式: 你的 linux是一个独立的主机,不能访问外网
使用桥接相对来说更方便,它是通过本地真实网卡连接网络的,但是选择了桥接模式后,还要配置一下是桥接到无线网卡还是有线网卡,它默认是自动的,自动有可能选择无线网卡,也有可能选择有线网卡,而并非是我的电脑当前是无线网卡上网它就选择无线,也有可能选择有线的,所以这里的“自动”更准确的说应该是“随机”。所以我们应该自己选择桥接到哪一个网卡。
四、虚拟机使用技巧
1、快照:把当前的镜像系统保存下来,类似于游戏的存档,当你后面发现有问题,可以恢复到快照当前的系统,可有效减少重装的次数。
2、克隆:有时候可能需要用到多个linux系统同时进行,通过克隆可以避免安装多个linux系统的麻烦,而且克隆出来的镜像系统是完全独立的。克隆分为链接克隆和完成克隆,推荐使用链接克隆。
链接克隆:只是克隆原镜像系统的一小部分(占用空间小),能跟原镜像系统一样使用,但是如果原镜像系统被删除,链接克隆的镜像系统不能用。
完整克隆:复制原来的镜像系统(占用空间大),原系统被删除,克隆的镜像系统还能用。
五、系统分区
1、分区表
这两种分区表不管是什么操作系统都是一样的,也就是操作系统是建立在分区表上的,目前还是用MBR较多。一块硬盘最多支持4个分区(主分区),很不方便,后来出现了扩展分区,扩展分区就是占用一个主分区的基础上,再添加更多的逻辑分区,也就是说扩展分区是不存放数据的,而是用来放逻辑分区。
不一定把三个主分区都用了才能用扩展分区,用一个主分区和一个扩展分区也是可以的,但是此时扩展分区中的第一个逻辑分区数字是5,因为前四个分区只能是主分区或者是扩展分区(1234的位置不能是逻辑分区),即便主分区只有一个,如图b,数字5是第一个逻辑分区也是第三分区。
2、格式化
centos 6使用的是EXT4文件系统,centos 7使用的是NTFS文件系统
说到格式化,我们第一个反应肯定是清空数据,这是错误的,格式化的目的绝不是清空数据,而是给硬盘写入一个文件系统(原有数据被覆盖),相当于把内存空间按照一定的格式来进行划分,便于数据的存储。
举个栗子,衣柜有很多种放衣服的方式,有叠的、有挂的……,但是你在给这个柜子划分空间的时候是不是要把所有衣服先拿出来,等空间划分好了再把衣服放进去,所以格式化之后硬盘是空的(这就是为什么格式化之后数据没了的原因)。
区别是linux系统把空间划分为规范的、统一大小的数据块(block),默认大小是4KB,也可以选择划分为1KB和2KB。数据块不一定是连续的,系统会尽量分配到连续,连续在一起可以加快读写速度。数据块是存储数据的最小单位,4KB用了2KB,剩下的2KB不能再写进别的数据了。
因为数据块的数量很多,查找文件就要靠索引来完成,linux系统的文件索引是Inode(i节点),每个文件都有一个Ionde,一个Ionde的大小是128个字节,里面存放的内容有 Ionde号、文件的时间(修改、访问)、权限、位置(在哪一块)。数据块有可能写满,Inode也有可能写满,在格式化的时候已经分配完,所以不能无限上传空文件,虽然不占数据块,但是占用Inode,Inode满了就不能写文件了。
六、设备文件名和挂载点
设备文件名
在windows中,硬盘分完区然后命名一个盘符就能使用了,但是linux比Windows多了一个步骤,就是先给每个硬件设备命名。有了名称系统就可以找到对应的分区,然后给分区一个盘符。
最左边的“/”是linux的最高目录(根目录),根目录保存一级目录,一级目录保存二级目录……,dev一级目录放的就是所有硬件设备的设备文件名 ,hd代表IDE硬盘接口,sd代表SCSI、USB、SATA硬盘接口,a代表第一块硬盘,第二块就是b,1代表第一个分区。
比如,/dev/sdb5:第二块SATA接口硬盘的第一块逻辑分区,不要描述成第二块SATA接口硬盘的第五分区(如上图b,有可能是第三分区)。
挂载点
windows使用大写ABCD作为盘符(入口),linux使用的是挂载点(已经存在的空目录作为挂载点),可以把挂在理解为盘符,但不能说挂载点是盘符,linux没有盘符。 挂载其实可以理解为把设备(设备文件名)挂载到目录的过程。
那到底使用哪一个目录作为挂载点呢?
下图中的分区都可以作为挂载点,根分区、交换分区、启动分区都应该必须分区(所以可以作为挂载点),原因如下:
①根分区是最高目录,不分区的话数据没法存。
②交换分区可以理解为虚拟内存(给linux内核用的,普通用户没法写入数据),当真实机内存不够的时候,那这部分硬盘顶替内存,提高计算机性能。
③任何系统在启动的时候都会释放一部分临时文件空间,如果把硬盘数据写满了,就连释放临时文件的空间都没有,那就释放不了空间,系统就启动不了,所以boot分区是有必要的。
除了上面三个必须分区外,我们也可以自己分一些常用分区(挂载点),比如给home或者boot独立分区,它们就有自己的空间,写数据时就写进自己的空间,而没有分区的etc,往里面写数据时就写到了根目录的空间。
七、配置IP地址
步骤
linux的网卡都是通过eth来命名的,第一块网卡是eth0,第二块是eht1,以此类推。配置好IP后,可以用ifconfig命令来查询当前linux系统的网络情况。
判断电脑网络是否通了,都喜欢通过ping命令,ping 域名、ping 网址,如果ping通了,就会给对方的服务器发送ICMP协议(数据包),也会收到对方的回应数据包,但是这里有个坑,win10系统会自动发送四个数据包就自动停止发送,而linux系统是不停的发送数据包,可以按ctrl+c来停止,当时我就好奇为什么不会自动停下来,还一度以为是我的网络配置有问题,这个是linux跟win10的小小区别!