《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell

简介: 本章内容1、什么是Linux2、Linux内核的组成 1、1 什么是LinuxLinux课划分为以下四部分a)Linux内核b)GNU工具c)图形化桌面环境d)应用软件 1.1.1 深入探究Linux内核内核主要负责以下四种功能a)系统内存管理b)软件程序管理c)硬件设备管理d)文件系统管理 1、系统内存管理内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。

本章内容

1、什么是Linux

2、Linux内核的组成

 

1、1 什么是Linux

Linux课划分为以下四部分

a)Linux内核

b)GNU工具

c)图形化桌面环境

d)应用软件

 

1.1.1 深入探究Linux内核

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

a)系统内存管理

b)软件程序管理

c)硬件设备管理

d)文件系统管理

 

1、系统内存管理

内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。

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

内存存储单元按组划分成很多块,这些块被称为页面(page)。内核将每一个内存页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存,哪些页面被换到了磁盘上。

内核会记录那些内存页面正在使用,并自动把一段时间未访问的内存页面复制到交换空间区域(称为换出,swapping out)——即使还有可用内存。

当程序要访问一个已经被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给他让出空间,然后从交换空间换入请求的内存页面。

 

2、软件程序管理

Linux操作系统将运行中的程序称为进程。内核控制着Linux系统如何管理运行在系统上的所有进程。

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

 

3、硬件设备管理

内核的另一个职责是管理硬件任务。

任何Linux系统需要与之通信的设备,都要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。

Linux系统将硬件设备当成特殊的文件,称为设备文件。

 

4、文件系统管理

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

 

 

shell是一种特殊的交互工具。他为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。

 

相关文章
|
8月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
774 9
|
8月前
|
算法 Linux Shell
Linux实用技能:打包压缩、热键、Shell与权限管理
本文详解Linux打包压缩技巧、常用命令与原理,涵盖.zip与.tgz格式操作、跨系统传文件方法、Shell运行机制及权限管理,助你高效使用Linux系统。
Linux实用技能:打包压缩、热键、Shell与权限管理
|
8月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
787 2
|
10月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
1183 1
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
631 13
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
1017 12
|
11月前
|
Java Linux 开发工具
Linux下版本控制器(SVN) -命令行客户端
Linux下版本控制器(SVN) -命令行客户端
373 4
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1933 25
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
371 4
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
317 18