Linux Shell系列学习(1)

Linux Shell编程 ​ Shell是一个命令行解释器程序规范,他接受应用程序/用户命令,然后调用操作系统内核完成相关的功能。它是用户使用 Linux 的桥梁。简单来说Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。也可以这样认为,linux中的shell就是linux内核的一个外层保护工具,并负责完成用户与内核之间的交互​ Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强。 阅读详情

一、关于Shell

Shell是用C语言编写的程序,是用户使用Linux或Unix的桥梁。

1、Shll 既是一种语言命令,又是一种程序设计语言。

        Shell 作为命令语言,可以交互式的解释和执行用户输入的命令;作为程序语言,可以定义各种变量和参数,并提供了高级语言中才有的控制结构,包括循环和分支。Shell 虽然不是Linux或Unix系统内核的一部分,但是可以调用系统核心的大部分功能来执行程序、建立文件并以并行的方式来协调各个程序的运行。

2、Shell 的执行命令的两种方式

交互式:解释执行用户的命令,即用户输入一条命令,Shell就解释一条命令。

批处理:用户事先编写一个Shell脚本,其中包含狠毒命令,让shell一次把这些命令执行完毕。

3、Shell 脚本与编程语言的区别

Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是用来解释执行的,不需要编译。

4、常用的 Shell 类型

Shell 脚本是一种脚本语言,需要要有解释器来执行。

Unix和Linux 上常见的 Shell 脚本解释器有 bash、sh、csh、ksh 等,习惯上把他们称作一种shell。

4.1 bash

bash 是Linux标准默认的shell,由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的缩写,内部命令一共有40个。有以下优点:

       1)、可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令

       2)、自动通过查找匹配的方式给出以某字符串开头的命令

       3)、包含了自身的帮助功能,主要在提示符下输入help就能得到相关帮助

4.2 sh

由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell(bash完全兼容sh)。

4.3 ash

由Kenneth Almquist编写的,Linux中占用系统资源最少的一个小shell,它只包含24个内部命令,因而使用起来很不方便。

4.4 ksh

由Eric Gisin编写,是Korn shell的缩写,共有42条内部命令。该shell最大的优点是几乎和商业发行版的ksh完全兼容(可以在不花钱购买商业版的情况下尝试商业版本的性能)。

4.5 csh

csh 是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该shell其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。

Linux学习 shell编程 1、linux提供的解释器有哪些:2、bash和sh的关系sh实际就是bash的一个软链接(快捷方式)3、rocky linux 默认解析器是bash。 阅读详情

相关推荐

Linux shell中“2&1”详解

Linux shell中“2>&1”详解 ​ 这几天在搭建openstack平台搭建基础环境时要在计划任务中进行定期的时间同步,命令如下: */5 * * * * /usr/sbin/ntpdate -u time1.aliyun.com >> /dev/null 2>&1 & ​ 后面的"2>&1 &"不是很理解,上网查了查明...

Eloim_Ct的博客 1709

LINUX命令和SHELL

shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。

Miraitowa_xu的博客 1619

别再只看读写速度了!聊聊手机闪存eMMC、UFS3.1和SSD背后的功耗与体积玄学

本文深入探讨手机闪存技术eMMC、UFS3.1和SSD在功耗与体积设计上的关键差异。通过对比接口技术、封装工艺和温度管理,揭示移动存储如何在有限空间内平衡性能与能效,为消费者提供选购参考。重点关注UFS3.1的差分信号设计和全双工架构带来的显著优势。

weixin_27061475的博客 449

linux通过shell编写一段程序,输出1~10的平方数,实验五SHELL编程基础1

实验五 SHELL编程基础(1)1、实验目的要求(1)了解 Shell 的作用和主要分类。(2)掌握Shell作用和主要分类等基础知识。 (3)了解 Bash的一般语法规则。(4)LINUX环境下常用命令和VI编辑器的操作。2、实验主要内容练习编写简单的 shell程序,题目如下:。1.用while语句创建一个根据输入的数值求累加和(1+2+3+。。。。+n)的shell程序。 2.使用...

weixin_32349561的博客 4143

跟着团子学SAP EPPM:项目管理常见的集成场景(PPM\PS\MS Project)

在SAP的EPPM解决方案中,针对企业战略级别的投资组合管理首先是定义合适的投资组合的层级结构,在投资组合下可以通过不同维度去定义投资篮(Portofolio Bucket)进行层层拆分,在最下层级的投资篮下可以分配明细的投资项(Portofolio Item),投资项可以是独立的一个一个具体执行的项目,也可以是单纯的一次服务等等。 今天主要聚焦在投资项的维度展开讲一下在SAP中投资项常见的几种集成模式: 集成场景1:使用PPM中的Project Management进行项目管理 第一个场景是在创建投资项

Lucas1211的博客 4141

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入,结合Developer实现

weixin_42412049的博客 1811

