Linux系统一般由四个部分组成:
- 内核
- shell
- 文件系统
- 应用系统
Linux系统应用领域:
- IT服务器(操作系统,虚拟化和云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件开发
Linux体系结构——内核
- 内核空间:系统调用接口,进程管理,内存管理,虚拟文件系统,网络堆栈,设备驱动系统
- 内核是硬件与软件之间的中间层
- 内核是一个资源管理程序
- 内核提供一组面向对象的命令
Linux系统管理——进程管理
- 进程是正在执行的一个程序或命令
- 进程拥有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别
进程调度原则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于进程CPU而言进程调度使用轮询的方式进行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比
Linux系统结构——文件系统
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中
Linux中一切皆文件
虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
Linux系统结构——用户权限
用户账户
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
用户组
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
文件权限
文件权限关于用户有三个概念:
所有者:文件的所有者 所在组:文件的所有者所在的组 其他人:除文件所有者及所在组外的其他人
每个用户对于文件都有不同权限,包括读(R),写(W),执行(X)
Linux软件包管理
-
软件包 通常指的是一个应用程序,他可以是一个GUI应用程序,命令行工具(其他软件程序需要的)软件库
-
软件包管理 底层工具:主要用来处理安装和删除软件包文件登任务,DPKG,RPM 上层工具:主要用于数据的搜索任务和依赖解析任务,ATP,YUM,DNF
Debian APT常用命令
- 列出所有可更新的软件清单命令:apt update
- 安装指定的软件命令:apt install <package_name>
- 安装多个软件包:apt install <package_1> <package_2> <package_3>
- 更新指定的软件命令:apt update <package_name>
- 删除软件包命令:apt remove <package_name>
- 查找软件包命令:apt search < keyword >
- 列出所有已安装的包:apt list --installed
总结
Linux是一种自由和开放源代码的操作系统,它是由Linus Torvalds在1991年创建的。Linux操作系统由内核、shell、文件系统和应用程序等组成,它可以运行在不同的平台上,如服务器、台式机、笔记本电脑、移动设备等。
Linux基础包括以下内容:
-
文件系统:Linux系统使用树形结构的文件系统,所有的文件都从根目录 / 开始。
-
命令行操作:Linux系统通常使用命令行界面,需要学习一些基本的命令行操作,如 ls (列出文件和目录)、cd (切换目录)、cp (复制文件)、mv (移动文件)、rm (删除文件)、mkdir (创建目录)、rmdir (删除目录)等。
-
用户管理:Linux系统可以有多个用户,需要学习用户管理命令,如 useradd (添加用户)、passwd (修改密码)、userdel (删除用户) 等。
-
文件权限管理:Linux系统使用权限控制来保护文件和目录,需要学习 chmod (修改文件权限)、chown (修改文件所有者)、chgrp (修改文件所属组) 等命令。
-
软件管理:Linux系统使用软件包管理器进行软件安装和管理,常用的软件包管理器包括 apt-get (Debian、Ubuntu)、yum (CentOS、Fedora) 等。
学习Linux基础可以让你对Linux系统有更深入的理解,有利于你更好地使用Linux系统进行开发、运维、管理等工作。
作为一种自由和开放源代码的操作系统,Linux具有广泛的适用性和灵活性,可以在各种设备和场景下使用,如服务器、工作站、移动设备、嵌入式系统等。其通过开放源代码的方式吸引了众多的开发者和爱好者参与开发和维护,因此拥有庞大的社区和生态系统。
Linux系统的优点主要包括以下几点:
-
开放源代码:Linux系统允许用户获取、分析、修改和分享源代码,使得用户拥有更高的自由度和控制力,可以为特定的需求和场景进行自定义和优化。
-
稳定可靠:Linux系统稳定性和可靠性很高,很少出现由于系统崩溃或者死机造成的损失。
-
安全性好:Linux系统拥有强大的安全性措施,包括网络安全、文件系统权限、远程管理等方面。
-
轻便高效:Linux系统资源占用低,系统响应速度快,因此可以在各种设备上运行,而且可以有效地利用硬件资源。
-
灵活可扩展:Linux系统可以按需要进行定制和扩展,可以添加或删除功能模块,方便进行系统的升级和维护。
同时,Linux系统也存在一些挑战和难点。例如,对于新手来说,学习命令行操作需要一定的学习和适应时间;软件安装和管理方式与Windows有很大不同,需要熟悉Linux下的软件包管理器;特定的硬件或者软件驱动支持可能会面临一些挑战。但是,通过逐步学习和体验,可以逐步掌握和应用Linux系统,并享受它所带来的高效、灵活和安全的优势。