Linux 操作系统简介(1.1)

news/2024/7/29 19:26:12 标签: linux, bash, 运维

系列文章目录

第1章 Linux Shell简介
第2章 Shell基础
第3章 Bash Shell基础命令
第4章 Bash Shell命令进阶
第5章 Linux Shell深度理解
第6章 Linux环境变量
第7章 Linux文件权限
第8章 Linux文件系统的管理
第9章 Linux软件安装
第10章 Linux文本编辑器(Vim)


1.1 Linux 操作系统简介

  • 系列文章目录
  • 1.1 Linux操作系统简介
    • 1.1.1 Linux内核
    • 1.1.2 GNU工具
    • 1.1.3 图形化桌面环境
    • 1.1.4 应用软件


1.1 Linux操作系统简介

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

以上4个部分相互协作构成了整个Linux操作系统,接下来的内容将详细对以上4个部分进行展开。

1.1.1 Linux内核

Linux内核是一个多功能的操作系统核心,在计算机系统中扮演了多个角色,以下列举了主要的四种功能:

  1. 硬件管理:Linux内核负责硬件资源的管理和配置,包括CPU、内存、I/O等。它通过设备驱动程序来支持不同的硬件组件,可处理各种输入/输出请求并提供某些与硬件交互的系统调用。

  2. 内存管理:Linux内核通过内存分配器和Page Cache管理系统内存分配,从而保证每个应用程序都能够获得足够的内存。内存管理也包括虚拟内存管理(swap space),这样就可以让更多的应用程序同时运行而不影响整个系统的性能。

  3. 文件系统管理:Linux内核支持众多的文件系统,如EXT4、NTFS、FAT32等。它也提供了VFS(Virtual File System)层,这是一种统一的文件系统接口,可让其他程序以标准方式访问文件系统。

  4. 进程管理:Linux内核也负责进程管理,并为用户空间应用程序提供了进程、线程、信号和IPC(Interprocess Communication)等功能。允许应用程序创建子进程,由此创建独立的执行流并异步地执行不同的任务。进程管理面向用户级别,给予对工作流的控制和判断,以及资源分配。

总体而言,Linux内核是一个功能强大且充满活力的软件项目,凭借其广泛的用途已成为计算机界的重要组成部分。

1.1.2 GNU工具

GNU工具是一个由自由软件基金会(Free Software Foundation,FSF)创建的开源软件项目,旨在提供一套类Unix系统命令行环境下常用软件工具。GNU工具包含了许多用户和开发者常用的命令行工具,如文本编辑器、编译器、调试器、shell等。

以下是GNU工具中常用的一些组件:

  1. Bash:Bash是一个强大的shell程序,它可以执行命令、解析脚本和管理Linux系统。

  2. GCC:GCC是GNU工具集中的编译器。它支持多种编程语言,如C、C++、Objective-C等,并提供广泛的调优功能。

  3. Make:make是GNU 工具链中负责任务构建和生成的程序,它根据Makefile文件中的规则来自动化执行任务。

  4. GDB:GDB是一个强大的调试器。它可用于查找代码错误、跟踪堆栈、检测内存泄漏等问题,并提供了丰富的调试信息和交互式命令。

  5. Emacs:Emacs是一个全功能的文本编辑器,同时也提供了强大的编程开发环境,模拟终端、电子邮件客户端、日历、计算器等功能。

  6. Coreutils:Coreutils是一个基本功能集合,包括了许多核心命令行工具,如cat、ls、cp、mv等。

  7. Diffutils:Diffutils是一个用于比较文件之间差异的实用程序。它可以检测文件内容中的更改、删除和添加,并生成详细报告。

总的来说,GNU工具提供了一种对Unix-like系统进行强大而灵活控制及操作的方式,成为许多开发者和用户经常使用的工具集。

1.1.3 图形化桌面环境

Linux桌面环境是一种用户界面,它提供了可视化的交互方式,使得用户可以更方便地在Linux操作系统中使用和管理应用程序、文件和设置等。Linux上有很多不同的桌面环境可供选择,下面列举了一些比较常见的:

  1. GNOME:GNOME是一款流行的桌面环境,拥有现代、简洁的用户界面和大量的功能。GNOME主打易用性和可访问性,在图形UI前端下以鼠标和键盘执行各种任务。

  2. KDE Plasma:KDE Plasma是另一个常用的桌面环境,也是最常用的,它提供了非常强大而灵活的用户界面。KDE应用程序遵从一致的设计原则,因此整个系统感觉很完整而连贯。

  3. Xfce:Xfce是一款轻量级的桌面环境,适合运行在较老或较低端的计算机上。它提供了一个资源友好、易于定制、开箱即用的桌面体验。

  4. LXDE/LXQt:LXDE和LXQt都是非常轻量级且性能优秀的桌面环境,它们适用于资源有限的系统,例如嵌入式设备和老旧计算机。

  5. Cinnamon:Cinnamon是基于GNOME 3的一个分支,有一种类似Windows的桌面体验。Cinnamon提供了现代、简洁的界面和大量的用户定制选项,并容易上手。