Linux中的一些常见变量:SHELL,PATH,PS1,BASHPID

PS1是一个强大的工具,可以帮助用户根据个人喜好自定义终端提示符的外观,从而提升工作效率和使用体验。SHELL变量在 Linux 环境中非常重要,因为它指定了用户的默认命令行解释器,这影响到命令的执行、脚本的运行和用户的工作流程。了解和正确配置SHELL变量可以帮助用户更高效地使用系统。PATH变量在 Linux 系统中至关重要,它决定了系统如何找到并执行命令。通过理解和正确配置PATH变量,用户可以更有效地管理和运行系统中的可执行文件。BASHPID。

眷怀的博客 1668

Sigrity System Explorer ViaWizard模式进行过孔建模和仿真分析操作指导

点击TVac_lower tdvac_lower,自动跳转到2D时域曲线,查看最小低电平穿过VIL(ac)max电压的延时,结果如下。点击TVac_high tdvac_high,自动跳转到2D时域曲线,查看最小高电平穿过VIH(ac)min电压的延时,结果如下。点击max Vix_Rise,自动跳转到2D时域曲线,查看上升边PN交叉点与参考电压VREF(dc)的偏差,结果如下。Threshold:阈值,软件自带3个模板,default,Tr01,Tr02,本例选择Default。

weixin_54787054的博客 572

Linux的Shell脚本1

文件 内容/etc/profile 应用于所有用户的全局配置脚本。~/.bash_profile 用户私人的启动文件。可以用来扩展或重写全局配置脚本中的设置。~/.bash_login 如果文件 ~/.bash_profile 没有找到,bash 会尝试读取这个脚本。~/.profile 如果文件 ~/.bash_profile 或文件~/.bash_login 都没有找到,bash 会试图读取这个文件。这是基于 Debian 发行版的默认设置,比方说 Ubuntu。

Lenn Louis' Scribe 1299

Arcgis模型构建器01——写一个简单的模型

在使用模型构建器解决这个需求之前,我们要想清楚如果我们手动解决的话,应该如何去处理,因为构建模型的过程正是基于我们手动处理的过程来构建的。我有一个全国的dem影像数据和一个陕西省边界范围矢量,现在我想获取陕西省的dem影像的坡度数据。填写完之后点击确定,我们发现,两个输入数据和工具连接起来了,并且通过裁剪工具得到一个中间结果,即。我们发现工具框和中间数据框都存在阴影,说明已经运行过了这个模型,不报错就说明模型运行成功!现在我们就把数据和工具都串联起来了,成功构建好了模型。

爱吃雪糕的小布丁的博客 921

ArcGIS Pro 3.4 二次开发 - 布局

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作布局工程项的相关方法。主要内容包括:引用布局工程项和关联布局,在新视图中打开或激活已有布局视图,引用活动布局视图,导入/移除布局工程项,创建基本布局或带参考线的自定义布局,修改布局页面尺寸,以及创建圆形图形元素等操作。重点演示了如何通过CIM(Core Infrastructure Model)进行高级布局配置,并详细说明了圆形图形元素的创建过程,包括几何构建、符号设置和图形生成。所有涉及UI线程的操作都遵循ArcGIS Pro SDK

Winemonk 796

<1> linux与shell的关系

shell编程,全面介绍shell编程中的各种命令,以及一些在工作中的使用经验、踩过的坑等。

fatfatmomo的博客 3226

文献综述三大痛点用AI轻松解决!借助Gemini 3 Pro搞定检索难、阅读慢、框架乱问题(附 AI 提示词)

4)“漏斗式”结构:先介绍宏观领域的研究现状,再缩小范围,聚焦于与你课题直接先关的子领域,深入探讨与你研究变量直接相关的文献, 指出前人没做过、没做全或结论有矛盾的地方,再顺势提出你的研究课题,这种结构逻辑最清晰,能直接引导读者发现你研究的必要性。想要有针对性的搜到相关文献,必须先把模糊的研究题目拆解成精准的检索语言,这个时候就需要建立一个关键词矩阵,如核心词、同义词、学术术语、上下位词,以及对应的英文表达。请围绕【我的研究主题/关键词】,检索近5年发表的高被引的中英文文献,优先选择顶刊综述/论文。

智能AI让学术科研更容易 277

linux复习1:shell概念

Shell 主要分为两类:命令行界面(CLI, Command Line Interface)和图形用户界面(GUI, Graphical User Interface)。这里主要讨论的是命令行界面的 Shell。

weixin_73376914的博客 1125

Ubuntu Rtx3090 Cuda11.7 安装 pytorch3d

pytorch ubuntu pytorch3d 安装

G果的博客 2274

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LINUX SHELL 中 2>&1 重定向的问题

LINUX SHELL 中 2>&1 重定向的问题 分类: Linux Shell 2011-11-19 23:35 581人阅读 评论(1) 收藏 举报 shelllinux终端outputcommandfile #man bash 里面有一段有关重定向的描述:        Note that the order of redirections is si

