第一章:初始Linux shell

简介: 第一章:初始Linux shell

初始Linux shell

1.1什么是Linux

liunx可以分为以下四部分:

1.Liunx内核

2.GNU工具

3.图形化桌面环境

4.应用软件

1.1.1深入探究Linux内核

内核主要负责以下四种功能:

1.系统内存管理

2.软件程序管理

3.硬件设备管理

4.文件系统管理

1.系统内存管理

  操作系统内核的主要功能之一就是内存管理。内核不仅仅管理服务器上的可用的物理内存,还可以创建和管理虚拟内存。
  内核通过硬盘上的存储空间来实现虚拟内存,这块区域成为交换空间。内核不断地在交换空间和实际物理内存之间反复交换虚拟内存中的内容。。这使得系统认为它拥有比物理内存更多的可用内存。
  内存存储单元按组划分成很多块,这些块称之为页面。内核将每个内存页面放在物理内存或交换空间。然后内核会维护一个内存页面表,指明哪些页面位于物理内存内,哪些页面被换到磁盘上。
  内核会记录哪些内存页面正在使用,并自动把一段时间为访问的内存页面复制到交换空间区域,称为换出--即使还有可用的内存。当程序要访问一个已被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给它让出空间,然后从交换空间换入请求的内存页面。

2.软件程序管理

  Linux操作系统将正在运行中的程序称为进程。内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,它会将init进程加载到虚拟内存中。内核在启动其他进程时,都会在虚拟内存中给新进程分配一块专有的区域来存储该进程用到的数据和代码。

3.硬件设备管理

  内核的另一个职责是管理硬件设备。任何Linux系统需要与之通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备之间的中间人,允许内核与设备之间交换数据。在Liunx内核中有两种方法用于插入设备驱动代码。
  1.编译进内核代码的设备驱动代码
  2.可插入内核的设备驱动模块
  Linux系统将硬件设备当成特殊文件,称为设备文件。设备文件分为3类:
  1.字符型设备文件
  2.块设备文件
  3.网络设备文件
  字符型设备文件是指处理数据是每次只能处理一个字符设备。块设备是指处理数据时每次能处理大块数据的设备。网络设备文件是指采用数据包发送和接收数据的设备。
  Linux为系统上的每个设备都创建一个称为节点的特俗文件。与设备的所有通信都通过设备节点完成。每个节点都有唯一的数值对供Linux内核标识它。数值对包括一个主设备号和一个次设备号。类似的设备被划分到同样的主设备号下。次设备用于标识主设备组下的某个特定设备。

4文件管理系统

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

GNU工具

除了由内核控制硬件设备外,操作系统还需要执行一些标准功能,比如控制文件和程序


1.核心的GUN工具

  GNU项目的主旨在于为Unix系统管理员设计出一套类似于Unix的环境。供Linux系统使用的这组核心工具被称为coreutils软件包。
GNU coreutils软件包由三部分构成:
1.用以处理文件的工具
2.用于操作文本的工具
3.用以管理进程的工具

2.shell

GNU/Linux shell 是一种特殊的交互式工具。它为用户提供启动程序,管理文件系统中的文件以及运行在Linux系统上的进程的途径。shell的核心是命令行提示符。在命令行提示符是shell负责交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。‘
shell包含了一组内部命令,用这些命令可以完成复制文件等操作。shell也允许你在命令行提示符中输入程序的名称,它会将程序名传递给内核以启动它。
也可以将多个shell命令放入文件中作为程序执行。这些文件被称为shell脚本。你在命令行上执行的任何命令都可以放进一个shell脚本里面作为一组命令执行。这为创建那种需要把几个命令放在一起来工作的工具提供了便利。

Linux桌面环境


目录
相关文章
|
4月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
2月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
50 0
Linux 如何更改默认 Shell
|
3月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
87 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
2月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
4月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
4月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
845 2
|
3月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
45 0
|
4月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
5月前
|
JavaScript 关系型数据库 Shell
Linux shell编写技巧之随机取字符串(一)
本文介绍了Linux Shell脚本的编写技巧,包括环境配置、变量命名规则和缩进语法,并提供了一个实例练习,展示如何使用`$RANDOM`变量和`md5sum`命令来生成随机的8位字符串。
81 4
|
5月前
|
监控 Shell Linux
在Linux中,如何使用shell脚本进行系统监控和报告?
在Linux中,如何使用shell脚本进行系统监控和报告?