第一章:初始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月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
122 4
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
267 3
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
428 25
|
5月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
90 18
|
12月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
7月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
590 32
|
10月前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
|
11月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
226 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
10月前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
12月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余