<1> linux与shell的关系

2023-11-13

在正式学习shell命令之前,如果你还对linux与shell的关系不甚了解,请耐心看完这篇简介,本文简要梳理了操作系统、shell的关系和作用。

一个完整的计算机,整体结构如下图:

①我们的计算机由硬件组成,包括CPU、内存、主板、磁盘、各种外设等等。当这台计算机没有安装任何软件,只是一个硬件的集合体时,也叫做 裸机(纯硬件)。

②操作系统是系统软件,操作系统的内核控制着和管理计算机上的所有硬件和软件,从而进行任务调度、资源分配等。操作系统起到承上启下的作用。

③我们平时使用的应用软件(或叫应用程序),如QQ音乐、英雄联盟等,是基于操作系统开发的,可以理解为在操作系统的上层。这些程序的开发往往调用了操作系统提供的接口,离开了操作系统是无法独立运行的。

Shell是一个特殊的应用程序,介于操作系统内核和用户之间,是一个“命令解释器”,负责接受用户输入的指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果返回给用户。

在linux早期是没有图形化界面的,与系统进行交互的唯一方式就是通过shell提供的命令行界面(command-line interface, CLI)。同样在工作中,需要通过本机登录内网开发机,使用命令行界面进行开发,从而保障安全性。

命令行界面只接受文本输入。我们想使用shell进行开发,则需要深入了解shell的命令,后续文章会对shell命令进行详细的介绍,本专栏主要针对想入门shell的新同学,有问题欢迎评论或私信,共同交流,一般周末公司不加班都会回复~~~

PS : 在厂里搬砖,基本都是在linux机器上进行开发的。很多同学在校时大多在机子上装个Pycharm之类的IDE就足够完成科研任务了,这也使得刚工作后不太熟悉linux开发的节奏。憋慌,shell编程简单易上手,稍加练习便可入门,加油!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

<1> linux与shell的关系 的相关文章

  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • Docker:处理 tar 文件时出错(退出状态 1):设置枢轴目录时出错:不是目录

    我是 Docker 新手 不知道是什么原因导致此错误或如何诊断它 任何有关此问题的具体帮助或有关首先检查何处以诊断此类问题的提示将不胜感激 我的 Dockerfile FROM java 8 Install maven RUN apt ge
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 使用 sed 删除非字母数字字符

    我正在尝试验证一些输入以删除一组字符 只允许使用字母数字字符加 句点 下划线 连字符 我测试了正则表达式 w here http gskinner com RegExr http gskinner com RegExr 它与我想要删除的内容
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行

