Linux是一种类似于UNIX的操作系统,由Linus Torvalds于1991年在minix操作系统的基础创建。Linux凭借其优良特性已经成为目前发展潜力最大的操作系统。

  Linux的版本有内核版本和发行版本两方面含义:内核版本是指Linux内核的版本;而发行版本是各Linux发行商将Linux内核和应用软件及相关文档组合起来,并提供系统管理工具的发行套件。

  目前,Linux在服务器领域继续发挥着越来越大的作用,也是嵌入式系统和构筑集群计算机的首选,并随着技术的进步,逐渐为桌面用户所接受。

  内核是整个Linux操作系统的核心,用户可以根据自己的实际需求定制内核,并可升级内核。Shell既是一种交互式命令解释程序,也是一种程序设计语言。作为交互式命令解释程序,Shell负责接收并解释用户输入的命令,并调出相关的程序来完成用户的要求。Linux的默认Shell是Bash,其以B Shell为基础,并包含了C Shell和K Shell的诸多优点。X Window为Linux提供简单易用的图形化用户界面,并为必需图形界面的应用程序提供运行平台。Linux的应用程序数量繁多,功能强大,多为自由软件。

  Linux是一种分时操作系统,采用虚拟存储技术来扩充内存空间。Linux目前一般采用ext4文件系统,并基于虚拟文件系统技术可支持多种文件系统,实现Linux与其他操作系统之间的数据共享。Linux把外围设备当做文件来处理,并根据数据交换的特性将外围设别分为三类:字符设备,块设备和网络设备。

  上面是科普的东西,建议读完。

  下面来介绍Linux:

  Linux是一种可以在PC上执行的类似UNIX的操作系统,它与其他商业性的操作系统最大的不同点在于该操作系统是完全免费的,源代码是完全公开的,用户可以在网上随意下载、复制和使用。

   1991年芬兰赫尔辛基大学的大学生Linus Torvalds为完成自己操作系统课程的作业,开始基于Minix(一种免费小型UNIX系统)编写一些程序,最初该程序只有一万多行,可是在程序完成时,使他意想不到的是这些程序已经足够实现一个操作系统的基本功能。

  Linux的特点:

  用户界面友好的操作系统

  高可靠性、高稳定性的操作系统

  设备独立性、可移植性好的操作系统

  多用户、多任务操作系统

  Linux操作系统支持UNIX的全部功能,并且Linux操作系统还提供了TCP/IP网络协议的完备实现,具有强大的网络通信功能。Linux还可以支持各种类型的软件与硬件。同时具备先进的内存管理机制。
  Linux版本划分:
  一般Linux的版本分:内核版本和发行版本。
  1、内核版本
  内核版本号由3个数字组成,一般表示为X.Y. Z形式。
  其中:
  X:表示主版本号,一般比较稳定,一段时间内不会发生改变。
  Y:表示次版本号,用来说明版本类型,若是偶数,说明该版本是可以使用的稳定版本;若是奇数,说明该版本是稳定性还不确定的测试版本。
  Z:表示修改号,数字越大表明修改次数越多,该版本功能也就越完善。
  例如:2.6.* 说明是稳定版;2.1.*说明是测试版。
  2、发行版本
  用户如果想通过Linux来使用计算机的功能,单纯的依赖一个“内核”是不够的,所以还需要和很多的应用程序、相关的系统设定以及管理工具结合起来形成发行版。
  Linux与其他操作系统的区别
  从发展背景来看,Linux与其他操作系统的区别是:Linux是从一个比较成熟的操作系统发展而来的,而其他的操作系统(比如Windows)等,都是自成体系,无对应相依托的操作系统。
  从使用费用上来看,Linux与其他操作系统最大的区别是,该系统是开放的、免费的、可以自由传播的操作系统,其他的操作系统(比如Windows)等,是封闭的需要付费的,而且费用很贵。
  Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用X-Window的情况下占用系统资源较少,可以使一台Intel 486摇身一变称为高效工作站。
  Linux是一个真正的多用户、多任务的操作系统,具有良好的兼容性、强大的可移植性、高度稳定性、漂亮的用户界面,有世界公认的较好的语言编辑器和更高效率的开发环境。
  Linux组成  
  Linux可分为:内核、Shell、X Window和应用程序四大组成部分,其中内核是所有组成部分中最为基础、最为重要的部分。
  内核  
  Linux内核采用模块化结构,其主要模块包括:存储管理、CPU和进程管理、文件系统管理、设备管理和驱动、网络通信以及系统的引导、系统调用等。内核是整个操作系统的核心,管理着整个计算机系统的软、硬件资源,控制着整个计算机的运行,如果内核出现问题,整个计算机系统就会崩溃。
  Shell
  Shell负责将用户的命令解释为内核能够接受的低级语言,并将操作系统响应的信息以用户能理解的方式显示出来,它就是用户和内核之间的一个桥梁,相当于一个翻译官,提供了用户与内核之间交互的一个接口。 
  X-Window
  X-Window又称X窗口,它并不是一个软件,而是一个协议(protocal),X-Window提供的图形化用户界面与Windows界面非常相似,操作方法也基本上相同,但实质上是有一定区别的:Windows的图形化用户界面是跟系统紧密相连的,如果图形化用户界面出现故障,整个计算机系统就不能正常工作,Linux在字符界面下利用Shell命令以及相关程序和文件就能够实现系统管理、网络服务等基本功能,而X-Window图形化用户界面的出现一方面比Linux字符界面的操作更为简单方便,另一方面也为许多应用程序提供运行环境,丰富Linux的功能。  
  应用程序
  Linux的应用程序主要来源于以下几个方面:
  专门为Linux开发的应用程序,如gaim、OpenOffice.org等。
  原本是UNIX的应用程序移植到Linux,如vi。
  原本是Windows的应用程序移植到Linux,如RealOne播放器、Oracle等。
 