bjdu_jlxs的专栏 789

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux系统的Shell编程

一. 什么是Shell 1. 在学习Shell编程之前,我们应该要先知道什么是Shell 用户、Shell、Linux内核、硬件的关系如下图: Shell是一个应用程序,也可以说是一个命令解释器,它是用户和Linux内核之间的桥梁,可以将用户在图形界面上的操作或在终端输入的命令传递给Linux内核,然后Linux内核再调度各个硬件及其他资源来完成用户的操作。 什么是Linux的内核?在Linux操作系统中,真正能够操作计算机硬件完...

weixin_55118477的博客 3239

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linux Shell 1>/dev/null 2>&1 含义

shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出/dev/null:代表空设备文件>:代表重定向到哪里,例如:echo "123" > /home/123.txt1:表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"2:表示stderr标准错误&:表示等同于的意思,2>&1,表示2的输出重定向等同...

Augusdi的专栏 1700

Linux 下查看Shell类型

BSD 是 UNIX 的一个重要分支,后人在此基础上发展出了很多现代的操作系统,最著名的有 FreeBSD、OpenBSD 和 NetBSD,就连 Mac OS X 在很大程度上也基于BSD。

weixin_44513410的博客 2936

【Linux Shell】1. 简述

是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。Bash 也是大多数Linux 系统默认的 Shell。批处理文件,一次执行多个指令。(/usr/bin/sh或/bin/sh)echo 命令用于向窗口输出文本。一定要写成 ./test.sh。不需要在第一行指定解释器信息。

普罗米修斯的博客 1084

linux shell中的变量PS1------定制linux shell提示符

某次, 我的linux机器被别人登录了, 别人改变了我的linux shell中的提示符, 搞得我颇为不适应, 其实这就涉及到P1变量, 如下, 我们来玩一下: [taoge@localhost ~]$ echo $PS1 [\u@\h \W]\$ [taoge@localhost ~]$ export PS1='\d > ' Sat Nov 28 > export PS1='\H > ' lo

认知 行动 坚持 1万+

linux中的shell与bash的关系

Linux中的Shell与Bash的关系**Linux中"Shell"与"Bash"的关系**1、认识Shell2、认识Bash3、Shell与Bash关系 Linux中"Shell"与"Bash"的关系 此文属于我在学习Linux中的学习记录,便于回头查找相应文档使用,大多数解释都为其它网站引用,也用来分享给大家做个参考, 1、认识Shell 在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。

skateboy01的博客 1215

Linux Shell 和 Shell 脚本简介

负责为用户提供接口以便他/她可以访问 shell 的程序。它基本上允许用户在基于文本的界面中输入命令并查看这些命令的输出。为自动化和执行复杂任务而编写的大型脚本在终端中执行。要访问终端,只需在搜索框中搜索“终端”并双击它。打开终端在这里,您可以看到 Red Hat Linux 的终端外观。终端Shell 脚本通常,shell 是交互式的,这意味着它们接受来自用户的命令作为输入并执行它们。但是,有时我们想例行公事地执行一堆命令,因此我们每次都必须在终端中输入所有命令。

jianqimingtian的博客 924

我要学kali-linux之shell脚本编程1

学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!:在某些特殊情况下,例如使用source命令或.命令来执行脚本,脚本的执行并不依赖于脚本的执行权限。2,直接新建一个sh文件默认是没有执行权限的,但是使用编辑器命令sh 2.sh/bash 2.sh/dash 2.sh就可以不需要给执行权限直接执行。

sucker的博客 1757

【SHELL】 Linux SHELL 脚本语法及使用参考

Linux下的SHELL脚本常以 *.sh 为后缀,和Windows下的批处理脚本 *.bat *.cmd功能一致,但是功能和语法都要更强大。SHELL是一门脚本语言。本文介绍SHELL的语法及用法。 1. 开始使用 在Linux下新建一个文本文件,命名为test.sh,并输入以下内容: #!/bin/sh echo hello,world 【注】 - 第1行是必须的,用以表示本...

阿发你好 5885

Linux 如何更改默认 Shell

以下面的例子为例,我们首先查看用户 tecmint 的账户信息,了解他的默认登录Shell,然后将他的登录Shell从 /bin/sh 更改为 /bin/bash,操作步骤如下。在这种情况下,你可以将Shell包装指定为用户的登录Shell。在更改用户默认Shell之前,重要的是先通过执行下面的 echo 命令来确定当前正在使用的Shell,这个命令会显示出当前登录用户的Shell。要将 shell 字段的值更改为所需的 shell,只需指定 shell 的路径 (/bin/zsh),如图所示。

冷冻工厂 2379
上一篇: 手把手带你学习Linux——NGINX
下一篇: Linux Shell系列学习(2)
初雪之路
博客等级 码龄14年 21粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值