2021-06-13 linux教程学习(一)_北海星的博客-程序员秘密

技术标签: linux  操作系统  

linux教程学习(一)

操作系统介绍

什么是操作系统

操作系统包括内核、shell、文件系统和应用程序。

内核、shell和文件系统一起构成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。具体层次结构如下:

img

内核

负责硬件资源分配,而如果只有内核,则计算机只能够运行,我们不能控制计算机。

我们常说的Linux是内核,不是操作系统。真正的操作系统的名字是Ubuntu、Fedora。

shell

提供给开发者使用的系统调用,从而开发应用程序。

是与Linux、Unix交互的工具。

任何硬件都不会默认被操作系统控制,需要根据操作系统提供的接口开发驱动程序,只有安装了驱动程序才能控制硬件设备。

例如:让CPU计算、让硬盘可以读写数据。

什么是linux

Linux,全称为GNU/Linux,是一种免费试用和自由传播的类UNIX操作系统,常说的Linux指的是Linux内核,一个基于POSIX的多用户多任务支持多线程和多CPU的操作系统。

Linux是现代互联网体系重不可或缺的一部分,包括各种嵌入式设备,比如手表和机器人,还有安卓。地球上大多数的服务器都是Linux操作系统,从航天到军事、从科研到金融、从手机到电脑无处不在。

因其开源的特点,Linux的发展速度以指数规模增长,无数开发者加入到Linux开发的行列中。本章简单概括一下Linux的优点和发展历史。

为什么要使用Linux

Linux的特点:

开源免费

开放源代码,任何人都可以随意修改其源代码

多用户、多任务

linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各个用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并且独立的运行。

安全可靠

Linux代码是开源的,所以每个人都可以参与进入修补漏洞。此外,Linux的用户权限管理也使得安全风险降低。

稳定

Linux服务器以稳定性闻名,可以持续运行很久不易崩溃。

多平台

Linux可以运行在多种硬件平台上,比如掌上电脑、机顶盒或者游戏机上,x86,arm及其他各种嵌入式设备。

(arm和x86是CPU的两大架构,区别在于前者使用精简指令集RISC,后者使用复杂指令集CISC。设计者考虑问题的方式不同。电脑是X86架构,手机则是arm架构。)

以上所述特点是Linux内核的特点,常说的Linux一般都是指其内核,还有很多个人、社区或者企业,都有根据Linux内核进行“改装”的发行版,各种发行版的特点不同,有的注重服务器性能,有的注重图形系统。

同时Linux在经过发展后也产生了很多与内核无关的优点。例如

方便

Linux在线安装软件包工具非常方便,一行命令即可将软件安装好,环境配置方便快捷。

开源软件多

大多数的开源软件首要适配平台都是Linux,所以在Linux上有血多免费且开源的软件。

Linux发展历程

20世纪80年代计算机硬件性能不断提高,PC市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和macOS这几种。

Unix价格昂贵,不能运行于PC。DOS简陋,且源代码被软件厂商严格保密。MacOS是一种专门用于苹果计算机的操作系统。此使,计算机科学领域迫切需要一个更加完善、强大且开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰做教授的美国人AndrewS.Tanenbaum编写了一个操作系统名为MINIX,为了向学生讲述操作系统内部工作原理。

MINIX虽然很好但只是一个用于教学目的的简单操作系统而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑运行的MINIX操作系统,芬兰赫尔辛基大学二年级学生Linus Torvalds就是其中之一。

在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写程适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此Linux逐渐成为功能完善、稳定的操作系统。

x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集和。与处理器没有任何关系,而是一个对所有x86系统的简单的通配符定义。X86代表的含义就是32位系统,所以x86的意思就是32位系统。

常用发行版

1、Debian

老牌发行版,非常稳定适合用于服务器。

2、Ubuntu

Ubuntu是Debian的一款衍生版,侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见,于2004年9月首次公布。属于热门发行版之一,因其图形界面开发完善以及良好的社区支持,很受初接触Linux的人群青睐。

3、CentOS

CentOS是一种对RHEL(red hat enterprise linux)源代码再进行编译的产物,由于是Linux开发源代码的操作系统,并不排除样基于源代码的再分化,centOS就是将商业的Linux操作系统RHEL进行源代码再编译后分发,并再RHEL的基础上修正了不少已知漏洞。

4、Fedora

Fedora Linux是由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游编码。

5、Kali

Kali Linux是Debian的一款衍生版,旨在渗透测试与数据取证。它预先构建了用于渗透测试的各种工具。

6、Arch

Arch是一款采用滚动发行方式的操作系统,只要安装一次就够了,每当发行了某个新版本,就可以升级发行版,无须重新安装。

Pacman是Arch Linux的软件包管理器。Arch Linux既支持X86处理器架构又支持X86 64架构,安装程序可以从光盘或者U盘来运行。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43959248/article/details/117901966

智能推荐

