当前位置: 首页 > news >正文

Linux学习笔记--高级

Shell概述

1,shell概述

是一个c语言编写的脚本语言,是linux和用户的桥梁,用户输入命令交给shell处理。shell,将相应的操作传递给内核(kernel),内核把处理的结果输出给用户

1.1Shell解释器有哪些?

(1)sh:全称是Bourne shell,由AT&T公司的Steve Bourne开发,为了纪念 他,就用他的名字命名了。 sh是UNIX上的标准shell,很多 UNIX版本都配有sh。sh是第一个流行的Shell。
(2)csh: 全称是C shell,它是sh之后另一个广为流传的shell是由柏克莱大学的 Bill Joy设计的。 这个shell的语法有点类似C语言,所以才得名为C shell ,简称为csh。
(3)Bash:全称是bash shell,它是Linux的默认shell。由GNU组织开发,是各种 Linux发行版默认配置的shell。 bash兼容了sh,针对sh编写的Shell代码可以不加修改地在bash中运行。

注意:目前,在Linux系统中,默认的shell程序是bash shell。

2.Shell开发

Shell程序文件通常以.sh结尾。类似于Kettle的Mac OS启动执行的文件
语法:sh ./spoon.sh

2.1开发步骤

(1)新建一个.sh文件
(2)在.sh文件中编写程序代码
(3)给.sh文件添加可执行权限x
(4)执行程序

例如:
①touch a.sh
②vim ./a.sh
③chmod u+x a.sh
④sh .ash或者./a.sh或者绝对路径下输出a.sh

3.变量

shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个字符串。
虽然变量可以直接存储一个字符串,但仍然建议把值使用双引号表示,即"内容值"。

3.1定义变量

①定义变量名语法:变量名=变量值
(变量名一定要记得全大写)
注意规则:
1)变量名可以由字母、数字和下划线组成,但是不能以数字开头, 不能使用关键字;
2)在bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须使用特殊 命令;
3)变量用等号"=“连接值,”=“左右两侧不能有空格; 4)变量值中如果有空格,则需要使用单引号或双引号包含,如test=“hello world!”;
5)在变量值中,可以使用”"转义符。

②访问变量的语法: 变量名或 变量名 或 变量名或{变量名}
建议提取变量时,推荐使用{ }标识变量的边界范围。
③删除变量
删除变量的语法:unset 变量名
只读变量无法通过这个删除,需要下载专门的删除工具
④定义只读变量
readonly 变量名
readonly 变量名=变量值
Shell程序

#!/bin/bash 
# 定义变量name="Jerry" # 访问变量 echo $name gender=male echo ${gender}

4,环境变量(environment variable)

环境变量是操作系统(Windows、Linux、Mac)在运行时,记录的一些关键信息,
用以辅助系统运行。
当shell程序启动时,都自动设置了一组变量,这组变量就是环境变量。在Linux中查
看环境变量命令:env

4.1环境变量设置的两种方式

1,临时设置
语法:

export 变量名=变量值

2,永久生效设置
①仅针对当前用户生效,配置在当前用户的:

~/.bashrc文件中

②针对所有用户生效,配置在系统的:
/etc/profile文件中
若要让环境变量立刻生效,可以进行重新登录账号。也可以通过语法:

source 配置文件

过程例如:

步骤①使用vim /etc/profile进入到配置文件中
②将要配置的变量放入文件中
③source /etc/profile刷新配置文件

设置环境变量的作用,为了能够在任何目录下执行

特殊变量

特殊变量,指的是:在执行Shell脚本时,向脚本传递参数,这时可以使用特殊变量来获取参数值。
在执行Shell程序脚本时,可以向shell脚本动态传递参数。
这样做的好处是某些配置属性不用写死在脚本中。动态传递参数的语法:
sh shell脚本文件 参数1 参数2…………

解释:Shell常用的特殊变量有:
$0:当前程序的名称(shell文件名称)
$n:$1表示第一个参数,$2表示第二个参数,依次类推
$#:命令行参数的个数
$*:以参数1,参数2……形式保存所有参数

定义Shell文件:

#!/bin/bash 
echo "程序脚本文件名:"$0 
echo "参数1:"$1 
echo "参数2:"$2 
echo "个数:"$# 
echo "参数列表:"$*

执行的shell脚本文件为sh ./04_special_value.sh 100 22 308 4090
可以根据脚本文件的内容输出内容

Shell脚本执行方式

(1)shell命令倾向于在Linux命令行中使用,适合简单逻辑场景;
(2)shell脚本倾向于在文件中编写,适合复杂的逻辑处理场景。[if、while等]
(1)sh执行 ,sh 脚本程序名
(2)相对路径执行,./脚本程序名
(3)绝对路径执行,/绝对路径/脚本程序名
在这里插入图片描述

相关文章:

Linux学习笔记--高级

Shell概述 1,shell概述 是一个c语言编写的脚本语言,是linux和用户的桥梁,用户输入命令交给shell处理。shell,将相应的操作传递给内核(kernel),内核把处理的结果输出给用户 1.1Shell解释器有哪…...

在Java中操作Redis