随机推荐

  • 【LeetCode第1场双周赛】

    第 1 场双周赛 A 模拟 class Solution public int fixedPoint vector
  • 计算机网络设备子系统,网络综合布线七大子系统详细讲解

    打开APP 查看更多精彩图片 在实施时主要注意以下几点 1 确定介质布线方法和线缆走向 2 双绞线的长度一般不超过90m 3 尽量避免水平线路长距离与供电线路平行走线 应保持一定的距离 非屏蔽缆线一般为30cm 屏蔽缆线一般为7cm 4 线
  • 基于STM32的LVGL的实时日历设置界面

    基于STM32的LVGL的实时日历设置界面 提示 STM32 RTC littlevgl GUI 设置时间代码 if obj Set time btn 点击对象为设置按钮 if event LV EVENT RELEASED uint8 t
  • 轻量级Transformer模型ConvBERT架构及完整源码实现

    第28章 使用Local dependency轻量级Transformer模型ConvBERT架构内幕及完整源码实现 1 BERT依赖global self attention而带来的问题分析 2 BERT不同Layer的computati
  • 向电脑(windows11 OS环境)的所有外挂移动硬盘写入数据提示目标文件夹访问被拒绝的解决方法

    向电脑 windows11 OS环境 的所有外挂移动硬盘写入数据 就是在粘贴文件 出现以下提示框 解决办法流程如下 运行窗口 输入 gpedit msc 命令 按 确定或回车 快速打开本地组策略编辑器 本地组策略编辑器窗口 依次展开 计算机
  • esp32-S3专题二:内存2之RTC内存、FLASH使用

    承接上文 讲一下esp32上剩下的几个存储空间的用途 目录 一 RTC存储器 一 RTC 快速存储器 二 RTC 慢速存储器 二 Flash 一 NVS 表 二 程序和OTA分区 三 SPIFFS 文件系统 三 总结 一 RTC存储器 es
  • 不安全的加密算法

    不安全的加密算法 SKIPJACK RC4 RSA 1024位以下 des md2 md4 md5 属于经过验证 安全的 公开的加密算法 RSA DSA ECDSA 加入盐值的SHA256 推荐使用的数字签名算法有 DSA ECDSA
  • 值得重点推荐的BI软件有哪些?全在这里了

    在数字化程度越来越高的趋势下 发挥着推动企业数字化转型重要作用的商业智能BI也在不断提升市场份额 也催生出不少的BI软件新星 那么 BI软件有哪些 哪些BI软件更普遍适用于不同行业 针对这些问题 我们做了以下总结 BI软件有哪些 国内比较老
  • goland missing dependency错误

    新建一个项目 里面引用到第三方的包 项目编译没有问题 可是在goland里按住ctrl 鼠标点击打算跳转到第三方包相应的实现时却跳转不了 import的第三方也标红 同时go mod文件该第三方包也是标红的 看这篇文章 出现的问题和我的比较
  • moviepy音视频开发:音频拼接函数concatenate_audioclips介绍

    前往老猿Python博文目录 concatenate audioclips函数用于将多个音频剪辑进行拼接合成一个顺序播放的剪辑 调用语法 concatenate audioclips clips 说明 clips参数用于存放需要顺序拼接的音
  • 【备忘】Linux上传文件,下载文件

    背景小故事 这次在迁移服务器的时候要把ssl文件传到Linux里面 但是我又不想用ide来传 之前看同事演示过 当时没记住 感觉他简单操作就可以了 这次打算学会它 这功能用得不多 平常都不怎么使用 我们也可以用客户端连接服务器进行上传 方法
  • Android 设备 设置adb自动监听tcp 5555端口,重启有效

    Android 设备调试有两种连线方式 有线和无线 有线是通过USB导线连接android设备和电脑端 无线方式是通过连接WIFI 通过TCP的方式 连接设备和电脑端 一般用 5555端口 有线的调节 只需要打开调试模式基本就可以了 无线连
  • VirtualBox 安装32位Windows 7和64位Windows Sever 2008R2 双系统图文教程——利用VHD技术

    VirtualBox 安装32位Windows 7和64位Windows Sever 2008R2 双系统图文教程 利用VHD技术 先说说为什么要装双系统 因为想用一个系统只是用来休闲娱乐上网 聊天 看视频等等 所以这个时候坚决抵制一切数据
  • 【问题解决记录】无法识别的标志“-sdlMode”,在“p2”中

    问题解决记录 无法识别的标志 sdlMode 在 p2 中 参考文章 1 问题解决记录 无法识别的标志 sdlMode 在 p2 中 2 https www cnblogs com dbylk p 5133739 html 3 https
  • 30天自制操作系统第4天harib01a

    30天自制操作系统 第4天 C语言与画面显示的练习 用C语言实现内存写入 harib01a harib01a 准备材料 windows环境 VMware Workstation Visual Studio Code 程序和源代码 https
  • 如何为你的网站添加二级域名?

    一般公司注册的域名支持添加20个二级域名 辅助域名的添加与www的主域名相同 填写二级域名的名称 如bbs 并填写二级域名对应的IP 如果你的域名是www 98yun com bbs 这是一个论坛 你想添加一个bbs 98yun com 这
  • 大数据之——Zookeeper个人讲解

    一 zookeeper的概念 1 ZooKeeper是一个分布式的 开放源码的分布式应用程序协调服务 是Google的Chubby一个开源的实现 是Hadoop和Hbase的重要组件 它是一个为分布式应用提供一致性服务的软件 提供的功能包括
  • 用IDEA编写第一个JAVA程序

    第一步 打开IDEA IDEA下载链接 IntelliJ IDEA The Capable Ergonomic Java IDE by JetBrains 第二步 选择新建一个空项目 第三步 java项目的文件层次是 项目 包 类 创建一个
  • 6.2小车循迹,跟随,摇头测距功能实现

    1 循迹小车 1循迹模块的使用 TCRT5000传感器的红外发射二极管不断发射红外线 当发射出的红外线没有被反射回来或被反射回来但强度不够大时 红外接收管一直处于关断状态 此时模块的输出端为高电平 指示二极管一直处于熄灭状态 被检测物体出现
  • <1> linux与shell的关系

    在正式学习shell命令之前 如果你还对linux与shell的关系不甚了解 请耐心看完这篇简介 本文简要梳理了操作系统 shell的关系和作用 一个完整的计算机 整体结构如下图 我们的计算机由硬件组成 包括CPU 内存 主板 磁盘 各种外