WebSphere MQ收发通道异常的问题处理_hproc的博客-程序员秘密_ibmmq接收方通道不活动

1、摘要    一直和公司有数据交换的一家单位,由于最近机房搬迁,导致服务器故障无法恢复应用,只能另外重新部署一套应用。在搭建IBM WebSphere MQ时,发送通道始终无法正常连接。经过几日的折腾,终于发现问题所在,更换服务器安装后搞定,再次记录以备后查。2、部署环境   双方系统环境基本一致,Windwos2003 EE sp2,JDK 1.5,WebSphere MQ 5.3   甲方PC 服务器,乙方刀片服务器(最后得知)3、故障描述   双方创建完队列、通道后,启动时一切正常,发送和接收通道都

HTTP协议之总结展望篇_carroll18的博客-程序员秘密

文章目录HTTP/2HTTP/2内核HTTP/2HTTP/1、HTTPS 和 HTTP/2 的协议栈HTTP 协议取消了小版本号,所以 HTTP/2 的正式名字不是 2.0;HTTP/2 在“语义”上兼容 HTTP/1,保留了请求方法、URI 等传统概念;HTTP/2 使用“HPACK”算法压缩头部信息,消除冗余数据节约带宽;HTTP/2 的消息不再是“Header+Body”的形式,而是分散为多个二进制“帧”;HTTP/2 使用虚拟的“流”传输消息,解决了困扰多年的“队头阻塞”问题,同时

用汇编语言写一个程序,比较两个字符串是否相同。_snolia的博客-程序员秘密

<br />DATA   SEGMENT<br />           STR1 DB 'ABCDEFG$'              <br />           N EQU $-STR1                   <br />           MESS DB 'NO MATCH!$'            <br />DATA   ENDS<br />DATA1 SEGMENT<br />           STR2 DB 'ABCDEFG$'               <br

[转贴]JAVA中正则表达式的应用_laopojun的博客-程序员秘密

现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟来恩物- -对我来说确实如此。 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的

The Mesa 3D Graphics Library_ExAMYEs的博客-程序员秘密

The Mesa 3D Graphics Library文章目录The Mesa 3D Graphics Library前言源码导读GL Dispatch前言源码导读GL Dispatch

Shell编程_迷路的麋鹿i的博客-程序员秘密

Shell编程1. Shell编程概述1. 1. Shell名词解释KernelLinux内核主要是为了和硬件打交道Shell命令解释器(command interpreter)Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。shell两大主流:sh:Bourne shell(sh) ,Sola

随便推点

在Windows Server2019上搭建[email protected]的博客-程序员秘密

一、安装DHCP服务1.1、将DHCP服务器设置固定IP地址(192.168.80.200),修改计算机名称1.2、打开服务管理器,添加角色和功能,添加DHCP角色,如下图:(选择DHCP服务器,下一步,其它步骤保持默认)二、配置DHCP2.1 打开DHCP,新建作用域,如下图:输入作用域名称:输入地址范围:输入要排除的IP地址(如有要排除的IP地址在这里输入,如无需排除,直接点击下一步)选择DHCP租用时间(根据情况设置对应取值)添加网关添加域名和DNS2.2

java python之间数据交互(使用jython)_公众号【禅与大数据】,欢迎订阅的博客-程序员秘密

最近有个功能需要java与python之间的数据交互,java需要把参数传给python,然后python计算的结果返回给java.于是就写了一个工具类.首先,maven 需要加载jython的依赖.工具类代码如下:import java.util.List;import java.util.Map;import java.util.Properties;import org.apache....

CentOS7使用yum时File contains no section headers.解决办法_TroKey的博客-程序员秘密

安装好CenOS7后,自带的yum不能直接使用,使用会出现如下问题: 原因是没有配置yum源,修改/etc/yum.repos.d/CenOS-Base.repo文件内容如下:# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update...

matlab中inf是什么意思,simulink中inf什么意思_来自恶魔的爱的博客-程序员秘密

matlab中inf是什么意思infinity的缩写,表示数学中的无穷大,通常用来表示一个数除0的结果。matlab中inf是啥意思MATLAB中的INF参数代表什么意思Inf无穷大量+∞,同样地,-∞可以表示为-Inf。在MATLAB程序执行时,即使遇到了以0为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成Inf。matlab中的inf参数代表什么意思请大侠指matla...

vue + echarts 多条折线图_阡路陌人的博客-程序员秘密

html:&lt;!-- 折线图--&gt;&lt;div id="myChart1"/&gt;js: // 折线图 getLine () { // 基于准备好的dom,初始化echarts实例 let myChart1 = echarts.init(document.getElementById('myChart1')); /...

JS+CSS实现的非常漂亮的橘黄色滑动门_weixin_34067102的博客-程序员秘密

代码简介:JS+CSS实现的非常漂亮的橘黄色滑动门,记得有个CSS文件,很棒的。代码内容:&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;html xmlns="ht...

推荐文章

热门文章

相关标签