关于shell

写这篇文章的原因有二,一是因为接触CTF的二进制类型题目后,经常会听到个词叫“getshell”,意为“获取shell”;二是前一段时间,在区块链的课程实验中,用go语言实现raft算法(解决分布式一致性问题的一个算法),在运行测试脚本的时候,我照常用命令“sh ./run.sh”来运行脚本,结果是报错,搞得我一头雾水,于是我决定好好学习一下这个Linux中的shell脚本。

什么是shell

shell是一个复杂的交互式程序,基本上用户一登录进终端,它就在运行了。它为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径,它允许你输入文本命令,然后解释命令,并在内核中执行。
在图形化桌面出现之前,与Unix系统进行交互的唯一方式就是借助由shell提供的文本命令行界面(command line interface,CLI)。CLI只能接受文本输入,也只能显示出文本和基本的图形输出。现在都是通过图形化的终端(Terminal)访问CLI。下图是deepin的终端,还是比较美观的。
deepin的图形化终端
Linux上可用的shell其实有好几种,不同shell有不同的特性。执行“cat /etc/shells”可查看系统支持的shell,Linux中其它常见shell还有ash、korn、tcsh和zsh等。下图所列全都是shell程序的绝对路径。大多数发行版Linux系统默认的shell是bash shell:
shell

shell脚本

将多个shell命令放入文件中作为程序执行,这些文件被称作shell脚本。通常shell脚本的第一行内容是“#!/bin/bash"或者"#!/bin/sh"或者其它,意思就是指定运行该脚本的shell程序。
shell脚本

getshell

这下终于明白些了,getshell其实就是运行系统的shell程序,从而可以执行程序或访问文件。

"./xxx.sh"与"sh xxx.sh"的区别

用"sh xxx.sh"其实就相当于用"/bin/sh"程序执行shell脚本,由于与bash shell语法的差异,理所当然就会报错。使用"./xxx.sh"来执行脚本,其实就是在用脚本文件中第一行指定的shell来执行脚本,也就可以顺利执行了。

  • 2
    点赞
  • 4
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p style="background: white;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">人脸口罩佩戴检测<span lang="EN-US">(</span>识别<span lang="EN-US">)</span>是当前急需的应用,而<span lang="EN-US">YOLOv5</span>是目前流行的强悍的目标检测技术。本课程使用<span lang="EN-US">YOLOv5</span>实现人脸口罩佩戴的实时检测。课程提供超万张已标注人脸口罩数据集。训练后的<span lang="EN-US">YOLOv5</span>可对真实场景下人脸口罩佩戴进行高精度实时检测。</span></p> <p style="background: white;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">本课程会讲述本项目超万张人脸口罩数据集的制作方法,包括使用<span lang="EN-US">labelImg</span>和“精灵标注助手”标注工具以及使用<span lang="EN-US">Python</span>代码对第三方数据集进行清洗。</span></p> <p style="background: white;"><span style="font-size: 10.5pt; font-family: '微软雅黑',sans-serif; mso-bidi-font-family: Arial; color: black; mso-themecolor: text1;">本课程的<span lang="EN-US">YOLOv5</span>使用<span lang="EN-US">PyTorch</span>版的<span lang="EN-US">ultralytics/yolov5</span>,分别在<span lang="EN-US">Windows</span>和<span lang="EN-US">Ubuntu</span>系统上做人脸口罩佩戴检测的项目演示。具体项目过程包括:安装<span lang="EN-US">YOLOv5</span>、训练集和测试集自动划分、修改配置文件、准备<span lang="EN-US">Weights&Biases(wandb)</span>训练可视化工具、训练网络模型、测试训练出的网络模型和性能统计。</span></p> <p><img src="https://img-bss.csdnimg.cn/202105171502238347.jpg" alt="口罩数据集" /></p> <p><img src="https://img-bss.csdnimg.cn/202105171502526495.jpg" alt="图片检测效果" /></p> <p><img src="https://img-bss.csdnimg.cn/202105171503171409.jpg" alt="训练可视化" /></p> <p><img src="https://img-bss.csdnimg.cn/202105171503402341.jpg" alt="" /></p>
<p><span style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 16px; background-color: #ffffff;">详细介绍了OpenVINO整体架构、基本组件、核心组件DLDT与IE的使用,OpenVINO对模型加速执行推断的开发流程与步骤、相关SDK API函数如何在C++与Python环境下进行API调用,如何使用预训练模型快速开发图像分类、对象检测、语义分割、实例分割、车牌识别、行人检测、场景文字检测与识别、YOLOv5模型部署加速与推理、表情识别与landmark提取等高实时视频分析程序,使用模型优化器进行模型压缩转换与优化等OpenVINO核心技术演示与代码教学。一步一步教你构建CPU级别可实时的深度学习模型应用程序。部分演示程序截图如下(</span><strong style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 16px; background-color: #ffffff;">均基于CPU达到实时帧率,基于OpenVINO2021.02版本录制</strong><span style="color: #333333; font-family: 'Hiragino Sans GB', 'Microsoft Yahei', arial, 宋体, 'Helvetica Neue', Helvetica, STHeiTi, sans-serif; font-size: 16px; background-color: #ffffff;">):</span></p> <p><span style="color: #424242; background-color: #ffffff;"><img src="https://img-bss.csdn.net/201911090640507040.png" alt="" /><br /></span></p>
<p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">ClickHouse是一个用于OLAP的数据分析引擎,由俄罗斯搜索巨头Yandex公司开源。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">1、可支持PB级超大容量的数据库管理系统。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">2、基于SQL语句, 使用成本低。 </p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">3、超亿级数据量分析的秒级响应,计算性能横向扩展。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">4、海量数据即查即用。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">5、提供数据的预聚合能力,进一步提升数据查询的效率。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">6、列式存储, 数据压缩,降低磁盘IO和网络IO,提升计算性能,节约70%物理存储。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">7、支持副本, 实现跨机房的数据容灾。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;"><br style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px;" />课程基于ClickHouse的**的20.x版本,从理论到实践,由浅入深详解ClickHouse的原理和使用。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">1. 本课程从零开始,有Linux操作系统和SQL使用经验即可。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">2. 课程以案例驱动,包含大量的实践案例。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">3. 将ClickHouse与MySQL、Kafka、HDFS等第三方系统集成,增强ClickHouse的功能。</p> <p style="font-family: tahoma, 微软雅黑, arial, 宋体; margin: 0px; padding: 0px; box-sizing: border-box; border: 0px; outline: 0px; font-size: 14px; vertical-align: baseline; background: #ffffff; list-style-type: none; color: #333333; word-spacing: 1px;">4. 课程覆盖面广,既有基础功能的详细讲解, 也包含了集群部署、查询优化、运维管理等高级内容。</p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值