Linux学习:计算机和操作系统的基础知识(3)

  这就需要引入操作系统了,操作系统就是用来对程序进行调度,以及协调其他程序进行工作,是位于硬件和应用软件之间的中间层。有了操作系统,任何程序都不能直接和硬件打交道,而是要经过操作系统这一中间层进行处理。

  同一份程序,在不同的操作系统运行的效果不同的解释:程序要执行某一个功能,将请求交给操作系统,操作系统通过调用相关的库来执行,不同的操作系统实现实现某种库的方式可能不一样,那么程序的效果也就不一样了。

  11.Shell

  以Windows为例,为什么双击桌面上的图标就可以运行相应的程序,或则在命令行中输入calc就可以打开计算器呢?

  上面的两种操作:双击图标和在命令行输入命令回车,本质上都是指令。我们的指令需要操作系统传到内核(kernel)中,然后实现程序的运行。接收指令的这个东东,就是人机交互接口(Shell)。Shell包括两种:

GUI图形Shell

CLI命令行Shell

  不管是GUI还是CLI,目的都是向内核传送指令,实现某项操作,对于内核来说,通过什么方式传送指令并不重要。

  操作系统内核的功能包括: 

进程管理(协调)

内存管理

文件系统

网路功能

硬件驱动

安全机制等

  12.Linux发行版

  终于讲到Linux了,照例在此之前应该讲讲Linux的起源,Unix,Bell实验室,Apple和Windows等等,但是历史性的东西并不是这篇博文的重点,这里就暂且跳过。

  Linux是操作系统,也就是软件,软件要想运行,就需要编译成相应的二进制代码才能运行。

  上面我们也谈到过,不同的CPU架构,完成某项操作的实现方式可能不同,因此在编译操作系统的时候不应该出现交叉编译的情况(比如在AMD上编译在Intel上运行)。

  也就是说,想要在某个平台上使用操作系统,需要针对这个平台进行编译。这无疑增加了学习和使用的难度,作为初学者而言,这是噩梦。于是出现了一些组织,他们来对Linux的源码和外围的一些软件进行编译集成,然后发行出来,这就是Linux的发行版。这样的公司或组织有RedHat,Debian等

  13.软件包管理器

  早期的软件都是随着内核一起打包发布的,这样有个明显的缺点:不利于软件的管理,如软件的安装,卸载等。于是出现了软件包管理器,用来方便软件的管理,安装,卸载等。比较著名的有dpt(debian),rpm(redhat)等。

  14.Linux的基本原则

组装:组合功能目的单一的小程序,完成复杂的任务

一切皆文件

尽量避免捕获用户接口(交互),比如输入ls,马上列出目录下的文件,不需要其他操作。

配置文件保存为纯文本格式——一个简单的文本编辑器就可以完成所有的功能。

  15.命令的构成

  基本格式为:命令 = 命题主体 + 选项 + 参数。

  命令执行:输入命令后,由shell将指令发送给kernel,kernel即对该指令进行判断,决定是否执行。

  命令可以跟上选项,用来修正命令的执行方式。格式为:

短选项:-单一字符,如 -a,-l,-h

长选项:--单词,如 --help

  短选项多个选项可以组合:-a -h 可以组合成 -ah。长选项通常不能组合。

  命令的参数:命令的表示命令的作用对象。如:ls -ah /etc 为列出 /etc 目录下的文件,如果不加参数,默认为当前目录。

  16.一些琐碎知识

  Linux(我这里使用的是RedHat)下一般有6个终端可以使用,可以按键盘组合键 ctrl + alt + f1~f6切换。

  $ startx & -> 启用图形界面。

  Linux图形界面的类型:Gnome(C),KDE(C++),XFace(轻量级图形界面)。

  Linux命令行界面类型:bash csh zsh ksh....

  任何跟shell相关的启动的程序,只要shell关了,这个程序也就关了(这不废话吗)。

  su:切换用户(switch user 缩写)。

  su root [-l] :半切换,完全切换。

  passwd:修改密码,连输两次即可。

  对于root,可以随便修改,对于普通用户,需要满足密码复杂性规则。

   17.总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14845.html