Linux入坑笔记(零、认识Linux)

简介: Linux入坑笔记(零、认识Linux)

 

文章目录

简介

Linux是一个操作系统,同时也是一个自由软件,是免费的源代码开放的,编制它的目的是建立不受任何商品化软件版权制约的、全世界都能自由使用的UNIX兼容产品。

历史

起源

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

发展

Linux的兴起是Inrernet创造的一个奇迹。当Linus把源代码发布到Internet上,更多的人参与进来,很快Linux成为一个功能完善、稳定可靠的操作系统。

特点

 开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵  循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。另外,源代码开放的  Linux是免费的,使得Linux的获得非常方便,而且使用Linux可节省费用。Linux开放源代  码,使用者能控制源代码,按照需要对部件混合搭配,建立自定义扩展。

  多用户:是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源(如文 件、设备)有特定的权限,互不影响。Linux和UNIX都具有多用户的特性。

  多任务:多任务是现代计算机最主要的一个特点,是指计算机同时执行多个程序,而且 各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。

  出色的速度性能:Linux可以连续运行数月、数年而无须重新启动,与NT  (经常死机) 相比,这一点尤其突出。即使作为一种台式机操作系统,与许多用户非常熟悉的UNIX相  比,它的性能也显得更为优秀。Linux不大在意CPU的速度,它可以把处理器的性能发挥到  极限,用户会发现,影响系统性能提高的限制因素主要是其总线和磁盘I/O的性能。

  良好的用户界面:Linux向用户提供了 3种界面,即用户命令界面、系统调用界面和图形 用户界面。

  丰富的网络功能:Linux是在Internet基础上产生并发展起来的,因此,完善的内置网络 是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。

  可靠的系统安全:Linux釆取了许多安全技术措施,包括对读/写进行权限控制、带保 护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全 保障。

  良好的可移植性:可移植性是指将操作系统从一个平台转移到另一个平台后仍然能按其  自身方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的.  任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行  准确而有效的通信提供了手段,不需要另夕卜增加特殊和昂贵的通信接口。

  具有标准兼容性:Linux是一个与可移植操作系统接口(Portable  Operating System Interface, POSIX)相兼容的操作系统,它所构成的子系统支持所有相关的ANSI、ISO、IETF  和W3C业界标准。为了使UNIX system V和BSD上的程序能直接在Linux上运行,Linux还 增加了部分system  V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。 Linux也符合X/Open标准,具有完全自由的X  Window实现。虽然Linux在对工业标准的支 持上做得非常好,但是由于各Linux发布厂商都能自由获取和接触Linux的源代码,所以各厂  家发布的Linux仍然存在细微的差别。其差异主要存在于所捆绑应用软件的版本、安装工具的 版本和各种系统文件所处的目录结构等。

组成

Linux一般有4个主要部分:内核、Shell、文件系统、应用程序。

内核:运行程序和管理镜像磁盘及打印机等硬件设备的核心。

Shell:是系统的用户界面,实际上是一个命令解释器,提供了用户与内核进行交互操作的一种接口,接手用户输入的命令并送入内核中执行。

文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法。

应用程序:标准的Linux系统都有一套称为应用程序的程序集,包括文本编辑器、编程语言、X Window、把弄套件等。

版本

Linux有内核(Kernel)版本和发行(Distribution)版本之分。

内核版本

内核版本是在Linus领导下的开发小组开发出的系统内核的版本号。

内核版本号由3个数字组成,即rxy。

 •r:目前发布的Kernel主版本。

 •x:偶数表示稳定版本;奇数表示开发中的版本。

 •y:错误修补的次数。

在2.x版本时代,x位为偶数的版本表明这是一个可以使用的稳定版本,如2.6.18; x位 为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.5.111。

RHEL/CentOS 7使用的内核版本是3.10.0。在3.x版本时代,也存在基于奇数次版本号的 稳定版。例如Linux Mint 17.1使用的内核版本是3.13.0。

发行版本

发行版本是一些组织或厂家将Linux系统内核与应用软件和文档包装起来,并提供一些安  装界面和系统设定管理工具的一个软件包的集合。目前已经有了 300余种发行版本,而且还在  不断地增加。相对于内核版本,发行套件的版本号随发布者的不同而不同,与系统内核的版本 号是相对独立的。

image.png

较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

image.png

与Windows对比

Windows是最流行的桌面操作系统,而Linux主要应用于服务器。

比较 Windows Linux
界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。 GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
使用 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 图形界面使用简单,容易入门。 文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 大部分软件都可以自由获取,同样功能的软件选择较少。

参考

【1】:《鸟哥的Linux私房菜》

【2】:《LINUX就该这么学》

【3】:https://www.runoob.com/linux/linux-intro.html

【4】:https://www.w3cschool.cn/linux/

【5】:《Linux基础及应用》


目录
相关文章
|
27天前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
88 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
3月前
|
Linux
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记10-进程NICE案例分析2
|
3月前
|
Linux
Linux源码阅读笔记09-进程NICE案例分析1
Linux源码阅读笔记09-进程NICE案例分析1
|
22天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
67 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
77 2
linux笔记 diff及patch的制作与使用
|
3月前
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
63 9
|
3月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
3月前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
3月前
|
存储 缓存 编译器
Linux源码阅读笔记06-RCU机制和内存优化屏障
Linux源码阅读笔记06-RCU机制和内存优化屏障
|
3月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作