Linux的Shell基础知识总结

Shell 简介

  1. 图形界面和命令行的目的一样,都是让用户控制计算机。
  2. 真正控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel)。
  3. 图形界面和命令行只是架设在用户和内核之间的一座桥梁。
  4. Shell 是一个应用程序,连接用户和 Linux 内核,让用户能够高效、安全、低成本地使用 Linux 内核。
  5. Shell 不是内核的一部分,它是在内核的基础上编写的一个应用程序,和其它软件没有什么区别。
  6. Shell 有它的特殊性: 开机立马启动,不启动 Shell,用户没法使用 Linux。
  7. Shell 熟练度反映Linux掌握程度,运维工程师、网络管理员、程序员都应该学习 Shell。
  8. Shell 是解释型语言或者脚本语言(Script)。
  9. 编译型语言速度快、硬件要求低、保密性好,适合开发操作系统、大型应用程序、数据库等。脚本语言则灵活、部署容易、跨平台性好,非常适合 Web 开发以及小工具的制作。
  10. Shell 脚本很适合处理纯文本类型的数据,而 Linux 中几乎所有的配置文件、日志文件(如 NFS、Rsync、Httpd、Nginx、MySQL 等),以及绝大多数的启动文件都是纯文本类型的文件。
  11. Shell 脚本是实现自动管理以及自动化运维必备工具。Linux管理或运维,熟练编写Shell 脚本,提升运维工作效率,减少重复劳动

Shell 是如何连接用户和内核的

  1. Shell 接收用户输入的命令,并进行处理,后再将结果反馈给用户,比如输出到显示器、写入到文件等,

  2. Shell 程序本身的功能是很弱的,比如文件操作、输入输出、进程管理等都得依赖内核。

  3. 运行命令,大部分情况下 Shell 都会去调用内核暴露出来的接口,这就是在使用内核,

  4. 调用过程被 Shell 隐藏了起来,它只是在背后默默进行,我们看不到而已。

  5. 接口其实就是一个一个的函数,使用内核就是调用这些函数,除了函数,你没有别的途径使用内核。

举例说明Shell运行过程

我们都知道在 Shell 中输入cat log.txt命令就可以查看 log.txt 文件中的内容,然而,log.txt 放在磁盘的哪个位置?分成了几个数据块?在哪里开始?在哪里终止?如何操作探头读取它?这些底层细节 Shell 统统不知道的,

  1. 它只能去调用内核提供的 open() 和 read() 函数,告诉内核我要读取 log.txt 文件,请帮助我,
  2. 然后内核按照 Shell 的命令去读取文件,并将读取到的文件内容交给 Shell,
  3. 最后再由 Shell 呈现给用户(其实呈现到显示器上还得依赖内核)。
  4. 整个过程中 Shell 就是一个中介者,它在用户和内核之间“倒卖”数据,只是用户不可见。

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

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

相关文章

Redis 开源协议变更背后:开源软件与云计算巨头的竞争博弈

01 背景 在云计算的风潮下,开源软件的生态环境正在经历一场剧变。2024 年 3 月 20 日,这种变化在 Redis 身上得到了集中体现。Redis 商业公司 CEO Rowan Trollope 宣布,Redis 将从 BSD 3-Clause 许可证过渡到双重许可证模式,包括…

【Redis】Redisson实现分布式锁

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。 官网地址 GitHub地址 Redisson入门 1.引…

Nexus3 Docker 私有仓库

Nexus3 Docker 私有仓库 安装并部署 Nexus3 $ docker search nexus3$ docker pull sonatype/nexus3$ mkdir /home/tester/data/docker/nexus3/sonatype-work $ sudo chown -R 200 /home/tester/data/docker/nexus3/sonatype-work$ docker run -d --namenexus3 \ --restartalw…

【P1518】[USACO2.4] 两只塔姆沃斯牛 The Tamworth Two

[USACO2.4] 两只塔姆沃斯牛 The Tamworth Two 题目描述 两只牛逃跑到了森林里。Farmer John 开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和 John)。 追击在 10 10 10 \times 10 1010 的平面网格内进行。一个格子可以是&#xff1…

面试题目--3.19

1.foo()和foo()之间有什么区别? 代表所有的warning忽略 2.什么是csrf攻击?如何防范? csrf,跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或者破坏系统。 基本原理:用户访问a网站登录并生成了coo…

亲历中国智驾大战,吴新宙加入NVIDIA半年后首秀

‍作者 |张祥威 编辑 |德新 吴新宙近日现身NVIDIA GTC,这是其从小鹏汽车离开加入NVIDIA之后的首次公开亮相。 吴目前担任NVIDIA汽车事业部副总裁,全面负责NVIDIA的车载计算产品线DRIVE平台的产品定义以及工程落地工作。吴新宙最广为人知的经历&#xf…

