操作系统(Operating System)是最基本、最重要的系统软件,用于管理系统资源,控制程序执行,改善人机界面,提供各种服务,合理组织计算机的工作流程,为用户使用计算机提供良好的运行环境。
Linux继承了UNIX(针对小型机主机环境开发的操作系统)卓越的稳定性。
Linux采用单内核模式的操作系统,内核代码紧凑、执行速度快,与之对比Windows采用微内核体系结构,模块化设计。
内核时Linux操作系统的主要部分,可实现进程管理、内存管理、文件管理、设备驱动和网络管理等功能,为核外所有程序提供运行环境。
Linux采用分层设计,包括4个层次,每层只能与相邻层通信,层次具有从上到下的依赖关系。
用户应用程序 ---> 常见的处理应用程序、多媒体处理应用程序、网络应用程序
操作系统服务 ---> 为应用程序提供系统内核调用接口,如X窗口系统、Shell命令解析系统、内核编程接口,也称为系统程序。
Linux内核 ---> 最靠近硬件的是内核,Linux操作系统的常驻内存部分。是整个操作系统的核心,实现对硬件资源的抽象和访问调度。
硬件系统 ---> 包含Linux所使用的所有物理设备,如CPU、内存、硬盘、网络设备
内核指一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一个完整的操作系统。一套基于Linux内核的完整操作系统才是Linux操作系统。
内核版本:指内核小组开发维护对的系统内核的版本号。
发行版本:仅有内核版本是不够的,还需要配套的软件。一些组织将Linux内核、源码以及相关应用软件集成为一个完整的操作系统,便于用户使用,从而形成发行版。
文件管理器、FireFox浏览器、Ubuntu软件中心、软件和更新(变更软件源)
用Shell来管理计算机资源。
Shell是用户和系统交互的接口,提供用户与内核进行交互操作的 一种接口,接受用户输入的指令,送到内核去执行。
同时Shell也是一种程序设计语言,允许编写成脚本或命令文件。
Shell分为Bourne-Shell和C-Shell两个版本,
正则表达式是一种可以用于模糊匹配和替换的工具,使用一些特殊字符构建匹配模式,然后将其与字符串或文件比较,根据比较对象是否包含匹配模式,执行相应程序。
用于模式匹配,如字符串查找、文件名匹配和搜索。常用6中:
*:表示任何字符串。如:rm-rf *。
?:表示任何单个字符。如:a?c a任意字符c 组成的字符串。
[] : 表示一个字符序列。可以包括若干字符,如[abc]表示a、b、c中的任一字符;也可以由“-”连接起止字符形成的序列,如:[abc-fp]表示abcdefp中任一字符;除“-”其他* ?在[]中都是普通字符。
!:在[]中使用!表示排除其中任一字符,如[!ab]表示不是a或b任一字符。
^:只匹配以该字符串开头的字符串,如执行ls -l ^d 将显示所有文件。
: 只匹配以该字符串结尾的字符串,放在匹配单词的后面。如: L i n u x : 只匹配以该字符串结尾的字符串,放在匹配单词的后面。如:Linux :只匹配以该字符串结尾的字符串,放在匹配单词的后面。如:Linux表示以单词Linux结尾的所有文件。
是包含一个或多个通配符的字符串,各模式之间以竖线“|”,分开。
*:匹配多个模式。如file *(.c|.o) 匹配文件file.c、file.o、file.o.c、file.c.o、file等。
+:
?:
@:
!:
complex
Shell中的引号由三种,单引号、双引号、反引号。
单引号:视为普通字符串。包括空格、¥、$、/等。
双引号:除KaTeX parse error: Undefined control sequence: \、 at position 2: 、\̲、̲单引号和双引号作为特殊字符并保…、\、单引号和双引号作为普通字符,加上转义字符即可。
反引号:由反引号包起来的字符串被Shell解释为命令行。
分为系统环境变量和用户环境变量。
进入到命令行界面,会看到Shell提示符,以#结尾的是管理员,$为普通用户。
一行多条命令用;隔离开。
输入输出重定向:
管道:用于将一个命令的输出作为另一个命令的输入。用"|"连接。如ls | grep “ab”
命令替换:
将Shell编程文件,更改可执行权限。
chmod +x examplel
:wq
:q
:q!