Linux简介

1.Linux定义

Linux 是免费使用和自由传播的类 Unix 操作系统,是基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是性能稳定的多用户网络操作系统。最初是为个人计算机设计的,但由于其开放性、稳定性和灵活性,逐渐发展成为各种设备(包括服务器、超级计算机、移动设备、嵌入式系统等)的主流操作系统。

2.Linux 发行版

将 Linux 内核与应用软件做一个打包。市面上较知名的发行版:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。这些发行版有不同的特点和应用场景,例如 Ubuntu 是用户友好的桌面发行版,CentOS 和 Debian 是常用的服务器发行版。

3.Linux应用领域

(1)服务器:Linux 是服务器操作系统的主流选择,因其稳定性、安全性和高性能而广泛应用于企业服务器、云计算和数据中心。

(2)嵌入式系统:很多嵌入式设备,如路由器、智能电视等使用 Linux。

(3)超级计算机:Linux 占据超级计算机操作系统的绝大多数份额。

(4)移动设备:Android 操作系统基于 Linux 内核,是全球最流行的移动操作系统。

4.Linux与Windows的区别

Windows :

(1)界面:界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同。

(2)驱动程序:驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 的驱动,也会比较头痛。

(3)使用:使用比较简单容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。

(4)学习:系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。

(5)软件:每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。

Linux:

(1)界面:图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。

(2)驱动程序:由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。

(3)使用:图形界面使用简单容易入门,文字界面需学习才能掌握。

(4)学习:系统构造简单、稳定,知识、技能传承性好,深入学习相对容易。

(5)软件:大部分软件都可以自由获取,同样功能的软件选择较少。

5.开源与自由软件

Linux 是开源软件,意味着源代码公开,任何人可以查看、修改和分发。Linux 使用的开源协议主要是 GNU 通用公共许可证(GPL)。Linux 提供免费使用,用户可以根据需求修改和发布。

6.Linux 内核

内核是 Linux 操作系统的核心,负责管理硬件资源和提供系统基础服务,如进程管理、内存管理、文件系统管理、网络堆栈等。Linux 内核不断更新,拥有活跃的开发社区,功能和性能持续得到优化和增强。

7.类 Unix 设计

Linux 继承了 Unix 系统的设计理念,强调"简单工具、组合功能"的原则。每个工具或命令都专注于完成特定任务,这些工具可以通过管道和重定向来组合实现复杂功能。Unix 和 Linux 的指令、文件系统结构、权限管理等类似,Unix 用户能够较快适应 Linux 系统。

8.多用户、多任务

Linux 支持多个用户同时访问同一台计算机,并为每个用户提供独立的文件系统和权限管理。Linux 可以同时运行多个任务,并提供进程优先级和资源分配机制来确保系统的稳定性和性能。

9.文件系统

Linux 一切皆文件,硬件设备、网络接口等都被视为文件,简化操作和管理。常用的文件系统类型包括 EXT4、XFS、Btrfs 等,Linux 文件系统结构清晰,通常有固定的目录结构,如 /etc、/usr、/var、/home 等。

10.命令行界面(CLI)

Linux 提供强大的命令行接口,通过 Shell(如 bash、zsh)可以完成几乎所有系统操作。命令行的灵活性和可编程性是 Linux 系统的一个显著优点。许多系统管理、编程和文件操作的任务可以通过简单的命令完成,且 Linux 支持脚本编程,大大提高了自动化效率。

11.软件包管理

Linux 有丰富的包管理系统,不同的发行版使用不同包管理工具(如 Debian 系的 apt,Red Hat 系的 yum 和 dnf),方便用户安装、更新和管理软件。软件包管理器负责解决依赖关系,保证安装软件与系统兼容。

12.安全与权限管理

Linux 提供严格的权限管理机制,通过用户和组权限控制对文件和目录的访问。还有高级的安全机制如 SELinux(安全增强的 Linux)和 AppArmor,用于强化系统的访问控制,防止恶意软件的侵害。

相关推荐
黑客-雨3 分钟前
AI时代的产品经理修炼手册:《人工智能产品经理》
人工智能·学习·大模型·产品经理·大模型学习·大模型入门·大模型教程
猫爪子挠4 分钟前
【浏览器学习笔记】-- 浏览器检查jQuery是否加载
笔记·学习·jquery
Justin_ly7 分钟前
Java 用户随机选择导入ZIP文件,解压内部word模板并入库,Windows/可视化Linux系统某麒麟国防系统...均可适配
java·开发语言·python
懒惰才能让科技进步10 分钟前
从零学习大模型(十三)-----LayerDrop 和 Layer Pruning
人工智能·python·深度学习·chatgpt·transformer·剪枝
费弗里33 分钟前
Dash 2.18.2版本更新:模式匹配回调性能大提升
python·dash
"wink33 分钟前
Python实现全国岗位招聘信息可视化分析(源码+论文+部署讲解)
开发语言·python·信息可视化
网安Ruler35 分钟前
红队知识学习入门(3)Shodan使用5
笔记·学习·网络安全
fury_12340 分钟前
base64文本div中增加一个img标签,img标签实时渲染后端返回的base64数据成对应图片
java·服务器·前端·js
微刻时光1 小时前
Windows上安装Redis
运维·数据库·windows·redis·缓存
java1234_小锋1 小时前
[免费]基于Python的Django+Vue3在线考试系统【论文+源码+SQL脚本】
开发语言·python