Linux和Shell笔记-1相关概念理解

news/2024/5/11 15:11:57/文章来源:https://blog.csdn.net/NikoHsu/article/details/131696461

Unix和Linux关系
UNIX是最早的商业操作系统之一,由贝尔实验室(AT&T Bell Laboratories)于 1970 年代开发。UNIX 是一个多用户、多任务的操作系统,具有强大的命令行界面和可扩展性。
Linux 是一个开放源代码的类 UNIX 操作系统内核,最早由芬兰的林纳斯·托瓦兹(Linus Torvalds)在 1991 年开发。Linux 内核是由 C 语言编写的,被设计为可运行在各种硬件平台上,并提供了现代操作系统所需的核心功能。
Linux 内核受到 UNIX 设计和哲学的影响,并从 UNIX 中借鉴了许多思想和概念。因此,Linux 在许多方面与 UNIX 相似,包括具有类似的文件系统层次结构、进程管理、权限模型等。
然而,由于历史原因和许可证问题,Linux 并未直接继承自 UNIX 操作系统。Linux 内核是在自由软件许可证(GPL)下发布的,因此它可以自由地使用、修改和分发。而商业的 UNIX 操作系统有不同的许可证和专有实现。
尽管 Linux 内核与 UNIX 并非直接衍生关系,但它与 UNIX 在设计和功能上具有很高的相似性,并且遵循了 UNIX 的哲学和思想。因此,Linux 通常被认为是 UNIX 的克隆或替代品,并且它成为了一个广泛使用的类 UNIX 操作系统。

1.linux系统

Linux系统可以划分为以下四个部分:
1.Linux内核
2.GNU工具
3.图形化桌面环境
4.应用软件

1.1 Linux内核

内核包括如下功能

1.1.1系统内存管理

内核通过硬盘上的存储空间来实现虚拟内存,这块区域被称为交换空间。内核不断地在交换空间和实际物理内存之间反复交换虚拟内存中的内容,使得系统以为它拥有比物理内存更多的可用内存。

1.1.2.软件程序管理

Linux操作系统将运行中的程序叫做进程。内核控制着Linux如何管理运行在系统上的所有进程。(init进程启动系统上所有其他进程)

进程与线程的关系
在这里插入图片描述

详细的进程与线程,并行与并发,共享内存等等解释,见这篇文章

1.1.3.硬件内存管理

内核的另一职责是管理硬件设备。任何Linux系统需要与之通信的设备,都需要在内核代码中加入其驱动代码。驱动代码允许内核与设备之间交换数据。

1.1.4.文件系统管理

不同于其他操作系统,Linux内核支持通过不同类型的文件系统从硬盘中读写数据。

1.2 GNU工具

Linux和GNU的关系

GNU(GNU’s Not Unix)是一个自由软件运动的项目,旨在创建一个完全自由、开放源代码的类Unix操作系统。
Linux 是一个开放源代码的操作系统内核,最早由芬兰的林纳斯·托瓦兹(Linus Torvalds)在1991年开发,并且后来成为了广泛使用的操作系统内核。
GNU 项目和 Linux 内核结合在一起,形成了现代的 GNU/Linux 操作系统。这个操作系统将 GNU 提供的大部分工具、库和用户空间程序与 Linux 内核结合在一起,提供了完整的操作系统功能。
尽管 Linux 内核是操作系统的核心组件,但它自身并不能构成一个完整的操作系统。因此,GNU 项目提供了大量的工具和应用程序,包括 GNU C 编译器(GCC)、GNU Bash shell、GNU Core Utilities 等,使 Linux 内核具备了完整的操作系统功能。
所以,GNU 和 Linux 是密切相关的,GNU 提供了大部分的用户空间程序,而 Linux 提供了操作系统的内核。二者的结合使得我们通常所说的 Linux 系统成为可能。因此,通常我们称这个操作系统为 GNU/Linux。

1.2.1 shell

GNU/Linux shell是一种特殊的交互式工具,它的核心是命令行提示符。命令行提示符是shell负责交互的部分,它允许你输入文本命令,然后解释命令,并在内核中执行。
在Linux系统上,通常有好几种Linux shell可用,不同shell有不同的特性。默认的是bash shell

1.3 桌面环境

目前用的比较多的应该是Unity桌面。

参考资料:《Linux命令行与shell脚本编程大全(第三版)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_330219.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​LeetCode解法汇总931. 下降路径最小和

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matr…

小白到运维工程师自学之路 第五十一集 (三剑客之sed)

一、概述 sed是一个流式文本编辑器,可以对文本进行搜索、替换、删除等操作。它是一个非交 互式的命令行工具,通常用于处理大量的文本数据。sed的工作方式是逐行读取输入文 本,按照预定义的命令对每一行进行处理,并输出结果。它…

使用STM32 再实现电动车防盗钥匙扣

实现目标 1. 点击遥控器 A 按键,系统进入警戒模式,一旦检测到震动(小偷偷车),则喇叭发出声响报警 2. 点击遥控器 B 按键,系统退出警戒模式,再怎么摇晃系统都不会报警 硬件介绍 1. 震动传感器…