总的来说,Linux桌面环境非常丰富,可以根据不同用户的需求和偏好进行选择。无论使用什么样的桌面环境,都可以在Linux系统中获得高度的自由度和可定制性。

1.1.4 应用软件

Linux系统作为一款免费、开源的操作系统,有大量的应用程序可供选择。下面列举了一些比较流行和常用的Linux应用软件:

  1. 网络浏览器:Firefox和Chrome是在Linux上广泛使用的两个网络浏览器。还有其他的WebKit、QtWeb等。

  2. 生产力工具:LibreOffice是一个自由和开源的办公套件,包括了文本处理、电子表格、演示文稿、绘图等各种功能。另外,还有像Gnumeric、Krita、Inkscape等专业性和更轻量级的生产力工具可选。

  3. 媒体播放器:VLC是一个流行的多媒体播放器,所有平台都可以使用,但Linux用户尤其关注。此外Audacious、Amarok、Rhythmbox、Clementine都是不错的选择。

  4. 图形编辑工具:GIMP(GNU Image Manipulation Program)是一款强大的开源图形编辑软件,可用于修饰图片、创建数字艺术等。除此之外,还有像Krita、Inkscape、Blender等工具供用户选择。

  5. IDE:VS Code、Eclipse、Pycharm等IDE非常适合进行编码工作,他们支持多种语言及代码特征,并提供了各种现代能力如整合调试器、编辑器主题、插件机制等等。

  6. 终端工具:终端仿真器(terminal emulator)是一种允许用户在Unix/Linux系统上运行命令的应用程序。常见的终端仿真器有GNOME终端、Konsole和Tilix。此外,还有像htop、tmux、vim、nano等终端下的实用工具供选择。

这只是Linux应用软件的冰山一角,还有许多其他的应用程序可以在Linux操作系统上使用。由于Linux开放的技术架构,社区紧密合作所带来的新应用拓展是无比巨大的,而且看到我们目前也进入了一个更支持Linux和自由型开源原则的时代。


http://www.niftyadmin.cn/n/286186.html

相关文章

计算机组成原理 4.2.1存储芯片连接

连接原理 主存储器 通过数据总线、地址总线和控制总线和CPU相连数据总线的位数正比于数据传输率地址总线的位数决定可寻址的最大地址空间控制总线(读/写)指出总线周期的类型和本次输入/输出完成的时刻 但是实际中存储芯片往往很小难以满足地址和数据的位数需求,此…

2d俯视视角游戏,可以切换多种枪械

文章目录 一、 介绍二、 人物移动、鼠标控制转向三、子弹脚本四、子弹随机抛壳五、 爆炸特效六、 发射子弹七、 子弹、弹壳对象池八、 散弹枪九、 火箭弹、发射火箭十、 下载工程文件 一、 介绍 2d俯视视角游戏。 人物视角跟随鼠标移动 多种枪械 抛壳效果 多种设计效果 对象池…

pytorch学习率设置——optimizer.param_groups、对不同层设置学习率、动态调整学习率。

文章目录 前言1、关于optimizer.param_groups2、设置学习率3、optim 提供的优化器 前言 我的需求:我需要在yolov7中更改其中一层的学习率,但yolov7的学习率是随着eporch的变化动态变化的。 1、关于optimizer.param_groups “param_groups” 是 Pytorch…

快排代码原理实现

参考博客:快速排序算法详解(原理、实现和时间复杂度) 排序算法的思想非常简单,在待排序的数列中,我们首先要找一个数字作为基准数(这只是个专用名词)。为了方便,我们一般选择第 1 个…

Python基础篇

大家好,我是易安! Python语言比起C、Java等主流语言,语法更简洁,也更接近英语,对编程世界的新人还是很友好的,这也是其显著优点。最近总有人问我Python相关的问题,这些问题也偏基础,…

身份鉴别解读与技术实现分析(1)

6.1.4.1 身份鉴别 本项要求包括: a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换; b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施 在等级保护体系中,级别越高…

【STM32】基础知识 第十一课 时钟

【STM32】基础知识 第十一课 时钟 概述时钟系统的基本概念什么是时钟时钟树锁相环APB 时钟树F1 系列时钟树F4 系列时钟树F7 系列时钟树H7 系列时钟树 系统时钟配置系统时钟配置步骤外设时钟的使能和使能HAL_RCC_OscConfig() 函数HAL_RCC_ClockConfig() 函数 概述 STM32 微控制…

MobileViT神经网络模型

官方源码(Pytorch实现) : https://github.com/apple/ml-cvnets 原文链接:https://blog.csdn.net/qq_37541097/article/details/126715733 霹雳吧啦Wz从ml-evnets仓库中剥离的代码: deep-learning-for-image-processing/pytorch_classification/MobileViT at master…