Linux基础学习系列(一)的更多相关文章

  1. Linux基础学习系列目录导航

    Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...

  2. Linux 系统化学习系列文章总目录(持续更新中)

    本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...

  3. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  4. linux基础学习路线&review

    linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...

  5. Linux 基础学习1

    目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...

  6. Linux 基础学习2

    目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...

  7. Linux基础学习(全)

    使用的Linux发行版本为Redhat 1.Linux(RedHat)基础学习-命令行使用入门 2.Linux(RedHat)基础学习-文件寻址与管理 3.Linux(RadHat)基础学习-vim编 ...

  8. Linux基础学习(1)--Linux系统简介

    第一章——Linux系统简介 1.UNIX和Linux发展史: 1.1 unix发展史: (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发Mul ...

  9. Bootstrap基础学习 ---- 系列文章

    [Bootstrap基础学习]05 Bootstrap学习总结 [Bootstrap基础学习]04 Bootstrap的HTML和CSS编码规范 [Bootstrap基础学习]03 Bootstrap ...

随机推荐

  1. CSS基础(二):基础和语法

    CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration2; . ...

  2. 何为.Net Remoting【转】

    借助基维百科给它的定义如下: NET Remoting 是微软 .NET Framework 中的一种网络通讯技术,与 XML Web Service 不同的是,它可以使用 SOAP 以外的协定来通讯 ...

  3. iOS开源项目教程大合集

    UI篇 1.MMDrawerController http://www.cnblogs.com/shangdahao/p/3142204.html 2.SVPullToRefresh http://w ...

  4. 深入理解图优化与g2o:图优化篇

    前言 本节我们将深入介绍视觉slam中的主流优化方法——图优化(graph-based optimization).下一节中,介绍一下非常流行的图优化库:g2o. 关于g2o,我13年写过一个文档,然 ...

  5. [原]如何在Android用FFmpeg+SDL2.0解码声音

    关于如何在Android上用FFmpeg+SDL2.0解码显示图像参考[原]如何在Android用FFmpeg+SDL2.0解码显示图像 ,本文是基于上述文章和[原]零基础学习视频解码之解码声音 来移 ...

  6. 【转】Oracle RAC 环境下的连接管理

    文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...

  7. centos下配置java环境变量

    一. 需要配置的环境变量1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把 jdk安装目录下的bin ...

  8. C#基础课程之六(临时表)DataTable使用方法

    DataTable 用法:赋取值操作,及报错情况 dataTable.Columns.Add("Name"); //Columns 对象获取该集合的全部列,添加列名. 默认stri ...

  9. 轻量级linux CRUX安装笔记

    感谢hrdd的分享,原文出处:http://wxdhrdd.blog.163.com/blog/static/120500564200952592240867/ 以下是对原文进行补充 crux的安装: ...

  10. [Git] 快速签出与更新所有远程分支.md

    git-fetch 命令从远程仓库复制 heads 和 tags 信息到本地,保存在临时文件 .git/FETCH_HEAD 中以备 git-merge 命令使用. 你可以使用 git fetch 命 ...