解决uniapp运行手机基座出现的问题

常见的问题:(往往在更新编辑器版本后会出现以下问题) 问题1.明明已经连接到手机,就是检测不到设备 问题2.同步资源失败,未得到同步资源的授权 解决办法汇总 问题1解决办法: 方法一:进入HBuild…

【socket编程】TCP服务器、UDP服务器、本地套接字【C语言代码实现】

目录 0. 准备知识 0.1 大小端概念 0.2 网络字节序和主机字节序的转换 0.3 点分十进制串转换(IP地址转换函数) 0.4 IPV4结构体:(man 7 ip) 0.5 IPV6套接字结构体:(man 7 ipv6) …

实现跨语言互动:如何在Python中调用Java的JavaParser库解析Java源代码

1、背景 在多语言开发环境中,我们经常需要进行跨语言的操作。有时,我们可能会在Python环境下需要使用Java的库或者功能。这个博客将展示如何在Python中调用Java的JavaParser库来解析Java源代码。 2、需求 在许多软件开发场景中,我们可能需…

【算法与数据结构】239、LeetCode滑动窗口最大值

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题我们如果用暴力破解法需要 O ( n ∗ k ) O(n*k) O(n∗k)的复杂度。思索再三,我们需要…

【新版系统架构】第十九章-大数据架构设计理论与实践

大数据处理系统架构 大数据处理系统面临挑战 如何利用信息技术等手段处理非结构化和半结构化数据如何探索大数据复杂性、不确定性特征描述的刻画方法及大数据的系统建模数据异构性与决策异构性的关系对大数据知识发现与管理决策的影响 大数据处理系统架构特征 鲁棒性和容错…

【基于FPGA的芯片设计】RISC-V的20条指令CPU设计

实验板卡:xc7a100tlc sg324-2L,共20个开关 实验要求:

危机现场 | 如果给你25万美元,你会登上泰坦号吗?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 小黑 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩天津录音间 这是我们更名为记者下班后的第一期节目,临时把危机现场(原为死神来了&#xff09…

音视频编码实战-------pcm+yuv数据转成MP4

文章目录 1.编码流程图2.相关模块及函数2.1 编码器相关API2.2 复用器相关API2.3 重采样相关API注意点 简单的编码流程相关代码 1.编码流程图 2.相关模块及函数 2.1 编码器相关API avcodec_find_encoder: 根据编码器ID查找编码器 avcodec_alloc_context3:创建编码器上下文 avc…

【Arduino小车实践】PID应用之四驱小车

一、 PID公式 二、 PID应用的必要性 1. 四驱小车运动 左边两个驱动轮和右边两个驱动轮的速度相同直线右边轮子的速度大于左边轮子的速度左偏右边轮子的速度小于左边轮子的速度 右偏 2. 产生多种运动的原因 小车的4个电机,减速箱以及车轮在物理层面上存在误差&am…

【文章系列解读】Nerf

1. Nerf NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 2020年8月3日 (0)总结 NeRF工作的过程可以分成两部分:三维重建和渲染。(1)三维重建部分本质上是一个2D到3D的建模过程&#xff…

两种传输层协议TCP和UDP【图解TCP/IP(笔记十二)】

文章目录 两种传输层协议TCP和UDPTCP与UDP区分UDP的特点及其目的TCP的特点及其目的 两种传输层协议TCP和UDP 在TCP/IP中能够实现传输层功能的、具有代表性的协议是TCP和UDP。 ■ TCP TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排…

排序算法笔记-归并排序

归并排序 简介 通过找到中间值,然后递归分别从左区间和右区间找中间值,最终将所给的值划分为单个块,然后进行一步一步回溯,分块由两个单个分区排序后合成一个,以此类推,最后实现有序排序 时间复杂度 最…

计算机网关原理、子网掩码原理(路由器、交换机)(网关:与以太网接口关联的路由)

文章目录 网关网关的历史网关的功能网关的原理相关疑问为什么用子网掩码与IP地址进行与运算来确定一个IP地址所属的子网?网关地址是谁定的,是配置路由的人随意定的吗?(配置人员定的)如何正确设置网关地址(路…

[MySQL]MySQL内置函数

[MySQL]MySQL内置函数 文章目录 [MySQL]MySQL内置函数1. 日期函数2. 字符串函数3. 数学函数4. 其他函数 1. 日期函数 常用日期函数如下: 函数名称描述current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳now()获取当前日期时…

无法将“pip“识别为cmdlet、函数、脚本文件或可运行程序的名称。

出现问题如下: 出现问题原因: 没有添加pip对应的安装目录进入环境变量里面的系统变量。 解决方案: 1.确定python的安装路径 将python的路径添加到系统变量中 2.输入pip所在的安装路径: python路径\Lib\site-packages 3.添加…

如何执行Photoshop脚本

环境 Photoshop: CC2017 OS: Windows 10 脚本放置位置 C:\Program Files\Adobe\Adobe Photoshop CC 2015\Presets\Scripts #也就是 PS的安装目录\Presets\Scripts

程序员,到美国!赚美元!!!

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…