3.28C++

复数类的实现&#xff0c;写出三种构造函数&#xff0c;算术运算符、关系运算符、逻辑运算符重载尝试实现自增、自减运算符的重载 #include <iostream> using namespace std; class Num {int rel; //实部int vir; //虚部 public:Num():rel(2),vir(1){}Num(int rel,…

深入解析RSA算法原理及其安全性机制

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 一、RSA算法简介二、RSA算法原理2.1 背景与数学基础2.2 密钥生成2.3 加密过程2.4 解密过程 三、安全性考虑四、RSA的使用五、…

数据结构进阶篇 之 【二叉树链序存储】的整体实现讲解

封建迷信我嗤之以鼻&#xff0c;财神殿前我长跪不起 一、二叉树链式结构的实现 1.二叉树的创建 1.1 手动创建 1.2 前序递归创建 2.二叉树的遍历 2.1 前序&#xff0c;中序以及后序遍历概念 2.2 层序遍历概念 2.3 前序打印实现 2.4 中序打印实现 2.4 后序打印实现 2.…

SpringBoot项目启动成功,但是调用接口直接报NOT FOUND 404

问题描述 SpringBoot项目启动成功&#xff0c;但是调用接口直接报NOT FOUND 404 解决办法 启动类中ComponentScan(basePackages {“com.afclab”})中的扫包路径和项目路径不一样&#xff0c;导致扫不到Controller等组件&#xff0c;修改成和项目路径一样就可以解决&#xf…

MYSQL高阶语句(一)

目录 一、常用查询 1、order by 按关键字排序 1.升序排序 2.降序排序 3.结合where进行条件过滤再排序 4.多字段排序 2、区间判断及查询不重复记录 1. and / or 且与或的使用 2.嵌套、多条件使用 3.distinct 查询不重复记录 3、GROUP BY 对结果进行分组 4、Li…

web渗透测试漏洞复现:Hadoop 未授权访问漏洞复现并getshell

web渗透测试漏洞复现 1. Hadoop 未授权访问漏洞复现1.1 Hadoop简介1.2 Hadoop资产搜索1.3 Hadoop未授权漏洞复现1.3 Hadoop未授权漏洞修复建议1.5 拓展利用---Hadoop未授权getshell1.5.1 攻击链路分析1.5.2 Hadoop getshell漏洞利用1.5.3 脚本方法一:反弹shell1.5.4 脚本方法二…

独立站攻略|如何使用SEO代理优化网站排名?

每天&#xff0c;互联网上都会生成和共享大量信息&#xff0c;这使得预测哪个关键字或主题将成为趋势变得很有挑战性&#xff0c;因此人们可以预测和优化他们的搜索引擎排名。但使用“SEO 代理”&#xff0c;就会使得SEO优化更加有效且精准。 一、什么是SEO&#xff1f; 简而言…

数据库中的约束的简介,什莫是约束,常见的约束,非空约束

目录 (一).。。。。。。。。概述: 1.1为什么需要约束 1.2什莫是约束

2024 年广西职业院校技能大赛高职组《云计算应用》赛项样卷

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜…

Ainx的多路由模式

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

Maximum Sum(贪心策略,模运算,最大子段和)

文章目录 题目描述输入格式输出格式样例输入1样例输出1样例输入2样例输出2提交链接提示 解析参考代码 题目描述 你有一个由 n n n 个整数组成的数组 a a a 。 你要对它进行 k k k 次操作。其中一个操作是选择数组 a a a 的任意连续子数组(可能为空)&#xff0c;并在数组的…

ubuntu的常用操作

一、用户 1.1 创建新用户 1.1.1 添加、修改、删除 1.2 超级用户root 切换到root用户&#xff0c;有全部权限&#xff0c;可以直接使用任何命令。 我们在什么时候才会切换到root用户进行操作呢&#xff1f;当我们使用某些命令&#xff0c;不想前面一直加sudo的话&#xff0c;…

2024年【道路运输企业主要负责人】考试题库及道路运输企业主要负责人报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业主要负责人考试题库根据新道路运输企业主要负责人考试大纲要求&#xff0c;安全生产模拟考试一点通将道路运输企业主要负责人模拟考试试题进行汇编&#xff0c;组成一套道路运输企业主要负责人全真模拟考…

1.7.2 python练习题15道

1、求出1 / 1 1 / 3 1 / 5……1 / 99的和 (1分之一1分之三1分支5....) 2、用循环语句&#xff0c;计算2 - 10之间整数的循环相乘的值 &#xff08;2*3*4*5....10) 3、用for循环打印九九乘法表 4、求每个字符串中字符出现的个数如&#xff1a;helloworld 5、实现把字符串str …