Redis中如何的去存放一个Java对象? 直接存放Json类型即可,因为我们Json类型最终就是一个String类型。 Redis的Java客户端 Redis的常用命令是我们操作Redis的基础,那么我们在Java程序当中如何来操作Redis呢? 要想基于Java语言…...

【服务器】fiber协程模块

fiber协程模块 以下是从sylar服务器中学的,对其的复习; sylar的fiber协程模块是基于ucontext_t实现非对称协程 函数只有两个行为:调用与返回。一旦函数返回后,它在栈上所拥有的状态将被销毁。协程相比函数多了两个动作&#xf…...

SparkML

SparkML SparkML_lr_train :读取py处理后的train表用于训练,将训练模型保存好。 SparkML_lr_predict :读取训练好的模型,读取py处理后的test表用于预测。将预测结果写入normal_data中,根据id修改stream_is_normal的值。…...

实时定位与路径优化:跑腿App系统开发中的地理信息技术

本文将介绍如何使用地理信息技术实现实时定位和路径优化功能,以提高跑腿服务的效率。 实时定位 用户位置获取 # 示例:获取用户的实时位置 def get_user_location(user_id):# 使用GPS或网络定位技术获取用户的地理坐标# 返回经度和纬度信息return lon…...

Tomcat的HTTP Connector

https://tomcat.apache.org/tomcat-10.1-doc/config/http.html 一个Connector代表一个接收请求、返回响应的端点(endpoint)。 HTTP Connector 元素代表一个支持HTTP/1.1的Connector组件。一个这样的组件在服务端一个指定的TCP端口上监听连接。一个Serv…...

将Pytorch搭建的ViT模型转为onnx模型

本文尝试将pytorch搭建的ViT模型转为onnx模型。 首先将博主上一篇文章中搭建的模型ViT Vision Transformer超详细解析,网络构建,可视化,数据预处理,全流程实例教程-CSDN博客转存为.pth torch.save(model, my_vit_model.pth) 然…...

图神经网络(GNN)性能优化方案汇总,附37个配套算法模型和代码

图神经网络的表达能力对其性能和应用范围有着重要的影响,是GNN研究的核心问题和发展方向。增强表达能力是扩展GNN应用范围、提高性能的关键所在。 目前GNN的表达能力受特征表示和拓扑结构这两个因素的影响,其中GNN在学习和保持图拓扑方面的缺陷是限制表…...

国科大移动互联网考试资料(2023+2020+2018真题+答案)

老师王文杰。真题附加2022部分...

ModStart系统安全规范建议

1 不要使用弱密码 很多人为了系统管理方便(或者是懒),经常会设置类似 123456、admin 这样的管理密码,这样的密码很容易被暴力软件扫描出来。 2 不要使用默认配置 默认的软件系统设置、默认的系统端口、默认的网站设置在发生漏洞…...

【漏洞复现】Django_debug page_XSS漏洞(CVE-2017-12794)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2017-12794漏洞名称Django_debug page_XSS漏洞漏洞评级影响范…...

Redis性能调优:深度剖析与示例解析

标题:Redis性能调优:深度剖析与示例解析 引言 Redis是一款强大的开源内存数据库,广泛应用于高性能系统。然而,为了充分发挥Redis的性能,需要进行合理的性能调优。本博客将深入介绍Redis性能调优的策略和示例&#xf…...

oracle查询前几条数据的方法

在Oralce中实现select top N&#xff1a;由于Oracle不支持select top 语句&#xff0c;所以在oracle中经常是用order by 跟rownum的组合来实现select top n的查询。 方法1&#xff1a; SELECT * FROM (SELECT * FROM EMP ORDER BY SAL DESC) WHERE ROWNUM < 5 --抽取处记录…...

c#弹性和瞬态故障处理库Polly

1. 重试&#xff08;Retry&#xff09; Policy .Handle<Exception>() //指定需要重试的异常类型 .Retry(2,(ex,count,context)> { //指定发生异常重试的次数Console.WriteLine($ "重试次数{count},异常{ex.Message}" ); }) …...

20231107-前端学习炫酷菜单效果和折叠侧边栏

炫酷菜单效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>炫酷菜单效果</title><…...

基于CLIP的图像分类、语义分割和目标检测

OpenAI CLIP模型是一个创造性的突破&#xff1b; 它以与文本相同的方式处理图像。 令人惊讶的是&#xff0c;如果进行大规模训练&#xff0c;效果非常好。 在线工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D…...

python爬虫(数据获取——selenium)

环境测试 from selenium import webdriverchromedriver_path r"C:\Program Files\Google\Chrome\Application\chromedriver.exe" driver webdriver.Chrome()url "https://www.xinpianchang.com/discover/article?fromnavigator" driver.get(url)drive…...

[wp]NewStarCTF 2023 WEEK5|WEB

前言:比赛是结束了&#xff0c;但我的学习还未结束&#xff0c;看看自己能复习几道题吧&#xff0c;第四周实在太难 Final 考点&#xff1a; ThinkPHP 5.0.23 RCE一句话木马上传SUID提权&#xff08;find&#xff09; 解题: 首先页面就给了ThinkPHP V5&#xff0c; 那无非考…...

