linux:day01 计算机基础 随堂笔记 马
本课程内容目录(前30天)
一,计算机基础
1,机械硬盘是比较慢的,如果有条件的话,还是换成固态硬盘有个120G就够了,价钱大概500G 700元
2,视频从一台机器拷贝到另外一台机器,复制的时候要限制速度,不然的话,如果用户量过大,容易导致系统崩溃
3,有时候部署服务器或者UPS电源的时候,要考虑承载的问题,空调布局
4,主存储器:RAM断电就丢,辅助存储器相当于硬盘,即使没电也不会丢掉,但是如果你打开了一个软件,关机在开机的话,软件不会自动运行的,除非你把他点起来运行,因为他只有加载到内存中才可以运行
5,输入,摄像头,指纹,麦克,按键等等都是输入,文字,图像,对话,扫描仪器等等,输出,打印机,屏幕,音箱等等
6,现在计算机的运算器和控制器已经合二为一了,虽然我们分开来描述,当时在计算机里面,他是由CPU这一个设备来提供这两个功能的
7,冯诺伊曼体系:1946,运算器,控制器,存储器,输入设备,输出设备,另外他还规定,计算机在处理数据时是基于二进制的
8,冯诺伊曼还规定,程序要想真正运行起来,还必须放到主存储器里面,放到辅助存储器,也就是磁盘上是运行不起来的,可以理解为,主存储器才可以加工,辅助存储器相当于仓库,只能放东西,不能加工数据
9,冯诺伊曼先生,参与了世界上第一台计算机的开发
10,moore's law 摩尔定律,intel现在在主流CPU芯片市场处于垄断的地位,intel创始人,1965,18-24个月,数量和性能都提升一倍,目前也不大是了,因为绝对垄断,也不太着急研发了,基本只有intel和AMD目前
11,17年3月,intel股东大会,未来发展的两个方向:量子计算机,神经芯片,以后可能完全不遵守摩尔定律和冯诺伊曼了
12,计算机按照规模划分:巨型,普通人一般难以接触到,大型计算机,比较有钱的机构会买,比方说银行,一台上亿,服务费一年上千万,大型机领域,也就IBM还可以;小型机,IBM,HP,SUN都有,十几二十万,这些用的都不多了,现在最多的就是PC,微型
13,一个网站,记录了全世界最快的前十台计算机
1.1 服务器
14,服务器的概念:一种角色的概念,服务器的性能,一般都要更好,服务器种类非常的多,在互联网上用的最多的就是web服务器,后面会学习两个搭建web服务器的软件,一个是apache,一个是nginx
15,数据库服务器,提供web页面所需要的各种数据,因为web服务器提供的数据都是静态的
16,文件服务器://192.168.1.2/C$ 或者ftp://1.1.1.1这些都是文件服务器
17,中间件服务器,比较著名的就是tomcat,国外的软件都喜欢用动物啊,宠物啊,来命名
18,日志服务器,我们后面会学习ELK 监控管理
19,监控服务器:后面会学习监控的软件zabbix,如果生产中有成百上千的服务器,这些服务器的状态如何,性能如何,都需要监控服务来监测
20,程序版本控制服务器:git;虚拟服务器:KVM,openstack,docker k8s
21,微软的域控制器:DC domain control ,他里面放了一个数据库叫做AD,active directory 活动目录,混个耳熟,微软的核心技术,安装了活动目录这个数据库的服务器就叫做域控制器DC
22,ERP,企业资源计划,某些传统行业用的比较多的,国内比较著名的提供ERP服务的公司,例如用友,金蝶,国外,SAP,oracle,这个软件都是上千万的,一些来自传统企业的人,可能用过,很贵,ERP系统是个综合系统,他里面有各种模块,生产,库存,财务,人力,都在里面,综合软件
23,课程重点是前几个
24,LVS负载均衡调度器,当用户访问过大时,我们需要有一个调度器来负责调度用户的请求到后端不同的服务器上,比如去饭店吃饭,人很多,有个人呢把你引导空位子上
25,haproxy也是调度器,其实nginx也可以实现调度功能
26,keepalived实现高可用性的,接待的人死了咋办,实现LVS的冗余,一台服务,另外一台检测它的状态,看他有没有活着,活着不理你,如果没有活着,那么用keepalive技术,接管到新的LVS上的,解决,单点失败的问题,这个是服务器领域很重要的,尽可能避免单点失败
27,vanish,数据库也有缓存,比如memcached缓存,互联网运维领域有个著名的黄金法则,叫做‘缓存为王’,淘宝京东EG,用缓存提供更优的性能,还有数据库缓存redis
28,静态文件,比如大众点评的图片等等,大量的静态文件,海量数据做处理用到:miglefs,分布式文件系统来处理,所谓分布式就是不止是一台机器,是很多机器组合起来的,文件系统我们知道很多比如ntfs,fat,fastdfs,但这两个不是分布式的
29,dns:域名解析的
30,ansible,批量去部署一些生产任务,比如去100台机器上部署一个软件,或者用puppet,来实现运维自动化
31,以上我们列出了好多,每个软件都可以单独出一本书,而且这些都是比较简单的软件,如果是复杂的软件可以出十本书,比方说MySQL,所以大家做好心理准备,要学习的东西是相当多的
32,有专门的厂家们,来制作生产出了各种专门用来做服务器的各种硬件计算机:塔式,刀片,机架式
33,塔式缺点:大小不一,放在机房里面不好去部署,用的不多,一般可能是传统行业用的比较多
34,现在用的更多的是机架式的,所谓机架式,就是专门有机架,有个大铁盒,一人多高,两米多的铁盒,这个铁盒里面可以塞入服务器,而这些服务器都是由标准尺寸的
35,越轻薄它会牺牲性能,比方说有的轻薄笔记本连网卡都没有,想要加一块内存,加一块硬盘,对不起,加不了,没空间
36,所以越轻薄的它的可扩展性就越差,他主要强调的是省电,所以1U 的也不多,主流的是2U的和4U的,理论上一般是越厚越贵的,因为他硬件也更多的
37,这一个机架大概是2米多,里面的服务器一般也不会塞满,因为要考虑散热,考虑电供给
38,刀片服务器,比较薄,用的也不多,主要功能是提供高性能运算,很沉,紧凑,散热不方便,里面都是板卡
服务器硬件组成
39,机房里面最大的噪音就是风扇,呜呜响,尤其是开机时,如果有个服务器在你身边,时间长了会神经衰弱,年轻不要去机房,尤其是没结婚的同学,有辐射啥的,不好,所以我们要远程通过网络管理
40,只要是计算机,硬件都一样,只不过长得不一样
41,硬盘插在机箱里面,外面有个扳手,不像家用电脑,他直接就在外面
42,一般的服务器,主板上最少内置四块网卡,为啥呢?因为现在主流的技术是虚拟化,虚拟化需要用到好多网卡尤其是用到一些高可用的时候,会用到好多网卡
43,服务器Xeon E7志强CPU,现在一般都是i3,i5,i7,i9,目前最新的是i9了,其实出来也买不起,比较贵,家用电脑的CPU大概1000多块钱,但是这个服务器的CPU大概要一万多块钱,E3 1000多,但是这个是E7的,不是一个级别的
44,处理器数量,就是CPU数量
45,SAS接口是服务器的接口,家用电脑都是SATA接口的
46,内置RAID卡可以做RAID,RAID卡可以内置,RAID是生产中主流的存储解决方案
47,光驱,目前好多服务器都不带光驱了
48,这个配置的机器,大概五万块钱,服务器都没有显示器的
服务器的CPU,服务器的
1,有一些手机的CPU是高通骁龙660,这样的手机可以卖三四千,手机中中档的CPU,相当于电脑的i5的水平
2,现在更高端的CPU,高通的845,最新的,老师说感觉是i9的级别,最次也是i7的级别
3,CPU,内存,不要只看外型
4,服务器CPU的厂家,老师说的是PC架构的,不涉及手机
5,Intel的现在叫做Xeon,早期还有个叫做Itanium,安腾,不过现在不怎么生产了,安腾的CPU指令集完全不同,硬件也不同,所以被淘汰了
6,AMD CPU在服务器领域基本没市场,家用电脑还有
7,IBM公司的power CPU也很强,是用在小型机上的,小型机比较贵,目前,小型机领域能活的下去的也就是IBM了,早期市场有很多公司的,比方说HP,SUN,现在这些都没了,IBM唯一在小型机Unix市场活下来的
影响服务器CPU性能的几个指标:
1,平时说的CPU多少多少HZ,都是指的主频,主频=外频*倍频
2,有人是电脑发烧友,买回来的电脑超频,有同学超过频吗?超频超的是哪个呀?外频,现在主流的就是超外频,很早以前超过倍频,现在没了
3,外频:系统总线的工作频率,总线频率,就是CPU与我们的主板的数据交换速度(这就是外频),CPU不是插在主板上嘛
4,当然CPU自身也有速度,自身的速度就是主频,
5,所以主板相对来说是比较慢的,CPU是更快的,因为中间又差了倍数,差的倍数,叫做倍频
6,那问题来了,因为有速度差,CPU速度快,主板速度慢,那中间这个速度差怎么解决呢?
7,解决方案就是缓存,我们刚才说了,缓存为王,那么缓存是干嘛的呢?
8,缓存就是你主板不是速度慢嘛,那有些数据需要CPU去处理,那CPU处理速度很快,这时候怎么办呢?我可以把刚刚访问过或者经常访问的数据,放到CPU的缓冲区里,注意是CPU的缓冲,那如果数据在缓冲区里面已经有了,那么我就不需要再跑到慢速的主板上去要那数据了
9,但是缓存容量比较小,他只能放一点点的数据,不能说保证所有的数据都在里面,所以他这个缓存也是分级的,一级二级三级 ,L1,L2,L3,
10,注意缓存编号越小的,速度越高,但是容量越小
11,内存总线速度,就是CPU和主板的通信速度,一般等同于CPU的外频,
12,如果我们买一条内存条,上面经常会写ddr4代的,什么2133级,速度多少,这些指标,这实际上说的就是内存速度,内存的处理速度
13,内存相对于CPU来说,他慢了一个级别,但是内存相对于硬盘来说,就又快了,硬盘最慢,根据木桶效应,拖后腿的,就是性能最差的那个,通常就是硬盘,所以买笔记本的时候,为了上课更快,最好买个固态硬盘,固态硬盘速度,一下子能提升不少
14,CPU啥事都干完了,在那儿等着没事干,是不是浪费CPU的时间,CPU和内存交换数据,cpu内部有缓存
15,32位的,64位的,就是总线宽度,64位是2的64次方,32位是2的32次方(4G)32位的系统最多是用的内存是4G的物理内存,再大了,他也识别不了,所以32位的被淘汰了
CPU类型
1,早期有X86 32位,现在X64 CISC
2,目前手机上用的各种CPU都是ARM CPU 比如刚才提到的高通系列的CPU
3,m68000,很早以前, 摩托罗拉也出CPU,他的手机业务卖给了联想
4,IBM公司有power CPU,主要用于小型机
5,还有三家公司,相当于IBM 的power CPU的简化版本 powerpc CPU (apple,ibm,moto,三家合作开发的一个CPU)
6, 早期sun公司小型机上跑的CPU ultrasparc
7,Alpha CPU 是HP公司开发的,现在貌似也不太活跃了,据说很多业务被清华紫光接管了
8,早期的compad 公司的安腾CPU,后来被Intel收购了,目前基本没有了,compad很早以前在PC领域很有名的公司,后来被HP收购了
9,以上这些公司,最近貌似都不太行了,传统的IT公司,好像都不太有名气了,不像以前那么火爆了逐渐没落了,现在IT领域比较火的就是这些互联网公司了
微型计算机的发展:个人PC的发展,不是服务器
1,现在国内和国外基本接轨了,出来最新的CPU,马上就用上了 ,很久以前有差距
2,4004,8086,80286,80386,80486,奔腾Pentium II III 4 ,安腾Itanium 2(微处理器,推出时间,字长,主频MHZ 集成度晶体管数/片)
服务器按照体系架构分类X86和非X86
3, 按照体系架构来分,非x86和x86用的体系架构是不一样的, 非x86使用的是精简指令集RISC 或者EPIC并行指令代码处理器,X86是CISC复杂指令集,针对个人PC来说的
4,精简指令集,就是指令本身不多,大家都知道CPU里面是有指令的,精简指令集,指令很少的,而且每个指令的长度相同,复杂指令集,长度不同,指令也比较多
5,精简指令集,用全部指令实现80%的功能,另外的20%用指令组合起来实现,复杂的就是所有功能我尽可能的全都实现了,都有对应的指令来实现,所以相对来说,复杂指令集也复杂一些,由于复杂,所以稳定性也相对差一点,
6,传统的小型机和服务器上用的都是精简指令集的, 当然价格也是比较贵的,x86的就是XEON E3,E5,E7
7,传统的小型机,服务器上面用的都是精简的指令集,当然价格也比较贵
8,现在互联网公司,比方说淘宝,推出了一个去IOE的活动,IBM的小型机比较贵,那我就买十台pc,看看能不能达到你的性能标准,Oracle是按照服务器的CPU个数来卖的,当然价格也太贵了,就有钱像阿里这样的都不愿意去用Oracle的服务器,贵因为有时候不同的生产项目还要买好多套
9,E是EMC存储,我们用一些开源的软件,避免使用这些很贵的软硬件
10,替代的产品就是,PC服务器代替IBM的小型机,开源的MySQL代替Oracle,自己设计自己的存储架构
11,当然有一些传统公司还是会使用小型机,第一是这些传统公司他有钱,电信啦,银行啦,第二他技术能力不强,所以只能买一些商业的,现成的成熟技术解决方案,出现问题找技术支持,厂家就完了 ,但是互联网公司不一样,他技术一般都比较强,出现问题了自己可以解决
12,CPU按照个数来分的话:有4,2,1路企业级,部门级,入门级,一般2路是标配,
13,服务器主板和家用的还是不太一样的,插槽比较多
服务器内存
14,内存不够的话,就会导致应用程序没有办法及时正常运行
15,很少体现为内存不足,挺多就是体现为慢,没有报的原因是他把硬盘给模拟成内存使用了
16,硬盘的速度和内存差了好几个数量级,内存一般考量单位是容量和内存带宽
17,内存带宽是指内存与主板,主板上有个芯片叫做北桥芯片之间的数据传输速度
18,北桥和南桥,快,慢,北桥芯片在主板上,他主要和内存,显卡,CPU这种高速的芯片来进行通讯,南桥芯片,一般和比较慢速的一般就是键盘呀,声卡呀,这种来进行通讯的
19,内存现在比较流行的是是DDR的,第一个D是double的意思,双通道的意思
20,单通道现在都是64bit了,相当于8byte,一个byte,8位二进制
21,内存带宽=内存总线频率*数据总线位数,现在内存总线的位数都是64bit的,DDR2的要乘以2
22,333MHZ,运行频率,周期每秒,5.4GB/s 带宽,大B指的是Byte,小b指的是bit
23,硬盘的速度大概是多少呢?拷贝几个大文件就知道了,Windows上不是有那个进度条嘛,大概是几十兆是U盘,硬盘大概是一二百兆每秒
24,5.4GB/s是比较慢的了,只是DDR2的,现在的DDR4代更快
25,服务器上除了速度快,他最突出的好处就是有容错功能
26,服务器内存贵,原因:内存在线备用功能,说是买了一条内存条,其实里面是两条,你只是感觉不到而已
27,内存镜像,写数据时,同时写入两个内存镜像
服务器硬盘
1,机械硬盘:盘片固定在其中的一个柱子上,柱子是连接到一个马达上,马达可以高速旋转,每分钟7200,10000,15000RPM,每分钟的转速,磁头悬浮在盘片上,注意是悬浮不是接触的,如果接触的话,盘片就划伤了
2,所以盘片里面一般会充入一些氮气啥的,不能是真空哈,真空的话就压扁了,所以硬盘不能拆哈,拆开来,就报废了
3,硬盘接口,早期,很早以前是IDE接口的,SCSI是用在小型机服务器上的,现在逐渐都淘汰了,现在我们主流用的就是SATA和SAS接口,家用电脑用SATA,服务器用SAS
4,SATA和SAS其实从物理接口上来说是差不多的,看不出来区别的,物理形态上看不出来区别的
5,SAS接口的线是可以控制SATA接口的硬盘的,反过来是不可以的
6,速度对比:CPU 1000, 总线:500,网卡:200,硬盘:150,最终就是150,瓶颈
7,好多时候CPU的利用率只有20%,很多时候都空闲在那里,比方说阿里云,很多时候,空闲的服务器得到了应用,因为自己用不了,所以就卖
8,SSD固态硬盘,固态硬盘的组成是完全不同的,他里面没有机械臂呀,磁头呀啥的,都是由芯片组合而成的,特别小的固态硬盘,M2接口,塞到笔记本里面就完事了,有时候比U盘还小,速度特别快,价格差将近10倍,
9,RAID卡是实现磁盘的冗余的,一般用在服务器上,现在有些家用电脑上也有,而且现在很多服务器会内置RAID卡
10,服务器的电源,很多是长条的,对于电脑来说,风扇电源的噪音是最大的,冗余电源和风扇
服务器显卡
1,一般服务器的显卡都不高,配置很低很低,显存容量为16M或者32M
2,高端显卡价钱要好几千的
3,GPU:graphic,挖矿比特币,用来赚取比特币的电脑,显卡性能很高一般都
4,服务器上的显卡,一般都是主板集成的,都不需要外置的
服务器网卡
1,服务器上大部分都会集成网卡,一般来说至少都是1GPS千兆网卡,有些特殊的如,光纤网卡,万兆网卡,有些要光纤转换一下,光纤网卡
服务器热插拔技术
1,热交换,Hot Swap,就是带电情况下进行操作增加删除硬件,比如硬盘坏了,家用必须关机更换,服务器因为有RAID,允许带电插拔,热插拔的前提也就是硬盘暂时没有人用,有人用的前提下,即使热插拔也不可以的
2,Linux有命令,提前停掉相应硬盘的读写
服务器硬件-机柜
1,高度是42U,两米多高,1U=44.45mm,
2,有些公司管理比较严,比方说银行,上班时间根本不让上网,早些年,上网也比较贵,单位网络只能上局域网,
3,服务器配件KVM,有两个定义,一个是虚拟机技术,一个是指的硬件,keyboard,video,mouse
4,KVM这个小铁盒子,相当于一个小交换机,他可以连接到那个1U的键盘TFT显示器上,他就是个显示器,虽然长得像笔记本,通过KVM可以把显示器连接到多个电脑进行控制,相当于我用一个键盘,一个显示器,连接很多线,连接到不同的服务器上,有开关切换,我切换下控制这一台电脑,又切换一下控制另外一台电脑
5,PDU ,用来管理机架上的电力供给
存储基础知识--存储网络
1,早期的时候,存储数据,有的时候一般用外围的,磁盘,软盘,光驱,等等
2,服务器上三种存储数据的方式:DAS,NAS,SAN,大部分时候是DAS
3,DAS,直接存储,家用电脑,硬盘,主机箱,主板,都连在一块,直连
4,数据存放在本机硬盘上,本机硬盘通过一个很短的数据线连接到你的主板上,紧密连接,基本上在一个机箱里面
5,NAS,其实现在最典型的就是我们去访问ftp服务器,存储和机器之间,是跨网络通信的,中间离得比较远,这种方式有利于实现集中管理,比如我可以把所有的数据放在一台服务器上,大家都可以去访问,如果是DAS就不行了,你的硬盘只能放在自己的服务器上,别人用不了的,只能自己用,
6,NAS,可以集中管理,适合于共享
7,SAN,存储是放在网络上的,中间呢可能是走光纤,也可能是走以太网络(IP,ATM,SCSI),也是中间连接的是网络连接,
8,NAS的管理是存储服务器自己来管理,你只可以在里面放数据,查数据,不能说把空间放大缩小,而SAN,可以用,也可以管理,在系统上分区,格式化,和自己电脑关联,用的时候,感觉和自己电脑上的硬盘一样,他实际上在远程SAN的存储上存着呢
9,ISCSI基于网络实现SAN,ISCSI服务器,他只是提供了硬盘空间,ISCSI客户端,使用刚才提供的空间,使用的时候,可以把远程提供的磁盘空间,抓取到我本地,如果是Windows得话,你会发现多了一块硬盘,
10,RHCE里面有一道考题就是考你怎么配置ISCSI,怎么配置服务器,客户端,配置完了,你就更了解SAN了
软件:操作系统
1,通用目的的软件:软件必不可少的和硬件打交道,比方说 QQ,微信都需要硬件:文字,视频,网络通讯,硬件驱动,通用功能用一个软件提供就行,不需要每个软件都对应开发一套,那么这个软件就是操作系统
2,进程管理,因为系统上可能会跑多个软件,内存管理,每个应用程序,都需要使用一部分内存
3,服务器操作系统,相对更加稳定,也可以支持更多的用户连接
4,桌面OS,强做服务器,不好,并发可能只有10个,不适合大规模用户使用
5,AIX是IBM开发的Unix的小型机的操作系统
6,我们今天学习的是CenOS,其他的都没落了
7,YunOS 阿里开发的手机设备,移动设备上的操作系统,魅族某些手机上跑的就是这个操作系统
他是兼容于android的,安卓的各种软件在YUNOS上也可以使用
开发接口标准(这一部分比较专业,听不太懂后面还会讲的)
1,ABI和API,ABI,拿了一台电脑,银行柜台,应用程序和OS之间
2,画图:mspaint
3,不同的操作系统,接口不一样,所以不能跑同一个软件
4,API运维人员不关心的,一般是开发人员才会关心的,软件模块,就是库,library,Windows上这种文件都有.lib后缀,但是调用它需要符合人家的接口标准,源代码和库之间
5,接口需要符合一定的标准,API这个标准有官方的标准,IEEE定义了接口的国际标准,POSIX,不管是windows的库还会Linux的库,都要遵循这个标准
6,POSIX 这个X实际上是凑数的,因为带X的比较流行,比方说Linux,Unix,所以装X用的,凑热闹
7,Windows里面通常用的软件是点EXE的,这种后缀的文件都是二进制的,Linux里面可执行文件的格式,往往有时候不带后缀,虽然没有后缀,但是他也是按照一定格式来组织这个可执行文件的,比方说ELF格式
8,windows里面用到的库的后缀,一般是.dll或者是.lib后缀的,一种叫做动态库
9,Linux里面用到的后缀,一般是点so后缀,或者是点a后缀的,shared object,一种叫做静态库
10,动态库是运行时临时调用你,静态库,是这个程序一旦生成完了以后,这个静态库文件,已经打包到一个文件里面去了,和原来的程序,结合到一块了,他不是分开的
11,所以总结就是,动态是分开的,静态是一起的
12,以上内容有所了解就可以了
library function和system call
1,ABI接口和OS交互的时候,会用到一些相应的软件模块,这些软件模块,就叫做system call,他就是一个一个的软件,每个软件实现对应的功能,他是工作在ABI层的
2,系统调用有很多很多小软件模块,只要交互,就必须调用的
3,Linux里面有一些命令,比如说strace,他可以查看系统调用system call,可以查看某个程序具体调用了哪些系统调用呢?
4,ltrace library,这个是看库调用的,也就是library
5,这两个软件有助于排错,看底层到底出现了什么问题,不过看懂不太容易,要看懂得话,通常来说要懂开发,看里面的具体的工作细节
6,library:fopen,fread。。。。
7,system call软件模块 open,read,write
8,user space/ kernal space,用户空间权限有限,不能访问硬件,当内核需要做事的时候,CPU必须切换自己的身份,切换到另外一种空间,内核空间,相当于切换到上帝身份,上帝才可以访问硬件,这个切换,就叫做,context exchange
9,一颗CPU可以有多核,正常情况下,一个大脑,同一时间只能干一件事情
10,用户空间就是,程序奔溃的话,不会影响内核,别的程序也不影响,只影响这个程序他自己,但是功能比较弱,只能进行简单的运算
11,file.write(str),切换到内核空间
12,切换是有代价的,因为要保留原来的状态,一会还得回来,而且中间切换的成本很高的,最好花整段时间学习,不切换
13,这个函数库是不可避免的,因为很多应用程序,会用到一些通用的功能,通用的功能,干脆不要自己开发了,拿个现成库直接调用就好了
14,不要重复的发明轮子,所有车都需要轮子,通用的。。
编程语言
1,低级语言,很早以前的程序员,编程,就是编写010101,不是在纸上写,是在卡片上,打个孔就是1,以前的程序员很惨的。。。
2,后来稍微好一点,汇编,仍然和硬件紧密相关,不同的硬件,语言不一样,
3,现在上面的两种用的非常少,除非是基于底层的开发
4,中级语言,C,Windows,和Linux,开发都是基于C语言开发出来的,C语言写的代码,适合做操作系统,开发一些性能要求比较高的软件,或者是做驱动程序开发
5,Linux内核网站的mainline 版是测试版本,不是稳定版本的
6,NGINX也是C语言写的,非常小,后面安装的这些软件都是从官网下载的,老师还给我们看了这些软件的C语言源码
7,cmd可以快速进入目录,类似于Linux的terminal
8,高级语言:比较火的是Python和GO,主要是应用程序开发,实现某个功能,将来我们要做运维自动化,比方说以后我们企业里面要管理几千台或者更多的主机,这些服务器上,可能会经常需要一些,自动化的运维需求,例如自动部署软件,自动上线软件,这些功能,可能市面上没有现成的解决方案,自己开发,可以用python 来开发
9,只学运维得话,职业会有瓶颈,达到20多K就不能更多了,再往上要会点开发了
10,go现在也比较火,小米公司,现在做运维都是用go开发的
11,语言没有优劣之分
服务器三大操作系统
1,Linux其实是来源于Unix的,是Unix的一种变种,gnu/linux
2,Unix是诞生于1969年,后来分成了Bell实验室和BSD伯克利大学两大流派,Bell实验室,AIX(IBM),solaris(sun),HP-UX(hp) ,贝尔实验室被称为正统的Unix的流派,
3,Unix萎缩到占有率仅有1%了,Windows也在萎缩,服务器领域
兼容分时系统
1,Unix的诞生,早期的计算机使用一种兼容分时系统,多个键盘显示器,带一个主机,多个终端,早期主机价格太贵
2,1984年由于1980年贝尔实验室收回Unix版权,大胡子发起了GNU活动,目标是编写大量兼容于Unix的自由软件,
3,为了推广GNU,有了FSF自由软件基金会,同时有了GPL
4,既然用了人家的软件,那么自己的代码也要发布出来,基于GPL协议,其实这样的话,有时候会影响一些软件的安全,原码放出来,黑客研究的话,就很容易找到里面的一些漏洞,比方说国内的一些防火墙产品,很多都是基于Linux内核开发出来的,而Linux是遵守GPL约定开发出来的
5,源代码公开的防火墙,你会买吗?所以有了LGPL,允许不去公布所有的源代码
6,Linux里面好多软件都是基于GNU的,比方说著名的VIM,但是这些软件虽然免费,但是Unix是收费的呀,怎么办呢?
7,完整的解决方案就是Hurd。。。。操作系统,一直没有正式发布,
8,完成比完美更重要,所以完全失去机会
9,Linux起源,91年,发布了freax,基于GPL开发,开始流传
10,Linux系统就是,Linux同志开发的类Unix内核freax(内核空间) +GUN项目开发的工具(VM,GCC)用户空间
11,现在所有的Linux版本,Andriod,Redhat,Ubuntu,都是这样组合的
12,这些工具不止是GNU的,也有一些其他组织的,比方APACHE,不同组织风格不同,是一个综合产品,每个软件要独立学习,因为不太一样。
13,Linux,现在团队有好多人,他每天在家里办公,有一台电脑桌,很高,每天站着办公,他也有一个基金会,叫做Linux基金会,每年发放1000万美元的工资
14,如果是Cento7 他用的内核版本,应该是3.10,是比较旧的了,所以也稳定
Linux的发行版
1,Slackware是linux的一个分支,有SUSE(novell,这家公司以前是局域网很厉害,现在没了,转去开发Linux了),openSuse桌面,目前除了红帽,SUSE的市场占有率也挺高的,有些国家机构就是这个,国家气象局
2,中标麒麟,北四环,其实也是红帽分支
3,Fedora,适合于爱好者,测试使用,不太稳定,里面采用的都是比较新的技术,在互联网上发布以后,经过很多人反馈测试,如果觉得某些功能模块很好了,这个产品,红帽公司会把他拿过来,加入到RHEL版本里面去,所以说,Fedora,相当于一个小白鼠,所以企业版一般功能不是最先进的,但是他是最稳定的,刚才看的内核版本是比较偏旧的。因为稳定,所以内核版本不新
4,LFS,这个准确的说并不是一个真正的linux版本,他发布了一个文章教程,你按照这个教程,把linux一步一步做出来,不是一个完整的产品,他就是一个说明书了,从源码编译开始
5,课程结束的时候,希望大家有机会的话,可以去把这个做一下
6,ftp服务器可以用浏览器或者是explorer打开,浏览器打开就不是乱码了
REDHAT红帽公司
1,创始人经常带一个红色的帽子,红帽男孩,现在发展不错,红帽公司,开源公司,非IT技术能力一般,年收入多少亿美金
Linux内核
1,主版本号码,次版本号码,末版本号,编译版本号码,厂商版本,内核真正用时二进制,
2,安卓开发商是Google
3,红帽发型版本基本每三年发布一个大的版本号码
4,所谓开源,就是源代码是发布出来的,给你的不是二进制程序,是源码,
5,平时使用的软件,有很多是商业的,商业最大的特点就是不开源,给你的直接就是二进制的,例如Windows,Office,Windows上的很多软件都是有商业性质的,这种软件想做二次开发,要付费的
6,共享软件,就是不花钱的,可以随便用,虽然不花钱,但是源代码不给你,只给你二进制程序,不可以做二次开发,只可以用
7,自由软件:free,开源,修改,传播,复制,不一定不能卖钱,他不卖软件,他卖服务
8,内核, nginx, 我们上课的软件基本都是开源的,付费的软件我们不讲,以为这是发展趋势,基本以后这就是发展趋势了
9, 虽然软件是免费的,但是他有一些额外的收益,比如卖广告之类的,360,只要有用户量,所以很多公司,空有用户量,没有挣钱的商业模式,就不是很有潜力
10,只要有人,就不怕挣不到钱
开源许可
1,为了保证开源软件的持续性
2,MIT好像是最宽松的,不控制你,想闭源就闭源,想开源就开源
3,GPL是比较严格的,用我那最新代码,必须发布,之后自己写了东西,可以自己写个脚本啥的,注明使用哪个许可来发布
Linux哲学思想,准确的说是unix的思想
1, 一切皆文件,包括硬件,windows 就是图形界面
2,Linux里面有很多小工具,短小单一
3,组合小工具共同完成复杂任务,必须bash脚本
4,避免令人困惑的用户界面,Linux相对稳定,window会出现一些莫名其妙的问题,小问题重启,大问题重装
6,Linux配置数据存储在文本文件中,比如用户账号
7,事实上,Windows里面大部分的配置都是放在注册表里面的,注册表对应的就是一个后台数据库,也是在磁盘上的文件,但是呢,有可能不是一个单一的文件,他是一个分布式的数据库,存放在多个文件里面
8,Linux不会有很多垃圾文件,注册表要是坏了,注册表是个二进制的数据库,你怎么把它修复了呀,坏了不容易修复,而且在二进制的数据库里面容易产生一些垃圾信息比如卸载没有卸载干净,而计算机启动的时候,注册表是要加载到内存里面去的,占用的越来越多,电脑越来越慢
9,所以Windows过一段时间就得重启,Linux放个一年半载都没问题
10,我们上课用的的是CentOS,他的官方下载地址服务器在美国,下载肯定比较慢,
11,指定磁盘容量,我们选第一项,单个文件来代表这个磁盘,如果你选择多个文件的话,他会帮你生成几百个小文件,拷贝的时候太麻烦了,
12,后缀是vmdk,他就代表硬盘,如果要是拷走,就代表把硬盘拷贝走了
13,两个ISO可以合并做成一个ISO,以后需要了可以自己做
14,仅主机模式,就是主机和你的电脑是连接的,但是和其他的电脑是不连接的
15,桥接模式都要通过主机的网卡,获取了和外面的电脑相同的网络使用模式,一种纽带关系,NAT不需要根据主机,NAT在发送接收的时候,网址会转换
16,建议,想上网的话,就用桥接模式就好了,桥接到一块可以上网的网卡上,只想内部访问的话,就用仅主机模式就好了,桥接模式内外相当于独立的电脑,一个网段的,NAT内部网段可以不一样
17,网络调通做了以下事情,bootproto改为static,之前是none,恢复vmware workstation网络设置那儿的默认设置,改为桥接模式,一般我们都用桥接,或者仅主机模式
18,虚拟机打开以后,会有一个后缀为lck的文件生成,虚拟机关掉以后就没有,不小心关掉虚拟机,可以去安装目录里面,找寻后缀为vmx的文件打开即可
19,CentOS 7.4 如果内存只选一个G得话有点问题,加个100M就好的,所以我们创建虚拟机得话选个2G完全没有问题的,不装图形界面没问题的,如果装图形界面得话,最好是选大一点
20,7.4 everything的ISO文件有8G大
21,windows里面有几个分区就有几个根,每个盘都有自己对应的根目录,C盘,D盘,E盘都有自己对应的根,Linux里面只有一个根,Linux用斜线/,Windows的根是反斜线\,windows 是故意反着的,因为早期,unix就是反斜线
目录结构
1,/usr = windows和programme files,大概对应,重要的配置文件啥的
2,/home = /用户
3,/tmp = /temp :临时文件
4,Windows 计算机管理,用户,administrator 名称 全名
5,日志文件 var/log/
6,etc/ 相当于注册表
7,boot 启动相关的 例如内核,不要随便动
8,dev/专门放硬件设备的
分区
9,管理数据和磁盘也是以分区形式来管理的
10,分区类型(MBR):主分区,扩展分区,逻辑分区
11,除了MBR之外,还有一种分区方式叫做GPT分区
12,MBR分区,如果划分主分区的话,那么一块硬盘最多划分4个主分区,而且主分区不可以再进行分区,就是不可以再创建小分区了,但是主分区上还可以创建文件系统,例如NTFS等然后直接存数据
13,主分区可以用来引导启动操作系统
14,windows里面一个比较容易混淆的概念,系统分区:用来启动Windows的分区,启动分区,安装操作的分区
15,如果操作系统装在D盘,那么C盘是系统分区,D盘是启动的分区,一般无论如何,C盘都是系统分区,因为他是用来引导计算机的
16,意思就是说,操作系统放在一个地方,启动文件又放在另外一个地方,这是两码事
17,主分区可以用来当系统分区,但是启动分区不一定是主分区,系统分区通常来说一定是主分区
18,活动分区,一个硬盘有多个主分区,只有一个是活动的,启动后,先找主分区,在找活动的,再找启动文件,启动计算机
19,一块硬盘最多只有一个扩展分区,而且一个硬盘即使有扩展分区加主分区最多四个 ,两块硬盘最多8个
20,主分区可以直接创建文件系统,存放数据,但是扩展分区不能创建文件系统,操作系统的文件系统,NTFS,FAT
21,扩展分区他的作用就是容器,想要创建文件系统,可以进一步创建逻辑分区,也叫逻辑驱动器,扩展分区可以进一步细分,也就是逻辑分区
22,windows盘符删除以后,我的电脑那儿就看不到了,但是实际上,数据还是在的,盘符也可改
23,但是windows里面想访问的话,除了可以分配盘符,还可以分配一个文件夹来访问,Linux里面就都是以文件夹来访问的
24,分配盘符,也可以叫做映射,起个名字而已,让盘符,和我们的文件系统相关联
25,文件系统和盘符关联,与和文件夹关联其实是一样的,磁盘管理器-》更改驱动器符号和路径,关联文件夹以后,文件夹的图标就变化了,一个小盘
26,这种与文件夹关联的操作,就叫做mount,这个文件夹又叫做挂载点,书面说法就是,将分区挂载到哪个哪个路径,这个是Linux的思想
27,这样可以起到隐藏分区的作用,同时可以做成类似只有一个根的效果
28,把系统装到某一个分区,意味着把这个分区挂载到根目录下
29,实际工作中分区,根一个,boot一个,data 一个,主要存放用户大量的数据文件,例如数据库data数据,当然日志要单独出来
虚拟内存
1,Windows里面叫做虚拟内存,系统属性-》属性-〉性能-》设置-〉高级-》虚拟内存通常来说对应的是一个文件,一个分页文件,把磁盘空间当作RAM使用,RAM就是内存
2,隐藏文件,c盘下pagefile.sys, 分页文件是一个磁盘空间
3,Linux里面不建议把文件当内存来使用,他有个专门的技术叫做swap
4,注意swap是专门一个分区,他不对应任何文件夹,也不是挂载点,这个分区专门当内存使用,这个大小,一般是内存的1.5-2倍,这是早期的,现在由于内存已经足够大了
5,根 50G,系统本身没有多大的,50G足够了,主要是数据比较占用空间,boot 1G, /data 30G,做实验用的 ,swap 2G 整体200G得话,还有很多没有用呢,空着以后再用就好
6,逻辑分区可以创建文件系统,也可以直接放数据,但是逻辑分区不可以再进行细分了
7,一个扩展分区可以分很多的逻辑分区,不限制
8,一个机器只有一块硬盘,那么还是要创建主分区,多个硬盘得话,就无所谓了
9,Linux里面硬盘和分区的表示方法,Linux一切皆文件
10,硬盘 /dev/sda,/dev/sdb,/dev/sdc
11,老机器离远一点,硬件有可能都买不到,硬盘命名不太一样,hda,现在已经没了
12,/dev/vda ,这个指的是虚拟机的磁盘
13,硬盘 /dev/sda下面的分区: /dev/sda1,/dev/sda2
14,/dev/sda1 mount on /boot ; /dev/sda2 mount on /;/dev/sda3 mount on /data,下面的4 系统会自动把它识别为扩展分区
/dev/sda5 对应于swap 分区,这个就不是mount了,只是一个分区,CentOS7上貌似也写了挂载,但是这个是不准确的
15,有些文件夹可以有独立的分区,比如 home,usr, var 以及var 子目录,但是有些文件夹是不可以有独立的分区的,比如etc文件夹,必须和根在一起,就好比台湾,dev也不可以有独立的分区,即使可以分,也要分情况,到底需不需要分
16,test,检查一下光盘是不是好的,有时候光盘有坏磁道啥的,或者文件拷贝的不全
17,ctrl+alt+enter 全屏,ctrl+alt 鼠标移出
18,键盘布局,中文和英文是一样的,但是其他的可能不一样
19,basic storage device 对应DAS ,specialized storage device 对应的是SAN
20,主机名,类似于Windows的计算机名,但是有细微差别
21,自己定制分区:create custom layout 这时候可以临时切换到命令行,来查看分区情况 ctrl+alt+F2
22,查看分区:fdisk -l ,分区前没有任何分区,只有单个硬盘,还有另外一个命令lsblk不过这个命令需要装好系统才可以使用
23,还可以使用 ls /dev/sda* 星代表任意字符,通配符
24,无非就是crtl+alt+F6 ,F几可以换回图形界面,试了下 F1可以切换回去
25,选择create之后,我们选择standard partition,当然还有RAID partition和create VM,这个我们到后面再去讲
26,Linux只有自己特有的文件系统,他不支持ntfs,6.9默认是ext4,7.4默认是xfs,ext4得话,历史比较悠久,也比较稳定,建议大家使用
27,分完以后,sda1就出现了,系统自动分的
28,继续分,分完以后,boot成sda1了,根成了sda2了,因为boot一般都是第一个
29,继续分,发现data没有了,那么就只能手写了,
30,系统没有装完的时候free命令是没有办法用的,这时候想要看内存也可以的,cat /proc/meminfo ,内容太多了,这时候我们按住shift + page up,就可以了
31,swap直接就是一种文件系统
32,可以创建bootloader operating system list ,就是机器启动的时候,让选择启动哪个系统的地方,可以装多系统的
33,一般正式工作中,我们会选择minimal安装,但是现在是教学,选择desktop安装,但是即使是desktop安装,也有两种,定制和非定制,定制的可以装一些自己需要的软件,比如说MySQL等
34,默认的gnome风格的桌面,我们的KDE(更像Windows)也装上,体会一下有啥不一样的地方
35,之后就正式开始安装了,安装时我们可以选择,ctrl+alt+F* 去观察这一段时间他都干了啥
36,rpm -qa| wc -l 查看系统中安装软件的个数,后面还会讲
37,装好后重启,第一次启动时会做一些初始化的设置,以后就不会了
38,kdump一般都是硬件的故障问题,内核方面的,暂时不启用了
39,后面还会讲如何破解口令,这一课暂时不讲
40,有些版本都不可以用root登录,只可以需要的时候,切换
41,登录进来,里面有很多游戏,和图形工具。。。。
42,用户名@主机名前面那一部分
43,查看内核版本 uname -r,建议屏保关闭,dhcp默认是有租用时间
44,secureCRT 可以模拟linux的终端terminal -》emulation-〉VT100修改为Linux,这样就可以模拟Linux的终端了,这样后面再次操作的时候,就可以看到颜色了
45,KDE的风格其实和Windows类似的,登录的时候输完用户名之后,密码之前,可以在下面选择桌面类型,terminal时konsole
46, 其实KDE和gnome生产中用的都不是很多,生产中图形界面基本不用的都是远程连接控制terminal
47,注意,如果是普通用户登录得话,显示的是$符号,如果是超级用户的话,显示的是#
48,关机命令:poweroff, halt,init 0,shutdown都可以关机
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 (xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 ) 这些运行级别在/etc/inittab 文件里指定
49,装好配置好之后可以备份虚拟机,建立快照,更彻底的备份的方式就是把整个文件夹拷贝出来,注意先关掉再建立快照,不然会有临时文件,拷贝起来得话,固态硬盘会快很多
50,server with GUI和gnome destop还不太一样,后者就是专门用来进行桌面操作的,他有一些比较友好的图形化工具
51,7里面比较迷惑的是,他swap出现在了挂载点里面,这个其实是不太准确的
cat /etc/centos-release 红帽redhat-release
52,cat /etc/centos-release 查看CentOS发行版本号
53,sr0代表的是光盘
54,安装完初始化的时候,注意网卡默认显示的是disconnected,需要手动连接一下的
55,poweroff 和halt有轻微的不同,一个是关机断电,一个是关机不断电
linux:day01 计算机基础 随堂笔记 马的更多相关文章
- Linux学习-计算机基础
Linux 学习-计算机基础 一.描述计算机的组成及其功能. 计算机系统是由硬件(Hardware)和软件(Software )两部分组成. 硬件: 从硬件基本结构上来讲,计算机是由运算器.控制器.存 ...
- day01计算机基础
今日内容 1.计算机初步认识 1.计算机认识 1. 计算机基础 1.1硬件:cpu/内存/硬盘/主板/网卡 1.2操作系统 linux:免费开源 windows mac 1.3解释器/编译器 补充:编 ...
- day01<计算机基础知识&Java语言基础>
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- 鸟哥的Linux私房菜——基础学习篇 —— 笔记2
at 语法 == 注意,输入at之后便进入命令行模式 ------- 不管怎么样,只会执行一次. [test @test test]# at [-m] TIME (输入工作指令)[test @test ...
- Python学习day01 - 计算机基础
第一天 什么是编程 语言就是用来交流的. 语言+火构成了人类的文明 Python语言用来和计算机交流 通过他和计算机交流,然后完成很多程序员想要完成的事情,就叫编程. 为什么要编程 节省劳动力,更高效 ...
- 深挖计算机基础:Linux性能优化学习笔记
参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...
- 鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 鸟哥Linux私房菜基础学习篇学习笔记2
鸟哥Linux私房菜基础学习篇学习笔记2 第九章 文件与文件系统的压缩打包: Linux下的扩展名没有什么特殊的意义,仅为了方便记忆. 压缩文件的扩展名一般为: *.tar, *.tar.gz, *. ...
- 鸟哥Linux私房菜基础学习篇学习笔记1
鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...
随机推荐
- Linux系统下追加记录到文件中的实例代码解读
今日阅读Linux程序设计第四版,找到一个使用mmap函数的实例 问题描述 该程序主要定义一个结构体,随后利用mmap,msync以及munmap函数对其进行内容追加,定位以及修改内容的操作. 先自己 ...
- Android MVP框架 详细代码
android mvp的好处,网上一搜一大堆,相对于一开始普通的在activity中处理所有的不管是网络请求还是页面渲染,最大的好处是简洁了,废话不多说,看代码 这里网络请求使用了两种,一种是自己封装 ...
- Win10 笔记本禁用/启用自带键盘
文章来源:华硕笔记本怎么禁用自带键盘_虽千万里,吾往矣!的博客-CSDN博客_华硕笔记本怎么禁用自带键盘 在小娜搜索栏中输入cmd,找到命令提示符(cmd),并且右键以管理员身份运行. 在弹出的窗口中 ...
- CAN 接线参考
汽车CAN总线详解 - 汽车人大空翼 - 博客园 (cnblogs.com) 汽车CAN总线 - helloWorld017 - 博客园 (cnblogs.com) CAN总线布线规范 - 不明白就去 ...
- docker 创建 network 指定ip 段
docker network create -d bridge --gateway 172.22.0.1 --subnet 172.22.0.0/16 zk_default
- iOS ProtocolBuffer使用介绍
ProtocolBuffer 简介 Protocol Buffer 是google 的一种数据交换的格式 Protocol Buffer 和 XML.JSON一样都是结构数据序列化的工具,但它们的数据 ...
- 不是用第三方插件,用JS 解析 excel 文件
参考:https://juejin.cn/post/7154395040507232264 excel 表格文件到底是什么 首先要解析 excel 文件,得先了解他是如何存储数据的,经过我百般搜索,终 ...
- IntelliJ IDEA2021.3破解教程【Windows10系统】
IntelliJ IDEA2021.3破解教程[Windows10系统] 以下仅为本人工作.学习过程中所接触到的内容,不足之处请多包涵. 官网下载地址 最新版:https://www.jetbrain ...
- Mysql压缩包版本安装
之前一直使用的是安装包,今天懒得去下载了,直接用压缩包安装,记录一下. 1.先去官网下载压缩包.https://dev.mysql.com/downloads/mysql/8.0.html 2.将文件 ...
- go-fastdfs断点续传功能
1)安装go-fastdfs: 可以从GitHub上获取go-fastdfs的源码,然后使用go get命令安装: go get github.com/sjqzhang/go-fastdfs 2)安装 ...