粉丝1.3万获赞4.8万
大家好,欢迎大家继续来到你这个学习制度基础篇,希望大家继续帮忙点赞转发,大飞在这里先谢了。我们前面一起看了这个系统日志,我们看到系统日志里面有非常重要的一个字段,他就是日志记录的时间。 日志的时间呢,对我们排查错误非常重要,时间不对,我们在解锁的时候可能就直接过滤掉了,或者说解锁出来,无法与发生的这个事件联系起来,因此系统时间的准确性是我们要必须保证的。开始之前呢,大家可以思考一个简单的问题,就是我们系统一直在开机的情况下, 系统会有时钟模块自动计时,但是当我们关机了,而且断电了,那么系统是没有办法运行了,他也没办法去计时了,那我们再次将电脑开机,他的时间还是准的, 这个时间是怎么来的呢?那么他就涉及到我们计算机时钟的两个概念,一个是这个硬件时钟,一个是这个系统时钟。 其中硬件时钟他又叫芯片时钟,他是由我们计算机主板上这个时钟芯片提供的,他会在计算机关机的情况下一直保持走时,而且他是需要用电的,因为我们主板上一般都有块纽扣电池, 他可以长时间给这个呃主板上这个时钟芯片供电。那么系统时钟呢?顾名思义就是我们操作系统提供的这个时钟的模块, 他在开机启动的时候,会去这个硬件时钟这里读取一个初始时间,如果硬件时钟不准了,那么我们会发现电脑一重启,这个时间就不准了,这个时候 那么就有可能是我们主板上这个电池没电了。好了,区分好这个硬件时钟和系统时钟两个概念之后,我们来看看另一个是系统上常见的这个时钟命令。 the data 就是我们的哎,这个日期的英文,然后 h w clock 就是我们的 hardware clock 简写,然后 timedate ctl, 时间日期控制好,我们先来看看我们的 data 命令 data mini, 它是可以去查看这个系统时钟,它直接可以执行,我们来看一下, 那么我们看他直接执行就输出了我们的呃,星期,星期天,然后是月日,然后十分秒,这里是我们的中国标准时间,然后是我们的年份,那我说这个 格式相对来说哎,不是那么易读,我们可以给它指定格式, 我们这里用 data, 然后引号,后面用加号表示要要使用这个指令格式。摆放好大, y 表示年份,然后是间隔符,摆放号小 m 表示月份。间隔符摆放好 d 表示一个日期,然后后边是摆放大 h 表示时。 摆放好大 m 表示分,然后是秒。我们来看一下 奶粉号,我爱 摆放好小写的 m, 摆放好 d 空格,然后是摆放好 h 冒号,摆放好 m 冒号,然后百分号 s 好了,那么他就用我们这个指定的一个格式来输出了我们的年月日十分秒。我们看这个更多的自定格式变量,可以用杠杠 help 来检查, 哎,其实我们可以看到这有个摆放号大写的 d, 大写的 d, 他可以用这个格式哎,我们还可以往下看到摆放号大写的 t, 可以直接输出这个十分秒,我们刚才定义的这个格式,那我们可以简写一下引号加 百分号大 d, 空格百分号大 t, 那么这样也可以达到我们刚才的一个预期,那么它是月日年十分秒,那么这里就是用 data 查看时间, 那我们说除了查看之外,我们还要设置时间,那么 data 命令它支持杠 s 选项,用来修改这个时间。来看一下, 我们把刚才时间直接拿过来, 好用引号, 然后我们把它修改一下,稍微的,比如说二十八号,那么他马上就给你输出了一个修改的结果。 然后这个时候说我们说这个 datagun s, 它修改的时间是我们的系统时间,那我们的系系统时间来自我们系统时钟,那我们的硬件时钟还是以前的那个时间。 我们如果要写入的话,我们可以用 h w clock 用 w, 那么它就可以把当前的系统失踪这个时间写入到我们的芯片失踪里面去,那么我们如果反过来 h w clock 杠 s, 它会把这个芯片时钟读到我们当前系统时钟来,但这个时候我们来看,其实就是修改过之后的, 没有什么区别,因为我们刚才刚 w 已经保存了。那么说完这个 data 命令呢,我们还有一个比较重要的叫 timedate ctl, timedate ctl, 那么它直接执行可以查看我们的系统时钟的设置, 我们看下输出的有一些信息啊,这里是一个说明信息。然后首先这个 local time 就是我们的本地时间 cst 十点,这个没得说,然后我们的 universal time, 这个就是我们的 utc 时间,学会地理人应该知道,那么这个 utc 时间通常于我们格林回字时间, gmt 是做等同的 rtc time, 那么我们可以理解,它就是呃时钟芯片提供的时间,呃,它其实就是硬件时钟, 然后他们用这个时区的概念,这是个常识,我们区应该不用多说,我们的 c s t 中国标准时间是东八区,他要在这 这个 universe time 的基础上去加班,然后我们这个呃是不是要与,他就是说我们是不是要与这个网络的时间进行同步,那么这个 synchronize 就是说目前是不是已经与网络时间进行过同步,那么这是一个服务。 我们通常情况下,我们用到这个 next 下用到了这个网络时间服务,我们说 next 下用到这个网络网络时间同步一般是依赖于两个服务,一个是 ntpd, 呃,我们的 n t p d, 它是 inactive, 我们还有一个是 connie did, 那么这个是 active running, 那么我们的 n t p d 和 crony 我们这里不做过多的解释,但是这两个时间同步服务应该至少要有一个 是开启的,哎,因为我们的系统现在需要和这个 internet 时间做同步,我们修改这个手动修改这个时间的场景其实并不多, 那么两个同时开启也应该是不对的,他可能会产生一个冲突。好了,我们回过来说这个他们对的 ctl 的输出 下面的 r t c in local time 重,这里是 yes, 那么这个有必要解释一下 r t c in local time 重,它的概念很简单,其实就是说 我们的硬件时钟是不是要去和本地时钟进行同步,那么这个 yes 就表示我们的 ad 时间,它就是取得这个 logo time 这个时间, 那么这个在我们 next 下是一个额外的选项,但是在我们的 windows 下,这个就没有没得改,就是这样的,我们的系统时钟和我们的这个啊硬件时钟应该要保持一致的,而且和本地的这个时间应该要匹配的。 但是在我们这里捏个下有个概念,就是我们一开设为 no, 设为 no 之后,它这个 rt 时间它不和,它不和本地时长同步,那那么它会去和这个 utc 时间同步,那么它就会变成啊,从十点变成两点了。那这个机制呢?它有可能导致我们装的双系统,比如说 linux 和 windows 同时装的情况下,呃,我们把这个系统一切换,呃,他发现时钟不准了,总是要快八个小时,或者慢了八个小时,那么这很可能就是有这个机制导致的,所以这个是很有比较了解的。 最后我们的 d s t active, 它实际上是我们的一个下令式时间,是不是要开启下令时?那么这个在我们不开启下令时的地方呢?我们用 n a 不,不开启这个无所谓。那在我们有这个下令式的时间呢?比如说英国 had, 他们可能就需要开启这个选项,那么那么系统会在这个夏令时到来的时候,或者冬令时到来的时候,自动会将这个时钟哎,调整成为当地的这个夏令时时间。我们中国呢,在一九八六年的时候实施过夏令时,但是后面 在九二年的时候停止实施了,我觉得这个原因可能就是实施起来相对来说会有点复杂,对我们这个时时间的概念会有一定的干扰, 当然开启的地方呢?这个 new x 系统会按照当地的这个时区进行自动调整,不需要人为干预,我们主要还是要保证这个时区 time 中是正确的, 那么 time data cityl 它的输出,呃,就是这些信息。那么有几个设置是我们有必要看的。首先就是我们修改设系统时间,可以用 set time, 我们把刚才改过去的这个日期给它改回来, 二十七号 还是七分吧。 啊,他告诉我说这个自动时间同步已经启动了,我们没有能够正常设置,那么这个时候我们需要把这个 另外一个选项是 ntp to 和 force, 要把它关闭,就是 force, 就是关闭我们 time data, 这个时候我们再来。 ok, 那么这个时候我们输出就是之前改过的这个时间了, 而且我们的 ntp 刚才也被关了。 好的,我们在日期同步好了之后,哎,一个比较小的这个时间差异,可以用这个 n t p 来进行同步,而且正常情况下也应该是要用 n t p 来同步的,所以我们这个还是要改过来。 然后我们设置时区,我们说这个时区正常的,在中国是亚洲上。 哎,这个格式是不是像我们来背呢啊?当然不需要,我们其实可以用 list times 列数所有时区,然后挑一个, 我们挑一个雅加达的时间 set time zone 好像都是大白话。嗯, 那么结束了之后我们再看 time data ctr, 那么要加达时间啊,比我们慢一个小时啊, 他是加七, 那我们看到这个 r t c in local time 中它是 yes, 那我们也可以把它改成 low, 改成 low 的方式呢,就是这个 time to the cityl set local 杠 r t c 一表示 yes, no 的话就是零。 我们设置完之后,我们不光会发现这个设置变成 no 了,我们会发现我们的 rtc 时间会去和 utc 时间进行同步,而不是我们的本地时间了。 好,我们的 r t c 时间变成了两点,但是我们的 local time 是 是九点,它是和 universal 来同步的啊。这个时候我们把这个设置还原一下,我们觉得正常的话还是应该和这个本地时间保持一致的, 然后我们的这个时间我们这个时区也改回来, 好,我们再看,那这个时候他就是一个当前比较正常的状态了 啊。所以大家如果后续在 nilk 时钟上看到有这个整数小时的差异,哎。首先就可以用这个 timed day 的 ctl 来查看一下,就可能找得到原因啊, 一般是要么这个时区要不就是这个 rtc no time 中,哎,这个设置不匹配。我们说我们在这个 n t p 网络时间同步,在开启的状态下,这个时间的具体设置反倒还不需要我们手动的去修改 哎,因为它自动和英特曼的时间同步,比我们手动修改要准确好,这边后边留了两个问题给大家,首先是这个 local time, universal time 和 rtc time 这三个概念是需要大家这个能够有很清晰的一个理解的啊,希望大家能够用自己的话来把它解释出来, 哎。然后第二个问题呢,就是我们的这个市场,这个系统时钟和这个硬件时钟必须要一致,对不对?哎?为什么大家能搞懂这个概念和问题,可能对大家用这个命令 哎,更有帮助,哎,我们需要知道我们用这个命令是干嘛的。好了,今天的内容就到这里,有疑问呢,欢迎大家这个评论区里面留言,我们下期见。
欢迎大家继续来到你的学习之路,我们在之前的这个进程管理中已经学习到,软件在硬性的时候还会占据一定的硬件资源,那么它是以硬件为载体的,我们的数据包在这个 客户端请求和服务器响应发送这个过程中呢,都要涉及到一些硬件资源的消耗。我们计算机上常见的硬硬件资源有哪些呢?啊?前面看到其实有 cpu 有内存, 然后我们 cpu 就是中央处理器,它是一个核心的计算资源,我们内存也就是菲斯科 mary, 我们这里主要指物理内存, 那么我们还有这个磁盘,这是个 driver, 他是我们的这个存储资源。另外我们呢, 网卡也给我们提供了这个网络资源啊。我们的 gpu 显卡,他其实也是另一种计算资源,但是在常规的服务器上,他不是我们需要重点关注的对象。 从处理速度来说, cpu 的速度高于内存,内存又高于硬盘,那么硬盘呢,又高于网络。 那么从容量来看, cpu 他有内件的高速缓存,这个容量要小于内存,那么内存的容量一般要小于本地磁盘,本地磁盘比网络呃,容量要小,刚好是反过来的。 那么我们的 cpu, 它是处理速度最快的硬件资源,它的计算能力呢,通常都以这个饥饿资为单位,也就是每秒几十亿次的计算,而且现在 cpu 都是 多和了,所以他的这个计算能力呢,又会翻好几倍。 cpu 的计算能力通常会被分成很小的这个时间片,比如毫秒或者微秒,计的时间 分配给不同的计算任务,那么一个对面的计算任务完成之后,马上会切换下一个任务,我们感觉不到他是一个切换啊,所以我们觉得都是并行的。 但是等 cpu 的这个占用率达到百分之百的时候,那么就意味着我们没有多余的计算资源来处理新的请求了。 哎,这个时候在服务器上那肯定是不行的,哎,我们的业务就会明显感到卡顿或者是不响应了,那这个时候就马上要着手处理,哎,比如说查看这个 cpu 是什么进程占用了 啊,要不要扩容的福气,即使没有达到百分之百啊,他到了百分之七八十,我们可能有必要 持续去关注他。哎,因为他可能是一个警戒水位。我们 cpu 呢,他有自建的高速缓存,他的速度也是非常快的。嗯,因为他的造价昂贵,所以一般来说很小。呃, 运行中的这个进程和他的读取数据主要还是放在这个计算机的内存当中, 内存速度虽然比不上高速缓存,但是它也是相当快的啊,但是它的容量也有限。我们刚开始接触计算机的时候,主流的 pc 这个内存容量还是以 mb 为单位的,比如几百 mb, 那么现在普及的 pc 基本上都开始流行十六级币了,服务器上呢就更大。 所以对内存来说重要的一个衡量指标还是他的内存,我们可能要该关注他的这个内存占用百分比,或者他剩余 这可用内存容量。当我们开机了之后,这个首次运行程序所需要的这个数据啊,这个程序啊,在内存里面也没有,他就会去本地使唤进行调用和加载 本地磁盘,他的特点是这个容量大啊,动不动就是几百 g b 或者好几个 t, 比这速度呢,他就比内存要慢不少。 所以这有个感觉就是我们使用计算机的过程中,偶尔遇到内存用的差不多了之后,哎,用完了之后这个系统就变得非常卡, 然后硬盘灯在那里狂闪,这个就是因为内存用完了之后,系统调用了一部分的这个硬盘空间来做虚拟内存,而硬盘的速度呢,我们说是跟不上物理内存的, 这个会变得很慢。当然这个也没什么好抱怨的,因为物理内存用完了之后,如果没有这个虚拟内存机制,系统继续运作很可能就会死机了,慢一点他总比死机要强。 而我们的虚拟内存,哎,如果熟悉系统的话,就是我们在 windows 下能够看到的分页文件,或者说你这个下提过的这个十万普空。我们硬盘的重要的参考指标有两个,一个就是它的容量使用百分比,或者说我们剩余可用的磁含容量。 那么另一个就是我们磁盘当前的这个读写速率,也就是磁盘的 io, 他通常有两个单位, 一个是以 lps 为单位,就是每秒多少次读写,另外一个是 mb 每秒,也就是每秒多少兆的读写。 最后一个要调用的数据,如果在本地磁盘都没有,那么我们就要借助于网络,我们需要去互联网上去找,那么网络的情况就要看实际的条件了, 但是我们一般会认为这个网络速度肯定是要低于本地示范的,那么他会有在接入的,是会有一个总贷款,比如说我们从电信或者移动接入这个五十兆一百兆的贷款, 那么还有一个就是当前我们的贷款的一个使用量,也就是占用这个总贷款的百分比, 那么这个贷款呢,他的单位是一照 bps, 也就是每秒钟 一照 b, 大家注意这个 b, 这个贷款用的照 b, 这个是小 b, 那么换算成这个大的 b, 那么他要除以八一照 bps, 那么他是等于 零点一二五,这个大写的 mb 美颜死了,也就是这边的内存和磁盘用的这个单位,他在换上要除以八的, 那么他等于一百二十五 k b 每秒。也就是说我们的贷款如果拉进来是一照的,那么我们的下载速度实际上理论值最多可以达到一百二十五 k b 每秒, 那么实际上呢,呃,因为他还有一些额外的损耗和开销,那么我们总是感觉到这个比这个还要差一点, 我们的硬件资源呢,他们都是有限的,那么他跟一个呃水管一样,哎,如果拉的很长的话,任何一个地方堵住了, 哎,也就是说这 cpu, 内存、硬盘、网络任何一个地方不足了啊,已经用满了,那么他们都可能对 我们的业务造成影响,所以呢,我们还是有必要对他们进行一些了解的。首先我们来看 cpu 和内存, 我们之前学了这个套盒命令啊,已经可以对 cpu 和内存的占用率呢进行实时输出了啊,应该说那个信息呢,还是很有用的,那么我们今天来补充一下相关的命令,有一个我们可能比较关心,但是并不是那么重要的,就是看这个 cpu 的这个 规格和型号信息,哎,可以用 ls cpu 这个命令啊,这个命令也很好理解, ls 就是列出,那么 cpu 就是看 cpu 的信息 scpu, 那么他输出的信息当中我们可能比较关注的他是一个 x 六杠六四价格的,他支持三十二位和六十四位的运算, 他 cpu 的个数,呃每个盒有多少现成,然后这个,然后这里比较重要的他的规格是英特的自强铂金版的八幺六三 cpu 主屏是二点五 g 盒子。 那我们实际上这个这个 cpu 他是一个多盒的啊,我是一个阿里云的这个虚拟机,所以他的啊,我买的是一盒,所以他对这个 cpu 和进行了限制。那么 cpu 的主屏, 然后这里有他的这个啊,一级二级三级缓存,也就是我们刚才提到的 cq 自建的这个高速缓存, 那么这是用命令来输出,当他实际有一个文件也可以直接查看,也就是我们的 gun proc 下的 cpu info, 那么他输出也类似,然后我们 cpu 看这个信息其实不是很有作用,也就,嗯满足一下我们的好奇心。真正有作用的可能还有一个命令就是 oftem, 那么这个就跟我们的 top 的第一行输出差不多,他可以看出我们的系统从上次开机到现在运行的多长时间,然后有一个用户登录,然后他的呃平均复载,其实是 cpu 的复载,就是说在过去的一分钟 和过去的五分钟以及过去的十五分钟平均负载是多少,那么这个数字其实对我们的呃福气的使用是更有参考价值的。我们再来看内存,其实跟 cpu 的模式差不多,那么 呃, icpu 查看 cpu 信息,那么 lsmem 也就是 memory 的缩写,可以查看内存的信息, 那么他输出了我这个内存的一个地址范围,然后他的大小是一计有八个块,零到七,每个块是一百二十八兆,那么其实这个也没有什么特殊的意义啊,我们还是要通过这个 cat proof number info 可以看到更多的使用细节 啊。其实对初学者来说,这个细节他可能,呃太过详细了啊。我觉得更有用的是我们另外一个命令 three free 的输出,他和套房命令中的这个内存输出差不多,但比较简洁一点,默认他也是以 kb 为单位输出了这个内存的总容量,已经使用的 空闲容量啊,共享的以及这个缓存和最后可用的空间,那么这看起来可能不是很直观,我们还可以用一个呃选项,就是杠 h 选项, 他是 human readable, 其实也就是一个更易读的方式来显示 three 更。而且 我们大家看到他已经把这个单位给我们自动转换成 m 了啊,我的总大小九百九,已经使用四百三十六兆,然后 free, 然后我们比较有用的其实是这个, 虽然我的 free 很小,但是我的 ivabo 有三百二十三兆,可以粗略式认为这个是 free 空闲的空间,加上我们这个巴弗 k 系当中有一部分系统认为可以回收的空间。 好了,我们今天的内容主要就是介绍一下呃,这个一年资源以及怎么查看 cpu 和内存的, 然后我们下次再看看其他两个资源。我们给大家留下一个练习,就是在自己的这个学习环境上去运行服务器软件, 然后分别使用。我们刚才介绍 top 和 free 以及 up time 命令,来查看一下系统的复杂。好了,今天的内容就到这里,我们下期见。
我们这次来了解一下 linux 的文件及目录管理,我们要理解 linux 的哲学就是一切皆文件,因为几乎所有的东西 都会表示为文件,无论是他的硬件设备,信息流还是存储数据。这意味着操作系统中很多交互都是可以通过读写文件来完成的。 我们这里讲解一下针对于文件和目录管理的一些常用命令。首先你可以假想一下自己是一个创造者, macdir 是创建目录,你可以把它理解成呃,用它来创造你的房子。这个 touch 命令是创建文件,你可以把它理解成呃,用它来创建你的房间。 c p, 它 是复制命令,相当就相当于 windows 的右键复制。这样子,你就是说你可以把你的房子或者说房间快速拷贝到另一个地方一份。然后呢是 mv, 这个是减轻命令, 你可以把你的房子或者房间移动到另一个位置,也可以用作重命名的操作。最后呢是我们的 rm, 他是一个删除命令,这个命令可能就会相对比较危险一些,一不小心你家就没了。好的,我们来操作一下。 首先把这个先注视掉,首先呢,我们要先创建一个自己的房子,我们的目录我们就可以用到 macdir 创建,他的名字叫小圆。好,现在我们要进入这个房子之内,就用 cd 命令,我们想在这个房子之内 呢,创建一个房间,这里就可以用到我们的 touch, 比如我们想 touch 一个厕所,但是呢,我现在觉得一个可能不太够用,我需要再创建一个厕所,这里就可以用到我们的 cp 命令,我们给他创建一个 super 厕所。好,我们现在可以用 list 查一下, 可以看到我们现在已经有两个厕所了,但是呢,现在我想把这个厕所变成厨房。那应该怎么做呢? 这里就可以用到 mv, 比如说我想把我们的厕所变成厨房,我们再来查看一下,可以看到 一个厨房,一个超级厕所。那现在呢?我们觉得只要能拉屎就行,不需要吃饭就可以把厨房删掉,这里就可以用到我们最后的删除密令,我们的二 m 二 m 厨房。确定好,我们 我们再来查看一下。好,这里可以看到我们只剩了一个厕所了。 ok, 到这里呢就讲完了,我们的文件目录管理啊, see you, 那拉。
同学们好,今天我们继续来学习 linix 系统基础课程,我是讲师李庆如,今天我们来开始第九章 linix 启动流程及服务控制的学习,那么第九章一共分为五个部分,第一部分是系统的启动流程, 那么第二部分是来配置我们的布特老底 brob 程序,然后呢第三部分来解决我们启动当中的一些故障, 然后呢第四部分是通过 cctv 这个程序来管理我们系统的一些服务,第五部分是来讲解我们林尼克斯里面的模块管理,那今天我们来先来学习系统的启动流程, 那么对于一个做运维的人员来说,我们一定要熟悉啊,计算机的一个启动流程,那么具体的一个 计算机从开机按电源开始,到我们的系统能够加载正常使用,那么大致分为哪些步骤呢?那么大家来看一下。第一就是当我们按了电源以后,那这时候我们应该有一个家电自检的过程, 这是我们的系统啊,主板上有一个家电自检啊,这个是从 ibm 开始了啊,然后他设计出来的就是就是上电自检这个叫 pos 的自检, 然后后侧字典以后,他就会呢把他的这个硬件给检测到啊,这个里面涉及到一些基本的一些检测硬件, 然后呢他会把我们这个控制权给我们主板上的一个什么样 boss 芯片,那么这个 boss 叫什么呀?这个 boss 叫基本的输入输出系统,那么 传统的 boss 啊,现在还有比较新的优异 f i, 那我们都叫做 boss, 叫基本的输入输出系统,总的来说按电源以后家电自检, boss 管理我们的系统的控制权,检测硬件,然后在 boss 里面他有一个启动顺序, 那么检测硬件以后,他要启动我们的系统,这时候他决定要从哪去启动呢? 那在半小时的配置界面里面,在启动的顺序当中啊,有什么光盘启动,网络启动,什么优盘启动,硬盘启动等等。 那总的来说,当我们安装了操作系统以后,我们操作系统一般是装在硬盘上的,所以第一启动顺序一般我们就配成了硬盘启动,那么这时候那拜尔斯就会去, 因为已经检测到硬盘了,那这时候他就会去哎,查看这个启动顺序以后会去找这个硬盘。找到硬盘以后呢,那么要读取硬盘里面的第一个山区, 那么我们前面讲这个词盘管理的时候知道的第一个单区一共有五百一十二个字节,那么这五百一十二个字节里面前四百四六字节装的我们叫什么呀? mbr, 也就是说当他一找这个启动顺序呢,引导,然后呢找到我们硬盘以后,一读取到了第一个单曲里面的前四百四六字节里面的什么呀? 这个安边,那么安边里面装的叫什么?装的叫什么呀?他这个程序吗?我们叫做布特劳特啊,叫启动加载器,那这个布特劳特呢?呃,肯 令不种不同种的操作系统,他这个加载器不太一样,那你比如说在 windows 里面,我们这个葡萄老点叫什么呀?叫做 nt, 老点,在利尼克斯里面我们用的比较多的啊,主要有两个程序,一个叫 lilolilo, 再一个叫 garage, 还在一个叫 crab, 总的来说,那么这个引导器的作用是干嘛呀?他就是要找到我们系统的什么呀?内盒,也就是根据葡萄捞点里面的设置,然后去加载我们系统的内盒, 然后呢内行就开始侦测硬件啊,只要把内行加载起来以后,也就操作系统的核心加载起来以后,那么就开始检测我们的硬件,并加载我们文件系统 一些驱动程序,然后重新会检测硬件,那么硬件加载成功以后啊,这些驱动加载成功以后,那么对于雷尼克斯来说啊,对于雷尼克斯来说,我们的利尼克内涵会呼叫 一个程序,那么这个程序呢?也就是系统的第一个程序,在 cntos 七之前,那个程序叫 sysvinit 程序, 那么在渗透 s 七以后,现在我们几乎很多的雷尼克斯都已经改成了这个程序,叫做 csmd 程序, 也就是说 ct 程序,是我们系统内核加载完以后啊启动的第一个程序,然后呢他会去读取啊,默认 的他盖头,他去看默尔的他盖头这个 ctmd 里面啊,他这个他盖的叫目标,就是我们将来以什么样的目标来启动呢?那么要以北 fo 的的目标来启动, 那么得否的目标来启动的话,那么一般情况下要看你这个系统设的这个也在 etc 下有个 c 层, d 下有个 cc 层, 下面有一个 define 塔盖的来查看这个文件,那么可以看到当我们来查这个文件的时候,他已经定向到他其实是个链接文件,他链接到哪呢? u s r live c 他们 d c 他们下的马铁有点怕改的,他也就是以这个目标来进行启动啊。马铁有点来进行启动了,那么 要执行这个 matt 优点启动的话,那么 matt 优点要依赖于两个,另外两个他 gett, 一个叫 cciit 他 gett, 一个叫 basit 他 gett。 那这两个就是干嘛呢?这两个趋势主要是做系统输入化, 就这两个他该他主要是做系统初始化,初始化完成以后,你比如说我们要加载什么?瑞的阵列呀, lvm 的文件系统啊等等什么?呃,指教国像一些我们这个词盘配额呀等等这些啊,都在这个系统初始化的时候来做, 做完了以后才会启动,我们默认他盖的。我不刚才说了吗,一般我们都是 mate 右脚踏盖的,然后 mate 右脚踏盖的里面就会加载很多的服务啊,很多的服务, 然后加载完了这些服务以后,然后呢会执行一个文件,就是 etc rc 点 drc 点 logo 文件啊,这个文件大家我们前面已经用过了。 etc rc 点 drc 点什么呀? logo 文件, 这个文件要想生效,那么一定要给他什么样可直行权限,这样的话他才能生效。 那么这是当我们把所有的系统服务加载起来以后,最后要加载的一个文件,所以很多啊,管理员,我们可以把我们管理员随系统开机启动的文件写在这个文件里面来,而且命令写在这个里面来,这样的话当系统一开机,他就会加载起来, 然后呢就会执行 get tty 点他 get。 其实这个目标的作用是干嘛呀?得到终端,当我们要登陆 系统,要操作我们的系统,那么肯定要有一个终端,那这时候,然后呢,让你得到终端以后,让你登录你的服务器,这时候你输入用户名和密码就登录上来了。 如果说你要是执行图形界面,那么你还要加载 graphics co 他盖的里面的所有的一些和图形界面有关的服务,这样你就能够登录我们的系统了。 那么我们来总结一下,其实系统的启动流程主要是这么几点,第一点就是家电自检,第二把空间给谁啊? boss, 然后呢有 boss 找到我们的启动加载器,也就是布特劳达。对于理尼克斯来说,我们叫 garaba, 那现在在我们这个渗透 s 七里面,我们用的是 garab two garaba 二这个程序,然后 garaba 二的程序呢,再去加载内行,内行呢开始检测硬件,并加 在各种驱动,然后呼叫随从 d 程序,加载各种处理化程序,然后加载,看你的得负责他干的是什么,然后加载服务,然后给终端进行登录,大致的流程就是这样的, 那么在这个启动的流程当中,那么布特老大他的功能啊,就是这个加载程序很重要,如果布特老大出现问题,那么将来你的系统是引导不了的, 因为 boss 这个基本的操作系统是镶嵌到你的主板上的,在我们的主板上有一个什么呀? c 帽子芯片啊,通过 boss 这个程序来控制这个 c 帽子芯片, 那么布特捞点呢?它主要的作用就是提供选单,你有提供选单,用户根据选择可以不同的开机选项,比如说我们的系统可以装双系统,那么我可以提供两一个菜单 出来,你你装了一个 windows, 同时又装了个零零克斯,那么你可以选择是以 windows 系统启动,还是以零零个词系统启动,所以提供一个选单功能。那么还有比如在另一个词里面,我们可以选择正常启动,我们还可以选择什么救援模式、排障模式进行启动等等。 然后呢,布特勒的最重要的功能就是干什么呀?加载我们的核心文件,其实就加加在内核,那么直这个内核呢?一般放在哪呢?这个内核呢?他放在这个程序里,放在这个部分这个部落里面, 大家看在我们的系统的这个不同目录里面,这个其实就是我们系统加载的内核啊, vm 零六个四三点一点零啊,这个就是我们系统加载的内核。那大家可以看到啊,我们来查一下 df 杠 ht, 我们来查一下这个步骤分区,这个步骤分区呢,其实是我第一块硬盘的第一个分区,那大家看他是个叉 fs 稳健系统,然后他在单独分区的,他和我们的李女子跟分区啊,是两个独立的分区,当然也可以分到一起 啊,也可以分到一起。好,这是葡萄捞点最重要的功能,就是要加载我们的什么样内盒,然后引导起我们的系统来,他的最重要的作用是来加载内盒,然后呢葡萄捞点呢,还有一个作用就是可以把我们的控制权给其他的老点 啊,给其他老胆,那么这就是不脱老胆的最重要的一些功能。 那么对于这个 windows 的这个布特劳点呢,我叫恩提劳点,恩提劳点呢?他没有这个功能,不要把他这个转交给钱, 他的那个老点他是没有的啊。那这就会涉及到就我们有的同学在装窗系统的时候,那么你一定要先装什么呀?这个 windows 再装什么?黎牛克斯。那大家来看一下,我给大家画个图,让大家了解一下这个问题啊。 那实际上我们这个系统啊,这是我们的硬盘啊,那这家硬盘里面最一开始他应该知道是 mb 二, mb 二,然后呢,你又分了区了,你又分了多个分区,那你比如说你这个分区里面可能装的是零六个子, 然后你这个里面可能装的是 windows 啊,然后实际上啊,你还可以装其他的操作系统啊,其他的操作系统, 这都可以八字。然后实际上每一个分区他都有一个启动山区,启动山区在这啊,我在这画一下,启动山区在这,启动山区在这。 实际上每个系统装的时候都会在这装一个引导,引导程序啊,引导程序,那你比如说我们这个,呃,李尼克的装的是可能是格拉吧, 嗯,然后那温度是可能就是 n g 老大, n g 老大啊, 问题了的。那么当我们第一,如果你装上系统,你把你的 linux 装在这以后啊,那 linux 肯定要把这个引导程序 google 第一部分先装到这, 但是这个地方他只有四百四六字节,他是装不完所有的程序的啊,所以那么他要提供一个选单功能,能指到后面来 啊,能指到后面来,那么 windows 也是一样,当你在你先装了另一个,当你再装 windows 的, windows 又会把他的一些加载程序覆盖这, 但是 windows 的这个哦,当然呢,他这个问题劳当呢?他没有这个指针功能,他说他我指到这个尼尼格子这来,指不过来,所以他只能引导谁了呀?你装了这个 windows 以后,如果他把 mbr 给覆盖了以后,那么他只能引导 windows 了, 那你的 linix 你先装了,他覆盖了,他引导不了了。那么第二种,如果你先装 windows, 先装了 windows, 在这装了,然后再装 到林尼克斯了,那么林尼克斯呢?这个格 rap 他能提供一个指针过来,能引导这个温斗斯,也能引导什么样?林宁克斯。所以如果你的系统呢?你要是装双系统的话,建议你应该干嘛呀?先装 windows, 再装 linebox, 让 linebox mbr 来覆盖 windows 的那个启动者加载器,这样就可以双系统启动了啊。 那么这 grub 我们知道了。尼尼克斯,那 grub 呢?他在加载的时候是分为三步,第一步就是 mbr, 那么在第一个山区的四百四六之间, 那么第一步他装不完这个格拉巴的程序,格拉巴程序很大,而且我们广的,另,我们的内坎我们刚才也看到了,他放在哪啊?放在布的分区里面,而 布特分区啊,他是有文件系统的,而这时候因为你现在还没有加载器内盒来,你根本识别不了我们放在这个文件系统的上的这个上面内盒, 所以他会有一个第一点,五步,也就 mbr 之后的山区,其实是从零,这是从第二个山区到哪啊?第六十三个山区,一般是这, 然后这个里面会提供一些,就是你第第最后第二步,其实相当于是第三步的一些文件系统所有的驱动,这样有了这个, 把这七栋放在这个第二个山区到六十三扇区章,然后你加载了 mbr 以后,加载一点五步,这样你就有一些这个文件系统的驱动了,文件系统驱动了,你就可以加载谁啊?你就可以加载内行了 啊,你就可以加载这个放在这个文件系统里面的内行了。你看,你记住你的文件系统放在这,那么这个布特是有文件系统的,那么你格拉伯还没有加载内行,你怎么来加载文件系统呢 啊?文件系统呢?所以他得有一个一点五步的阶段,然后呢提供第二部分他所在的一那个文件系统一些驱动,这样就能加载我们那块了。 但是啊,我们的内行呢?我们的内行也可能放在哪啊?也可能放在这个,你看他要加载根系统,那么根系统呢?大家来看一下,我们这个 他要加载根,那我们的根放在哪呢? df 杠 ht 根, 那根是放在什么呀?这个 lvm 圈,这是一个 lvm lvm 证。那么知道 linenex 设计啊,其实是 linenex 的内行,加什么呀?加模块,而我们的模块放在哪了?放在这个里面,记住我们 linenex 内涵是很小的, 那么内盒做的小,然后把一些其他的功能做做成了模块,进行动态加载,那么要加载内盒了以后他要加载模块,那这些模块放在哪呢?你比如说你要识别这个 lvm, 那么你要加载 lvm 的模块,你才能识别这个跟文件系统, 所以这就是个两难的问题,先有鸡还是先有蛋?还是先有蛋?还有还有先有鸡,因为你要想加载根,那么你得认识根的文件系统, 因为根的文件系统放在什么呀? lvm 卷上,但是现在你不认识,因为你还没有加载根呢,而且你要想识别这个根文件系统,你要加载 lvm 的模块, lvm 模块放在哪呢?放在根上, 所以这时候呢,我们还有一个叫虚拟文件系统,就是这个文件叫 itrbfs 这个文件系统。那么这个呀,实际上一个是个瑞木的一个 disco 的一个文件系统,他能够通过 garaba 进行加载,因为加载这个布特分区呢,布特分区基本上都是基本基本的格式的这种分区,而不是什么 lvm 卷等等 啊,不能放在 fm 卷上。然后呢,那么他的文件系统我们应该知道了,刚才咱们再查看一下,你看他是一个 基本的文件系统类型,然后呢我们加载这个,他就会把这个给释放到内存中,这是一个虚拟文件系统,我们可以通过这个命令来看一下这个文件 为埋伏这个文件,这个其实大家可以看到,你看他实际上 就是一个文件系统,你看他都跟我们的那个跟文件系统差不多,有点色赖不?那我们上面还有再找,我这个不去给他看了, 总的来说他这个东西啊,其实就是个文虚拟的文件系统,然后也就是我们系统葛 rap 主要加载俩文件,加载这个,一个是加载这个,加载了这个以后,我们在我们的这个内存中啊,在我们的内存中就有了一个 虚拟文件系统,然后只读的状态再加载一个根,加载内横,这样的话就能再加载我们的根文件系统了,所以 group 是很重要的,大家可以看到这两个文件非常重要 啊,一个是内块文件,一个是虚拟文件系统,然后我们看到这个虚拟文件系统,他要以制度要加载到啊,把他有布特分区当中,加载到哪去啊?加载到内存中, 然后你就有了一个根,然后呢就可以加载内盒,加载那些模块,然后再重新以读写的形式再挂在根本家系统,这样我们就可以启动下来了 啊,可以启动起来了,然后启动了以内行以后,我们要处置化了以后要加载服务,那要比如说你的这个, 这个 c tmd 启动起来以后发现你的得,否则是马腿有点塌盖的。那这时候你要加载哪些服务呢?你可以通过这个命来查看一下 ctmd list 啊,来查看一下我们这个 cctv 啊, ctv ctl list, 累死他啊,加载一下马铁右边所依赖的服务,你看他要加载这么多的服务啊,这些服务一共是八十九个,你看他要加载这些服务。 marty 有点瞧不起他,像不像艾特帝服?这是一个审计服,你看 crondie, 这是一个什么服务啊?这是个计划任务啊,比方说你看 ngx 呀,网络呀,啊, readyce 呀, posephys 啊, log 呀等等。然后你看杯子 他改的,这里面包括什么服务,然后呢?这个你看加载这些服务,然后呢?肯定有 ccit, 他改的,然后要加载哪些服务?你看他们主要做诉讼处的话,主要你看是 lvm 这些东西啊, lvm 东西, 所以这就是我们系统的一个启动流程,那么 girl 在这个中间起到了一个非常重要的作用, 所以我们同学们呢,一定要熟悉这个系统的启动流程啊。我们从开机按电源开始,然后呢?家电自检, pos 的 啊, bios 啊,然后把控制钱给谁呀?给 grobble, grobble 要加载内行,只要他能正确的把内行加载起来,然后再加载 cctv 这个第一个程序,然后做系统退化,加载各种服务,得到终端 输入用户名密码,登录我们的系统。好了,同学们回去以后啊,一定要完成我留的一些课后练习题,一定要对系统的启动流程进行熟悉,然后这样我们才能解决啊有于系统引导出现的一些故障。
大家好,欢迎大家继续来到那个是学习之路基础篇,我们今天呢来讲一讲这个磁盘资源的管理,因为我们前面刚刚讲过这个 cpu 和内存的占用率如何查看, 而且我们一般对 cp 和内存从系统上没有办法直接做什么改动,主要就是查一下占用率,然后查一下对应的进程。 而我们的磁盘空间呢,也是有限的,我们在系统里可以对磁盘进行很多修改操作,而且磁盘的这个考察维度相对比较多,磁盘管理呢,甚至可以单独拿出来做一个板块。 这里呢我们将分几期对磁盘管理的一些简单实用的命令都讲解一下。首先抛出我们的问题,就是,哎,这个磁盘空间怎么样查看是不是快要满了呢?那么我们有一个很实用的命令 叫 df 命令,他的英文全称是 disc free, 那么 df 命令就是 disc free 的首字母缩写。 我们来看一下 df 直接输出,那么他跟我们其他的命令一样,那么他默认都是以 k b 为单位。我们还是和前面几个命令一样,用一个杠 h 选项,就是 human readable, 以更易读的方式来显示 df 杠 h, 那么比较有意思呢,就是 df 出了杠 h, 这个是小 h 啊,但是他还提供了一个 杠大 h 的选项,我们说在零六 s 下是严格区分大小写的,大写他 肯定是有不同的含义,那这里大,也许他他可以把这个 df 统计的结果变大了。我看到这个啊,本来是五十 g 的,那么现在变成五十四 g 了, 这个怎么可能呢?就是我们的磁盘还能自己变大吗?啊?当然不是啊,这只是一个统计方式的一个变换,因为在系统里面的我们的统计容量啊,都是以一零二四为单位的,比如 emb 他就等于一零二四 kb, 那么一击币呢?他就等于一千零二十四 mb, 但是持盘厂商呢,他们自己搞了一个标准,就是按一千来进位, 哎,就说这个 emb 等于一千 kb, 那么一击币等于一千 mb, 那么这样就导致我们的磁盘拿到手之后,比如说是五百 g 分区 进了系统,那么系统识别的总是要少一些,那这里是个小知识,大家明白就行了。我们重点还是看一下他的输出, 比如说这里他输出有六个列,那么第一个列 file system 就是文件系统,那么他实际上是设备分区的一个路径, 我们看到他有这个 tmpfs, 那么 tmpfs 解释一下,就是他基于内存建的一个临时的文件系统, 那么这个不是我们重点要关注的对象,我们真正要关注的时间是这个杠第一 v 下的这个设备,我们就看到杠第一 v 下有一些这个路径,我们可以去这个系统上看一下。 好,我们看到他有很多,那么我们来看一下这个 sda 开头的, 那我们看到有三个,嗯,虽然这个机器上只有一块磁盘,那么它识别到的是 sda, 而 sda 一和 sda 二是他这个安装的时候,呃,对这个 sda 进行了分区,分成了两个区,然后我们再看他的第二列、 第三列、第四列升到第五列,分别是这个磁盘的塞子, 也就是当前设备的容量有多大,那么然后又是的就是我们已经使用的空间, 然后这个是 vivo 的简写,那么还是他显示的我们还剩余的一个空间。然后第五列这个 us 百分比, 这个应该好理解,它都是字面的意思,就是当前的这个使用量占这个种的这个塞子的一个百分比。那么最后一列莽铁的昂 忙铁当是什么意思呢?我们为了便于大家理解啊,这里也补充一下这个 money 相关的知识,就是 money 在中文里面就是挂载的意思, 这里可以粗略的理解我们在 windows 下的一个盘符,我们在那个学习之后,第二期那个系统文件目录结构中也有说到这个啊,我们那个下面不是用 c 盘、 d 盘这样的 盘符来排列的,那个是由他自己的一个固有的文件结构,那么这个杠就是我们的跟分区,然后我们的六个下面默认呢?还有其他一些,比如说我们跟分区下面有 made、 mont 和 opt 三个 个空目录,那么这些空目录是你这个是文件系统默认创建一些现成的,给我们来挂载其他的这个设备的一些目录,比如这个没点或者 opt 可以让我们来挂这个光盘 啊, mt 我们一般用来挂在这个第二次盘等等,这只是一个名字,大家可以根据自己的需求来挂在。那么我们 df 刚刚 h 输出来的这些 dv 下的 map 像 cl, rut 挂在到了根目录,然后在 dv 下的 sa 一,也就是我们的 sda 磁盘第一个分区他挂在了不同目录, 然后我们的 dv 下的 map 下的 cl 跟 home 挂掉,到了我们现在的一个加沐浴露, 那我们这里可以拿这个加木来看一下啊,如果他挂掉了这个加木的,就说明我们的这个钢号是我们对这个设 的一个入口,我们可以把刚 home 当做一个正常的文件来访问,比如说我们 cd 刚 home, 我们看到他们下面,他下面是有一些文件的,包括我前面写了一个 test 的文件, 一旦我们取消了这个挂载,然后我们再来看这个 df 杠的 h, 或者再看这个杠后,他可能就没有东西了,我们可以试一下啊。我们这个手工挂载这个和卸载的命令呢, 分别是 month 和 u month, 那么挂载的话,它的命令是 month 后面空格加这个设备路径,然后后边再加上这个挂载点,那么 u mont 的话是 u month 设备或者 u mont 这个挂载点都可以。我们来看一下, 我们说这个 home 钢 home 已经挂在上了,我们先把这个钢 home 给卸载掉 umont 钢 home, 那么这个时候他会提示有个错误,就是他给的是 b z, 这是因为我们现在在这个陌路下面啊,在用这个陌路,那就好比说我现在不能说站在这个凳子上,我把这个凳子从底下抽出来,那我们先要退出去, 然后再来 umon gum home, 我们再来看 df 杠 h, 哎,我们发现刚才的钢化膜已经不存在了,那我们这个时候再去钢化膜看 他实际上这个 com 下面就是一个空的末落,因为我们这个挂载点已经被撤掉了,那么这个 com 他就是一个空的。我们说这个 hom, 虽然这个挂载撤掉了,但是这个设备呢?能不能直接找到呢?我能不能 直接找到那个设备去访问这个设备啊?那这里回答是设备我们可以找到,哎,但是我们不可以直接去访问 这个设备,就是刚才是看到的是第一位像 map, 像 cl home, 哎,直接看他是一个链接,他实际上链接到了他的副目录下面的 dm 跟二这个这个文件,我们来看看这个 dm 跟二是个什么东西。 好,他不是一个目录,我们再看一下。 好,这里可以看到他实际上是一个 b 字头的,我们这里要说一下就是个 b 字头的,他实际上是一个快设备的意思,那快设备也就是我们的磁盘,我们的磁盘就是快存储设备,我们可以理解磁盘的数据是一个数据快, 这个是快往里面存的,那么对这个快设备我们没办法直接去访问他, 那他不是一个目录,那么他是必须要挂载之后才会有入口的,就跟我们这个温度是下的磁盘分区之后,我们要分配 cde 这样的盘幅一样,如果没有分配盘幅,那你这个分区即使分出来了也不能直接反问,然后我们把它挂回去。 有帽子迷你 go home。 好,这个是我们在 df, 我们刚才的这个号末都已经出来了, 刚才取消吊挂的时候消失了些文件,现在又回来了。 那么到这里呢?相信大家对这个 df 命令的这个基本用法呃,已经有所了解了, 磁盘操作相关的这个内容,它的实操性很强,对磁盘的操作在生产环境是需要非常谨慎的,那么操作不当很可能会导致数据丢失,那么希望大家在测试环境里面多多练习, 那么最后这里留了一个练习给大家,就是大家在自己的测试环境做好快照或者记录之后,那尝试来练习使用这个 df 命令, mote 和 umome 命令 来对着这个磁盘进行操作。好了这期的内容就到这里,更多磁盘相关的命令呢?我们下期一起再看。
ok, 然后比如说我在跟目录下面,我想查看当前目录中的内容, 当前目录中的内容 ls, 查看当前目录下面有哪些内容 l s 命令,查看当前目录中有哪些内容,那么斜杠是跟目录,那么跟目录下面有并 d e v home 列宝六十四 mnt, 看到了吧?就是这个图片上面所展示的内容, 这个斜杠表示逆流克斯的跟目录,这个跟目录就相当于 windows 里面的,我的电脑只要一打开之后,那么就可以看到这里面所有的文件夹内容。 有病布特 d e v e t c, 看到吧。 ls, 查看当前文件加重的内容,然后还有 pwd 查看当前是在哪个目录中。 pwd, pwd 之后你会发现他只提示了你一个斜杠,看到吗?那么就代表你当前在根木路下面, 那么接着看 cd 是用来切换目录的, cd 加上目录的名称或者目录的路径, 那么我们看一下啊。呃, ls, 当前目录下面,我找一下,应该是有一个叫 home 的文件夹,对吧?第三 三个,第一排第三个 dv 旁边这个是 home, 那怎么进去呢? cd h o m e home a, 然后再 pwd 查看一下 当前的路径,你看 pw 显示的,我是在根目录下面的 home, 能看出来吧,因为他开头是以根开头的,根目录下面的 home 文件家族,那我 home 文件家族里面有哪些东西呢?那东西挺多的,看到吧。 那么我再接着 cd, 我想进入 asdw 这个目录,我这边是不是有个 asdw 啊,能看到吧,让我 cd 空格 asdw, 哎,我就进去了,我再 pwd 查看一下, 看这个路径跟木木下面的 home, home 下面的 a s, d w 看到了吧?然后 l s 查看 a s, d w 下面有哪些东西呢?有 a 一和 a 二两个文本文档,看到了吗? 那么你说我想从 asdw 切换到 home 目录怎么办?就是返回上一级目录,那么就 cd 空格点点 怎么了?那你让他进来听啊, 他自自带电脑吧。行,那他们过来呗。
next 查看硬件信息的几个命令,非常实用?第一个命令可以查看内存条的详细信息,可以看到多少槽位,哪个槽位差了多大的内存。第二个命令可以查看硬盘和分区的信息,非常直观。 第三个命令可以查看硬盘的品牌,那第四个命令的话呢?可以查看网卡的硬件信息。第五查看网络接口和 ip 信息,命令非常多,我放在评论区,觉得有用的点赞收藏吧。
很多小伙伴对庆福临时方向开发是非常感兴趣的,那么你一定要搞清楚临时的系统结构。首先我们来看这个图,那么上面是用户空间,下面是内核空间,最底层是硬件 拥护空间,当中有我们的这个应用程序,也有些库函数。对于整个的 carno 空间,我们看到了他又有三层,上边是系统调用, 类似于 open redret 这样的一些接口。对于下边两层呢,一个是和体系结构无关的代码,还有和体系结构相关的代码,这样的分层设计是为了提高粒子系统的一个可移植性。我们能够看到 宽的空间,它是拥护空间以及硬件之间的一个桥梁,很自然也能够想到将来的内核及驱动工程师,它是硬件工程师以及应用开发工程师之间的一个桥梁。