未将对象引用设置到对象实例

环境 vs 2017 qt 5.13.0 qt-vs-addin 2.10 qt 项目打开的vs 2010 的项目 配置完成之后可以编译执行&#xff0c;但是新建qt 类提示 未将对象引用设置到对象实例 问题 插件的版本太高了使用低版本的&#xff0c;到qt 官网下载Index of /official_releases/vsaddin 下载q…...

网络的地址簿:Linux DNS服务的全面指南

1 dns 1.1 dns&#xff08;域名解析服务&#xff09;介绍 当访问 www.baidu.com 首先查询/etc/hosts&#xff0c;如果没有再去查询/etc/resolv.conf&#xff0c;还是没有就去查询域名服务器 关于客户端: /etc/resolv.conf ##dns指向文件 nameserver 172.25.254.20测试&…...

输电线路AR可视化巡检降低作业风险

随着现代工业的快速发展&#xff0c;各行业的一线技术工人要处理的问题越来越复杂&#xff0c;一些工作中棘手的问题迫切需要远端专家的协同处理。但远端专家赶来现场往往面临着专家差旅成本高、设备停机损失大、专业支持滞后、突发故障无法立即解决等痛点。传统的远程协助似乎…...

18. 四数之和

18. 四数之和 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;错误经验吸取 原题链接&#xff1a; 18. 四数之和 https://leetcode.cn/problems/4sum/description/ 完成情况&#xff1a; 解题思路&#xff1a; /** * //HashMap只能记录…...

排序:堆排序(未完待续)

文章目录 排序一、 排序的概念1.排序&#xff1a;2.稳定性&#xff1a;3.内部排序&#xff1a;4.外部排序&#xff1a; 二、插入排序1.直接插入排序 二、插入排序堆排序 排序 一、 排序的概念 1.排序&#xff1a; 一组数据按递增/递减排序 2.稳定性&#xff1a; 待排序的序列…...

小米智能电视投屏方法

小米智能电视也提供了投屏功能。 使用遥控器&#xff0c;在应用中找到它&#xff0c;点击进入。 小米电视支持windows笔记本&#xff0c;macbook笔记本&#xff0c;iphone手机&#xff0c;安卓手机投屏。 windows笔记本投屏 在投屏应用中找到windows投屏&#xff0c;选中开…...

保外就医罪犯收到指定医院《罪犯病情诊断书》及检测、检查报告等其他医疗文书后,应当在规定时限内提交( ),或者受委托司法所审查。

需要查看详细试题题库及其参考答案的&#xff0c;请到&#xff08;题-海-舟&#xff09;里进行搜索查看。可搜试题题干或者搜索关键词&#xff0c;搜题的时候&#xff0c;先进行题目识别&#xff0c;能大大提高学习效率&#xff0c;感谢使用&#xff01; 保外就医罪犯收到指定…...

pytorh模型训练、测试

目录 1 导入数据集 2 使用tensorboard展示经过各个层的图片数据 3 完整的模型训练测试流程 使用Gpu训练的两种方式 使用tensorboard显示模型 模型训练测试 L1Loss函数 保存未训练模型或者已经训练完的模型 4 加载训练好的模型进行测试 1 导入数据集 import torch from torch.u…...

MySQL 8.0 Clone Plugin 详解

文章目录 前言1. 克隆插件安装2. 克隆插件的使用2.1 本地克隆2.2 远程克隆 3. 克隆任务监控4. 克隆插件实现4.1 Init 阶段4.2 File Copy4.3 Page Copy4.4 Redo Copy4.5 Done 5. 克隆插件的限制6. 克隆插件与 Xtrabackup 的异同7. 克隆插件相关参数 后记 前言 克隆插件&#xf…...

掌握未来技术趋势:深度学习与量子计算的融合

掌握未来技术趋势&#xff1a;深度学习与量子计算的融合 摘要&#xff1a;本博客将探讨深度学习与量子计算融合的未来趋势&#xff0c;分析这两大技术领域结合带来的潜力和挑战。通过具体案例和技术细节&#xff0c;我们将一睹这两大技术在人工智能、药物研发和金融科技等领域…...

京东数据分析:2023年9月京东笔记本电脑行业品牌销售排行榜

鲸参谋监测的京东平台9月份笔记本电脑市场销售数据已出炉&#xff01; 9月份&#xff0c;笔记本电脑市场整体销售下滑。鲸参谋数据显示&#xff0c;今年9月份&#xff0c;京东平台上笔记本电脑的销量将近59万&#xff0c;环比下滑约21%&#xff0c;同比下滑约40%&#xff1b;销…...

3 任务3 使用趋动云部署自己的stable-diffusion

使用趋动云部署自己的stable-diffusion 1 创建项目&#xff1a;2 初始化开发环境实例3 部署模型4 模型测试 1 创建项目&#xff1a; 1.进入趋动云用户工作台&#xff0c;选择&#xff1a;当前空间&#xff0c;请确保当前所在空间是注册时系统自动生成的空间。 a.非系统自动生成…...